韩国漫画
https://hanmm.org
天天的鸟蛋 (2333)02/20 13:39
by天天的鸟蛋蛋 2025/2/20 感谢 提供正文解密 河鹅和 另一个书友圈
{ "bookSourceComment": "by天天的鸟蛋蛋 2025\/2\/20\n感谢 提供正文解密 河鹅和 另一个书友圈", "bookSourceGroup": "韩漫", "bookSourceName": "韩国漫画", "bookSourceType": 2, "bookSourceUrl": "https:\/\/hanmm.org", "customOrder": 0, "enabled": true, "enabledCookieJar": false, "enabledExplore": true, "exploreUrl": "", "jsLib": "function toDataUrl(key) {\n\treturn `data:image\/.jpg#;base64,${this.java.base64Encode(key)},{'type':'jpg'}`\n}\nvar Magua = new JavaImporter();\nMagua.importPackage(\n\tPackages.java.io,\n\tPackages.android.graphics\n);\nwith(Magua) {\n\tfunction decodeImg(picBytes, restoreOrder) {\n\t\tvar img = BitmapFactory.decodeByteArray(picBytes, 0, picBytes.length);\n\t\tvar imageHeight = img.getHeight();\n\t\tvar imageWidth = img.getWidth();\n\t\tvar newImg = Bitmap.createBitmap(imageWidth, imageHeight, Bitmap.Config.ARGB_8888);\n\t\tlet canvas = new Canvas(newImg);\n\t\tconst keys = Object.keys(restoreOrder);\n\t\tconst num = keys.length;\n\t\tlet blockWidth, blockHeight, extraPixels;\n\t\tif (num % 2 === 0) {\n\t\t\tblockWidth = Math.floor(imageWidth \/ num);\n\t\t\textraPixels = imageWidth % num;\n\t\t} else {\n\t\t\tblockHeight = Math.floor(imageHeight \/ num);\n\t\t\textraPixels = imageHeight % num;\n\t\t}\n\t\tconst blocks = [];\n\t\tlet startX = 0;\n\t\tlet startY = 0;\n\n\t\tkeys.forEach((key, index) => {\n\t\t\tconst originalPosition = restoreOrder[key];\n\t\t\tif (originalPosition >= 0 && originalPosition < num) {\n\t\t\t\tif (num % 2 === 0) {\n\t\t\t\t\tconst currentBlockWidth = blockWidth + (originalPosition < extraPixels ? 1 : 0);\n\t\t\t\t\tblocks[originalPosition] = Bitmap.createBitmap(img, startX, 0, currentBlockWidth, imageHeight);\n\t\t\t\t\tstartX += currentBlockWidth;\n\t\t\t\t} else {\n\t\t\t\t\tconst currentBlockHeight = blockHeight + (originalPosition < extraPixels ? 1 : 0);\n\t\t\t\t\tblocks[originalPosition] = Bitmap.createBitmap(img, 0, startY, imageWidth, currentBlockHeight);;\n\t\t\t\t\tstartY += currentBlockHeight;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.java.log(`Invalid originalPosition: ${originalPosition}`);\n\t\t\t}\n\t\t});\n\t\tstartX = 0;\n\t\tstartY = 0;\n\t\tObject.keys(blocks)\n\t\t\t.sort((a, b) => a - b)\n\t\t\t.forEach(key => {\n\t\t\t\tconst block = blocks[key];\n\t\t\t\tif (num % 2 === 0) {\n\t\t\t\t\tconst currentBlockWidth = block.getWidth();\n\t\t\t\t\tcanvas.drawBitmap(block, startX, 0, null);\n\t\t\t\t\tstartX += currentBlockWidth;\n\t\t\t\t} else {\n\t\t\t\t\tconst currentBlockHeight = block.getHeight();\n\t\t\t\t\tcanvas.drawBitmap(block, 0, startY, null);\n\t\t\t\t\tstartY += currentBlockHeight;\n\t\t\t\t}\n\t\t\t});\n\t\tvar newbit = new ByteArrayOutputStream();\n\t\tnewImg.compress(Bitmap.CompressFormat.PNG, 100, newbit);\n\t\treturn newbit.toByteArray()\n\t}\n}", "lastUpdateTime": "1740029949608", "respondTime": 180000, "ruleBookInfo": { "author": "i > a@text", "coverUrl": "", "intro": "标签:{{@@p > span@text##\\s##,}}\n简介:{{@@.intro > p@text}}", "kind": "p:nth-child(4) > a@text", "lastChapter": ".to100 > a@text", "name": "h1@text" }, "ruleContent": { "content": "@js:\neval(\"data=\"+src.match(\/data:\\s*(\\{[^\\}]+\\})\/)[1])\nbody=Object.keys(data).map(key => `${key}=${data[key]}`) .join('&');\njava.log(body)\nresult=java.ajax(`https:\/\/hanmm.org\/api\/reader_js.php,{\"body\": \"${body}\",\"method\": \"POST\"}`)\ndata=JSON.parse(result)\nimageList = data.data.image_list\nimageList.sort((a, b) => a.order - b.order)\nimageList.map(img=>{\n\treturn `<img src=\"${toDataUrl(JSON.stringify(img))}\">`\n}).join(\"\\n\")", "imageDecode": "json=java.bytesToStr(result)\njava.log(json)\nimg=JSON.parse(json)\nresult=java.hexDecodeToByteArray(java.ajax(`${img.pic},{\"type\": \"jpg\",\"headers\": {\"Referer\": \"https:\/\/hanmm.org\/\"}}`))\nif (img.arr==\"\"){\n\tresult\n}else{\tarr=JSON.parse(java.base64Decode(img.arr))\n\tresult=decodeImg(result,arr)\n}\nresult", "imageStyle": "FULL" }, "ruleExplore": {}, "ruleSearch": { "author": "p:nth-child(2) > a@text", "bookList": ".searchresult:nth-child(n+1)", "bookUrl": "a.0@href", "checkKeyWord": "", "coverUrl": "img@data-original", "intro": "{{@@p:nth-child(2)@text}}{{@@.searchresult_p@text}}{{@@}}", "kind": ".img_span span@text##\\\/##,", "lastChapter": "p:nth-child(4) > a@text", "name": "h3@text" }, "ruleToc": { "chapterList": ".chapter_list ul li a", "chapterName": "text", "chapterUrl": "href" }, "searchUrl": "\/search,{\n \"body\": \"searchkey={{key}}&searchtype=all\",\n \"method\": \"POST\"\n}", "weight": 0 }