|
问这里是不是说了有硬盘的ID来校验?
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses: |:100074B7(C), :100074C9(C), :100074E2(C), :1000756F(C), :1000761D(C) | :10007650 5F pop edi :10007651 5E pop esi :10007652 5D pop ebp :10007653 33C0 xor eax, eax :10007655 5B pop ebx :10007656 81C404080000 add esp, 00000804 :1000765C C3 ret :1000765D 90 nop :1000765E 90 nop :1000765F 90 nop :10007660 64A100000000 mov eax, dword ptr fs:[00000000] :10007666 6AFF push FFFFFFFF :10007668 6862A30010 push 1000A362 :1000766D 50 push eax :1000766E B870140000 mov eax, 00001470 :10007673 64892500000000 mov dword ptr fs:[00000000], esp :1000767A E8D1210000 call 10009850 :1000767F 56 push esi :10007680 57 push edi * Possible StringData Ref from Data Obj ->"0xb177b1165733809264b24d553ef5b53565f956d5e5f3" ->"5386d41fc1045eb7efd26fa5ac1d7f143be70c8669fe94" ->"59b2c501f25605739df640fa8a99f1acb0e7230d4d63bf" ->"2a81d3aeeeb0129a0e047b165aea7e415e61339dbfe52d" ->"8d4c3d820c50bd07defaf87be272b602786012e3fecefe" ->"732750ef1d7e03d9b1a36549af3e2a15d3e23e6bdb598e" ->"ddb6ddcd9e56f1167b51bb357cc0cc92c71784ab8e1e4b" ->"79ffe7b8a51532757270dc5c61bfb63934aa46ef15fff" | :10007681 6844D10010 push 1000D144 :10007686 8D4C242C lea ecx, dword ptr [esp+2C] :1000768A E8819BFFFF call 10001210 * Possible StringData Ref from Data Obj ->"0x2faf081" | :1000768F 6838D10010 push 1000D138 :10007694 8D4C241C lea ecx, dword ptr [esp+1C] :10007698 C784248414000000000000 mov dword ptr [esp+00001484], 00000000 :100076A3 E8689BFFFF call 10001210 :100076A8 8B842488140000 mov eax, dword ptr [esp+00001488] :100076AF 8D4C2438 lea ecx, dword ptr [esp+38] :100076B3 50 push eax :100076B4 C684248414000001 mov byte ptr [esp+00001484], 01 :100076BC E84F9BFFFF call 10001210 :100076C1 8D4C2408 lea ecx, dword ptr [esp+08] :100076C5 C684248014000002 mov byte ptr [esp+00001480], 02 :100076CD E82E99FFFF call 10001000 :100076D2 8D8C2458140000 lea ecx, dword ptr [esp+00001458] :100076D9 C684248014000003 mov byte ptr [esp+00001480], 03 :100076E1 E81A99FFFF call 10001000 :100076E6 8D8C2468140000 lea ecx, dword ptr [esp+00001468] :100076ED C684248014000004 mov byte ptr [esp+00001480], 04 :100076F5 E80699FFFF call 10001000 :100076FA B900050000 mov ecx, 00000500 :100076FF 33C0 xor eax, eax :10007701 8D7C2458 lea edi, dword ptr [esp+58] :10007705 F3 repz :10007706 AB stosd :10007707 8D4C2428 lea ecx, dword ptr [esp+28] :1000770B 8D542418 lea edx, dword ptr [esp+18] :1000770F 51 push ecx :10007710 8D44243C lea eax, dword ptr [esp+3C] :10007714 52 push edx :10007715 8D4C2450 lea ecx, dword ptr [esp+50] :10007719 50 push eax :1000771A 51 push ecx :1000771B 8D4C2468 lea ecx, dword ptr [esp+68] :1000771F C684249014000005 mov byte ptr [esp+00001490], 05 :10007727 E8B41D0000 call 100094E0 :1000772C 50 push eax :1000772D 8D4C240C lea ecx, dword ptr [esp+0C] :10007731 C684248414000006 mov byte ptr [esp+00001484], 06 :10007739 E872AEFFFF call 100025B0 :1000773E 8D4C2448 lea ecx, dword ptr [esp+48] :10007742 C684248014000005 mov byte ptr [esp+00001480], 05 :1000774A E8719BFFFF call 100012C0 :1000774F 8D4C2408 lea ecx, dword ptr [esp+08] :10007753 E8B89DFFFF call 10001510 :10007758 8BF8 mov edi, eax :1000775A 83C9FF or ecx, FFFFFFFF :1000775D 33C0 xor eax, eax :1000775F F2 repnz :10007760 AE scasb :10007761 F7D1 not ecx :10007763 2BF9 sub edi, ecx :10007765 8BD1 mov edx, ecx :10007767 8BF7 mov esi, edi :10007769 BF50E30010 mov edi, 1000E350 :1000776E C1E902 shr ecx, 02 :10007771 F3 repz :10007772 A5 movsd :10007773 8BCA mov ecx, edx :10007775 83E103 and ecx, 00000003 :10007778 F3 repz :10007779 A4 movsb :1000777A 8D8C2468140000 lea ecx, dword ptr [esp+00001468] :10007781 C684248014000007 mov byte ptr [esp+00001480], 07 :10007789 E8329BFFFF call 100012C0 :1000778E C684248014000003 mov byte ptr [esp+00001480], 03 :10007796 8D8C2458140000 lea ecx, dword ptr [esp+00001458] :1000779D E81E9BFFFF call 100012C0 :100077A2 8D4C2408 lea ecx, dword ptr [esp+08] :100077A6 C684248014000002 mov byte ptr [esp+00001480], 02 :100077AE E80D9BFFFF call 100012C0 :100077B3 8D4C2438 lea ecx, dword ptr [esp+38] :100077B7 C684248014000001 mov byte ptr [esp+00001480], 01 :100077BF E8FC9AFFFF call 100012C0 :100077C4 8D4C2418 lea ecx, dword ptr [esp+18] :100077C8 C684248014000000 mov byte ptr [esp+00001480], 00 :100077D0 E8EB9AFFFF call 100012C0 :100077D5 8D4C2428 lea ecx, dword ptr [esp+28] :100077D9 C7842480140000FFFFFFFF mov dword ptr [esp+00001480], FFFFFFFF :100077E4 E8D79AFFFF call 100012C0 :100077E9 8B8C2478140000 mov ecx, dword ptr [esp+00001478] :100077F0 5F pop edi :100077F1 B850E30010 mov eax, 1000E350 :100077F6 5E pop esi :100077F7 64890D00000000 mov dword ptr fs:[00000000], ecx :100077FE 81C47C140000 add esp, 0000147C :10007804 C3 ret :10007805 90 nop :10007806 90 nop :10007807 90 nop :10007808 90 nop :10007809 90 nop :1000780A 90 nop :1000780B 90 nop :1000780C 90 nop :1000780D 90 nop :1000780E 90 nop :1000780F 90 nop |
|
|
|
恭喜新坛开放。转个关于MD5的给大家同享
<input id=test value=pediy> <input type=button value=md5 onclick="alert(hex_md5(test.value))"> <script> var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */ var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */ var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */ /* * These are the functions you'll usually want to call * They take string arguments and return either hex or base-64 encoded strings */ function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));} function b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length * chrsz));} function hex_hmac_md5(key, data) { return binl2hex(core_hmac_md5(key, data)); } function b64_hmac_md5(key, data) { return binl2b64(core_hmac_md5(key, data)); } /* Backwards compatibility - same as hex_md5() */ function calcMD5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));} /* * Perform a simple self-test to see if the VM is working */ function md5_vm_test() { return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72"; } /* * Calculate the MD5 of an array of little-endian words, and a bit length */ function core_md5(x, len) { /* append padding */ x[len >> 5] |= 0x80 << ((len) % 32); x[(((len + 64) >>> 9) << 4) + 14] = len; var a = 1732584193; var b = -271733879; var c = -1732584194; var d = 271733878; for(var i = 0; i < x.length; i += 16) { var olda = a; var oldb = b; var oldc = c; var oldd = d; a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936); d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586); c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819); b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330); a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897); d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426); c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341); b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983); a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416); d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417); c = md5_ff(c, d, a, b, x[i+10], 17, -42063); b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162); a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682); d = md5_ff(d, a, b, c, x[i+13], 12, -40341101); c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290); b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329); a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510); d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632); c = md5_gg(c, d, a, b, x[i+11], 14, 643717713); b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302); a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691); d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083); c = md5_gg(c, d, a, b, x[i+15], 14, -660478335); b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848); a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438); d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690); c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961); b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501); a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467); d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784); c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473); b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734); a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558); d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463); c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562); b = md5_hh(b, c, d, a, x[i+14], 23, -35309556); a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060); d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353); c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632); b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640); a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174); d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222); c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979); b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189); a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487); d = md5_hh(d, a, b, c, x[i+12], 11, -421815835); c = md5_hh(c, d, a, b, x[i+15], 16, 530742520); b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651); a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844); d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415); c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905); b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055); a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571); d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606); c = md5_ii(c, d, a, b, x[i+10], 15, -1051523); b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799); a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359); d = md5_ii(d, a, b, c, x[i+15], 10, -30611744); c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380); b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649); a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070); d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379); c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259); b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551); a = safe_add(a, olda); b = safe_add(b, oldb); c = safe_add(c, oldc); d = safe_add(d, oldd); } return Array(a, b, c, d); } /* * These functions implement the four basic operations the algorithm uses. */ function md5_cmn(q, a, b, x, s, t) { return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b); } function md5_ff(a, b, c, d, x, s, t) { return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t); } function md5_gg(a, b, c, d, x, s, t) { return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t); } function md5_hh(a, b, c, d, x, s, t) { return md5_cmn(b ^ c ^ d, a, b, x, s, t); } function md5_ii(a, b, c, d, x, s, t) { return md5_cmn(c ^ (b | (~d)), a, b, x, s, t); } /* * Calculate the HMAC-MD5, of a key and some data */ function core_hmac_md5(key, data) { var bkey = str2binl(key); if(bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz); var ipad = Array(16), opad = Array(16); for(var i = 0; i < 16; i++) { ipad[i] = bkey[i] ^ 0x36363636; opad[i] = bkey[i] ^ 0x5C5C5C5C; } var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz); return core_md5(opad.concat(hash), 512 + 128); } /* * Add integers, wrapping at 2^32. This uses 16-bit operations internally * to work around bugs in some JS interpreters. */ function safe_add(x, y) { var lsw = (x & 0xFFFF) + (y & 0xFFFF); var msw = (x >> 16) + (y >> 16) + (lsw >> 16); return (msw << 16) | (lsw & 0xFFFF); } /* * Bitwise rotate a 32-bit number to the left. */ function bit_rol(num, cnt) { return (num << cnt) | (num >>> (32 - cnt)); } /* * Convert a string to an array of little-endian words * If chrsz is ASCII, characters >255 have their hi-byte silently ignored. */ function str2binl(str) { var bin = Array(); var mask = (1 << chrsz) - 1; for(var i = 0; i < str.length * chrsz; i += chrsz) bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32); return bin; } /* * Convert an array of little-endian words to a hex string. */ function binl2hex(binarray) { var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef"; var str = ""; for(var i = 0; i < binarray.length * 4; i++) { str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) + hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF); } return str; } /* * Convert an array of little-endian words to a base-64 string */ function binl2b64(binarray) { var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; var str = ""; for(var i = 0; i < binarray.length * 4; i += 3) { var triplet = (((binarray[i >> 2] >> 8 * ( i %4)) & 0xFF) << 16) | (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & 0xFF) << 8 ) | ((binarray[i+2 >> 2] >> 8 * ((i+2)%4)) & 0xFF); for(var j = 0; j < 4; j++) { if(i * 8 + j * 6 > binarray.length * 32) str += b64pad; else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F); } } return str; } </script> |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值