From be33cca8d960568da43d7d1c46f241f2a0b2d648 Mon Sep 17 00:00:00 2001 From: sijiyo <56878076+sijiyo@users.noreply.github.com> Date: Wed, 30 Aug 2023 19:03:00 +0800 Subject: [PATCH] Add files via upload --- jd_slide/img/bg.png | Bin 0 -> 8800 bytes jd_slide/img/slider.png | Bin 0 -> 726 bytes jd_slide/jd.js | 1244 +++++++++++++++++++++++++++++++++++++++ jd_slide/main.py | 69 +++ 4 files changed, 1313 insertions(+) create mode 100644 jd_slide/img/bg.png create mode 100644 jd_slide/img/slider.png create mode 100644 jd_slide/jd.js create mode 100644 jd_slide/main.py diff --git a/jd_slide/img/bg.png b/jd_slide/img/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..996a51d5d83102805c2aa874ec97aff6e91541ce GIT binary patch literal 8800 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 literal 0 HcmV?d00001 diff --git a/jd_slide/img/slider.png b/jd_slide/img/slider.png new file mode 100644 index 0000000000000000000000000000000000000000..661ebaff21b1c70c2b4f78b39ad8a383d6b88af0 GIT binary patch literal 726 zcmV;{0xA88P)6*GqWDgHI85~*gTzj%?A1{ z772%J;T+e(;qU{G?nfXHXdM}hG6JcjZP@Ax@tg;m7>cpYl_WbTzGufjmTlo2*Km*9 z!AC2IP$(4R!L2R5WheV9Wd$2<4_{p}(awV^d`MM<;DYUy%(ScKxFeH^a+$%ilu=Ls zEeK+Cct9G03%(9ai^^t|L=aoKG1nmQb(&XFWhXyG5C_FM*C6n9I{l%_rgerOFub}2 zfv?lF&Tb^gnTfc_#AfT)_oZrp2#GS6kbT=i51x4!cMZXXXUM>~0=aIG)sz7-AO^&M z7!U)Z48-0zh+1r#X5X*dlUjgKnR0sNH&1$MSytV@D%(V<@?eD4+=aE25|B!z3@rt^ zO2QCjEks85NM17Bhlhw#j< zV~K)Hq-AO?)kWh@Ub6Z<* 0 ? "1" : "0") + } + a += prefixInteger(e, c); + return a +} +function prefixInteger(a, b) { + return (Array(b).join(0) + a).slice(-b) +} +function string10to64(d) { + var c = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-~".split("") + , b = c.length + , e = +d + , a = []; + do { + mod = e % b; + e = (e - mod) / b; + a.unshift(c[mod]) + } while (e); + return a.join("") +} +function generate_trace(w) { + let index = 0, slide = []; + let indexTime = (new Date().getTime().toString()).substr(0, 9); + for (let item of base_slide) { + index++ + item[2] = Number(indexTime + (item[2]).toString().substr(-4)) + console.log(item[2]) + if (item[0] >= (w + Number(base_slide[0][0]))) { + slide = base_slide.slice(0, index) + slide.push([(w + Number(base_slide[0][0])).toString(), item[1], item[2] + 700 + Math.ceil(Math.random() * 1000)]) + break; + } + } + let last = Number(slide[slide.length - 1][0]) + let pIndex = 0; + for (let item of sway_slide) { + let times; + if (pIndex === 0 || pIndex === sway_slide.length - 1) { + times = slide[slide.length - 1][2] + } else { + times = slide[slide.length - 1][2] + (sway_slide[pIndex + 1][2] - sway_slide[pIndex][2]) + } + slide.push([ + (item[0] + last).toString(), + '367', + times + ]); + pIndex++; + } + return getCoordinate(slide); +} +// 初始化滑动轨迹 +let base_slide = [ + [ + "944", + "341", + 1637921521380 + ], + [ + "967", + "369", + 1637921521380 + ], + [ + "967", + "369", + 1637921521382 + ], + [ + "968", + "369", + 1637921521481 + ], + [ + "968", + "369", + 1637921521497 + ], + [ + "969", + "369", + 1637921521505 + ], + [ + "970", + "369", + 1637921521521 + ], + [ + "971", + "369", + 1637921521537 + ], + [ + "972", + "369", + 1637921521545 + ], + [ + "973", + "369", + 1637921521561 + ], + [ + "974", + "369", + 1637921521569 + ], + [ + "976", + "369", + 1637921521577 + ], + [ + "976", + "369", + 1637921521585 + ], + [ + "978", + "369", + 1637921521593 + ], + [ + "979", + "369", + 1637921521601 + ], + [ + "980", + "369", + 1637921521609 + ], + [ + "981", + "369", + 1637921521617 + ], + [ + "982", + "369", + 1637921521625 + ], + [ + "984", + "369", + 1637921521633 + ], + [ + "985", + "369", + 1637921521641 + ], + [ + "987", + "369", + 1637921521657 + ], + [ + "988", + "369", + 1637921521665 + ], + [ + "990", + "369", + 1637921521673 + ], + [ + "991", + "369", + 1637921521681 + ], + [ + "992", + "369", + 1637921521689 + ], + [ + "993", + "369", + 1637921521697 + ], + [ + "995", + "369", + 1637921521705 + ], + [ + "996", + "369", + 1637921521713 + ], + [ + "999", + "369", + 1637921521721 + ], + [ + "1002", + "369", + 1637921521729 + ], + [ + "1004", + "369", + 1637921521737 + ], + [ + "1006", + "369", + 1637921521745 + ], + [ + "1008", + "369", + 1637921521753 + ], + [ + "1009", + "369", + 1637921521761 + ], + [ + "1012", + "369", + 1637921521769 + ], + [ + "1013", + "369", + 1637921521777 + ], + [ + "1015", + "369", + 1637921521785 + ], + [ + "1016", + "369", + 1637921521793 + ], + [ + "1018", + "369", + 1637921521801 + ], + [ + "1020", + "369", + 1637921521809 + ], + [ + "1022", + "369", + 1637921521817 + ], + [ + "1023", + "369", + 1637921521825 + ], + [ + "1026", + "369", + 1637921521833 + ], + [ + "1028", + "369", + 1637921521841 + ], + [ + "1030", + "369", + 1637921521849 + ], + [ + "1032", + "369", + 1637921521857 + ], + [ + "1036", + "369", + 1637921521865 + ], + [ + "1036", + "369", + 1637921521873 + ], + [ + "1040", + "369", + 1637921521881 + ], + [ + "1041", + "369", + 1637921521890 + ], + [ + "1044", + "369", + 1637921521897 + ], + [ + "1046", + "369", + 1637921521905 + ], + [ + "1048", + "369", + 1637921521914 + ], + [ + "1051", + "369", + 1637921521921 + ], + [ + "1052", + "369", + 1637921521930 + ], + [ + "1054", + "369", + 1637921521937 + ], + [ + "1055", + "369", + 1637921521945 + ], + [ + "1057", + "369", + 1637921521953 + ], + [ + "1059", + "369", + 1637921521961 + ], + [ + "1060", + "369", + 1637921521969 + ], + [ + "1064", + "369", + 1637921521978 + ], + [ + "1065", + "369", + 1637921521985 + ], + [ + "1067", + "369", + 1637921521993 + ], + [ + "1069", + "369", + 1637921522001 + ], + [ + "1072", + "369", + 1637921522009 + ], + [ + "1072", + "369", + 1637921522017 + ], + [ + "1076", + "369", + 1637921522025 + ], + [ + "1078", + "369", + 1637921522033 + ], + [ + "1079", + "369", + 1637921522041 + ], + [ + "1082", + "369", + 1637921522049 + ], + [ + "1084", + "369", + 1637921522057 + ], + [ + "1087", + "369", + 1637921522065 + ], + [ + "1089", + "369", + 1637921522073 + ], + [ + "1092", + "369", + 1637921522081 + ], + [ + "1095", + "369", + 1637921522089 + ], + [ + "1097", + "369", + 1637921522097 + ], + [ + "1100", + "369", + 1637921522105 + ], + [ + "1104", + "369", + 1637921522113 + ], + [ + "1104", + "369", + 1637921522121 + ], + [ + "1108", + "369", + 1637921522129 + ], + [ + "1109", + "369", + 1637921522137 + ], + [ + "1111", + "369", + 1637921522145 + ], + [ + "1114", + "369", + 1637921522153 + ], + [ + "1115", + "369", + 1637921522161 + ], + [ + "1116", + "369", + 1637921522169 + ], + [ + "1117", + "369", + 1637921522178 + ], + [ + "1119", + "369", + 1637921522185 + ], + [ + "1120", + "369", + 1637921522193 + ], + [ + "1121", + "369", + 1637921522201 + ], + [ + "1122", + "369", + 1637921522209 + ], + [ + "1124", + "369", + 1637921522217 + ], + [ + "1125", + "369", + 1637921522225 + ], + [ + "1126", + "369", + 1637921522233 + ], + [ + "1128", + "369", + 1637921522241 + ], + [ + "1128", + "369", + 1637921522249 + ], + [ + "1130", + "369", + 1637921522257 + ], + [ + "1131", + "369", + 1637921522265 + ], + [ + "1132", + "369", + 1637921522281 + ], + [ + "1134", + "369", + 1637921522289 + ], + [ + "1136", + "369", + 1637921522305 + ], + [ + "1138", + "369", + 1637921522321 + ], + [ + "1140", + "369", + 1637921522329 + ], + [ + "1141", + "369", + 1637921522337 + ], + [ + "1143", + "369", + 1637921522345 + ], + [ + "1144", + "369", + 1637921522353 + ], + [ + "1144", + "369", + 1637921522361 + ], + [ + "1146", + "369", + 1637921522369 + ], + [ + "1146", + "369", + 1637921522381 + ], + [ + "1147", + "369", + 1637921522385 + ], + [ + "1148", + "369", + 1637921522395 + ], + [ + "1148", + "369", + 1637921522401 + ], + [ + "1149", + "369", + 1637921522409 + ], + [ + "1150", + "369", + 1637921522417 + ], + [ + "1151", + "369", + 1637921522425 + ], + [ + "1152", + "369", + 1637921522433 + ], + [ + "1153", + "369", + 1637921522449 + ], + [ + "1155", + "369", + 1637921522457 + ], + [ + "1156", + "369", + 1637921522481 + ], + [ + "1156", + "369", + 1637921522513 + ], + [ + "1157", + "369", + 1637921522529 + ], + [ + "1158", + "369", + 1637921522537 + ], + [ + "1159", + "369", + 1637921522545 + ], + [ + "1160", + "369", + 1637921522561 + ], + [ + "1162", + "369", + 1637921522569 + ], + [ + "1164", + "369", + 1637921522609 + ], + [ + "1164", + "369", + 1637921522617 + ], + [ + "1165", + "369", + 1637921522633 + ], + [ + "1166", + "369", + 1637921522641 + ], + [ + "1167", + "369", + 1637921522649 + ], + [ + "1168", + "369", + 1637921522657 + ], + [ + "1170", + "369", + 1637921522665 + ], + [ + "1171", + "369", + 1637921522673 + ], + [ + "1172", + "369", + 1637921522681 + ], + [ + "1173", + "369", + 1637921522689 + ], + [ + "1174", + "369", + 1637921522697 + ], + [ + "1175", + "369", + 1637921522705 + ], + [ + "1176", + "369", + 1637921522753 + ], + [ + "1176", + "369", + 1637921522769 + ], + [ + "1177", + "369", + 1637921522777 + ], + [ + "1179", + "369", + 1637921522793 + ], + [ + "1180", + "369", + 1637921522809 + ], + [ + "1180", + "369", + 1637921522817 + ], + [ + "1181", + "369", + 1637921522825 + ], + [ + "1182", + "369", + 1637921522849 + ], + [ + "1183", + "369", + 1637921522873 + ], + [ + "1183", + "369", + 1637921522880 + ], + [ + "1184", + "369", + 1637921522897 + ], + [ + "1184", + "369", + 1637921522921 + ], + [ + "1185", + "369", + 1637921522945 + ], + [ + "1186", + "369", + 1637921522961 + ], + [ + "1188", + "369", + 1637921522985 + ], + [ + "1190", + "369", + 1637921522993 + ], + [ + "1192", + "369", + 1637921523001 + ], + [ + "1193", + "369", + 1637921523010 + ], + [ + "1196", + "369", + 1637921523017 + ], + [ + "1197", + "369", + 1637921523033 + ], + [ + "1199", + "369", + 1637921523049 + ], + [ + "1200", + "369", + 1637921523057 + ], + [ + "1200", + "369", + 1637921523065 + ], + [ + "1201", + "369", + 1637921523073 + ], + [ + "1202", + "369", + 1637921523081 + ], + [ + "1204", + "369", + 1637921523089 + ], + [ + "1204", + "369", + 1637921523097 + ], + [ + "1205", + "369", + 1637921523105 + ], + [ + "1207", + "369", + 1637921523113 + ], + [ + "1208", + "369", + 1637921523121 + ], + [ + "1208", + "369", + 1637921523145 + ], + [ + "1210", + "368", + 1637921523201 + ], + [ + "1211", + "368", + 1637921523249 + ], + [ + "1211", + "368", + 1637921523380 + ], + [ + "1211", + "368", + 1637921523481 + ] +] +// 晃动轨迹 +let sway_slide = [ //晃动 + [ + 0, + "160", + 1638111121463 + ], + [ + 1, + "160", + 1638111121467 + ], + [ + 2, + "160", + 1638111121486 + ], + [ + 3, + "160", + 1638111121498 + ], + [ + 3, + "159", + 1638111121499 + ], + [ + 4, + "159", + 1638111121511 + ], + [ + 4, + "159", + 1638111121520 + ], + [ + 5, + "159", + 1638111121523 + ], + [ + 6, + "159", + 1638111121532 + ], + [ + 7, + "159", + 1638111121538 + ], + [ + 8, + "159", + 1638111121547 + ], + [ + 8, + "159", + 1638111121551 + ], + [ + 9, + "159", + 1638111121555 + ], + [ + 9, + "158", + 1638111121558 + ], + [ + 10, + "158", + 1638111121564 + ], + [ + 11, + "158", + 1638111121570 + ], + [ + 11, + "157", + 1638111121572 + ], + [ + 12, + "157", + 1638111121589 + ], + [ + 12, + "157", + 1638111121644 + ], + [ + 13, + "157", + 1638111121677 + ], + [ + 14, + "157", + 1638111121714 + ], + [ + 14, + "157", + 1638111121715 + ], + [ + 15, + "157", + 1638111121719 + ], + [ + 16, + "157", + 1638111121732 + ], + [ + 16, + "156", + 1638111121735 + ], + [ + 16, + "156", + 1638111121737 + ], + [ + 17, + "156", + 1638111121741 + ], + [ + 17, + "155", + 1638111121745 + ], + [ + 18, + "155", + 1638111121758 + ], + [ + 19, + "155", + 1638111121765 + ], + [ + 20, + "155", + 1638111121782 + ], + [ + 19, + "155", + 1638111121903 + ], + [ + 18, + "155", + 1638111121916 + ], + [ + 17, + "155", + 1638111121925 + ], + [ + 16, + "155", + 1638111121931 + ], + [ + 16, + "155", + 1638111121939 + ], + [ + 15, + "155", + 1638111121947 + ], + [ + 14, + "155", + 1638111121953 + ], + [ + 13, + "155", + 1638111121970 + ], + [ + 12, + "155", + 1638111121975 + ], + [ + 12, + "155", + 1638111121983 + ], + [ + 12, + "156", + 1638111121994 + ], + [ + 11, + "156", + 1638111122009 + ], + [ + 10, + "156", + 1638111122013 + ], + [ + 9, + "157", + 1638111122039 + ], + [ + 8, + "157", + 1638111122053 + ], + [ + 8, + "157", + 1638111122059 + ], + [ + 7, + "157", + 1638111122074 + ], + [ + 7, + "157", + 1638111122078 + ], + [ + 6, + "157", + 1638111122079 + ], + [ + 5, + "157", + 1638111122092 + ], + [ + 4, + "157", + 1638111122123 + ], + [ + 4, + "158", + 1638111122128 + ], + [ + 4, + "158", + 1638111122165 + ], + [ + 3, + "158", + 1638111122240 + ], + [ + 2, + "158", + 1638111122255 + ], + [ + 2, + "159", + 1638111122298 + ], + [ + 1, + "159", + 1638111122337 + ], + [ + 0, + "159", + 1638111122438 + ], + [ + 0, + "160", + 1638111122444 + ], + [ + 0, + "160", + 1638111122489 + ], + [ + 0, + "160", + 1638111122858 + ] +] \ No newline at end of file diff --git a/jd_slide/main.py b/jd_slide/main.py new file mode 100644 index 0000000..46637b7 --- /dev/null +++ b/jd_slide/main.py @@ -0,0 +1,69 @@ +import requests,re,json,base64,ddddocr,execjs,time + +def get_image(): + url = 'https://iv.jd.com/slide/g.html' + params = { + 'appId':'1604ebb2287', + 'scene':'login', + 'product':'click-bind-suspend', + 'e':'QHIAPZR54JDJR3HFO24RNBFHOQ2GEJ5ANBMSD5NAD2X5RSIW5QRZUCQXXQTIKDH47BTS554AZOHML4LCG5ZDYXQVHY', + 'j':'', + 'lang':'zh_CN', + 'callback':'jsonp_029682545329833165', + } + header = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36' + } + res = requests.get(url, headers=header,params=params).text + object_code = re.compile(r"\((?P.*)\)", re.S) + data_code = json.loads(object_code.search(res).group('data_code')) + challenge = data_code['challenge'] + backgroundImage = data_code['bg'] + sliderImage = data_code['patch'] + with open('img/bg.png', mode='wb') as f: + f.write(base64.b64decode(backgroundImage)) + with open('img/slider.png', mode='wb') as f: + f.write(base64.b64decode(sliderImage)) + return challenge +def get_distance(): + ocr = ddddocr.DdddOcr(det=False,ocr=False,show_ad=False) + f1 = open('img/bg.png', 'rb') + f2 = open('img/slider.png', 'rb') + result = ocr.slide_match(f2.read(),f1.read(),simple_target=True) + distance = result['target'][0] + distance = int(distance * 278 / 360 + 23) + return distance +def get_main(): + challenge = get_image() + distance = get_distance() + time.sleep(4) + with open('jd.js', 'r', encoding='utf-8') as f: + js = execjs.compile(f.read()) + d = js.call('generate_trace', distance) + url = 'https://iv.jd.com/slide/s.html' + params = { + "d": d, + "c": challenge, + "w": "278", + "appId": "1604ebb2287", + "scene": "login", + "product": "click-bind-suspend", + "e": "QHIAPZR54JDJR3HFO24RNBFHOQ2GEJ5ANBMSD5NAD2X5RSIW5QRZUCQXXQTIKDH47BTS554AZOHML4LCG5ZDYXQVHY", + "j": "", + "s": "6170118232277969400", + "o": "13334445555", + "o1": "0", + "u": "https://passport.jd.com/uc/login?ReturnUrl=https%3A%2F%2Forder.jd.com%2Fcenter%2Flist.action", + "lang": "zh_CN", + "callback": "jsonp_06060454087427964" + } + header = { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36' + } + res = requests.get(url, headers=header,params=params).text + object_code = re.compile(r"\((?P.*)\)", re.S) + data_code = json.loads(object_code.search(res).group('data_code')) + print(data_code) + +if __name__ == '__main__': + get_main() \ No newline at end of file