这是算法的call,可以爆破,算法也明白了,可以不知道该如何些注册机
我只会delphi,注册码对比的比较复杂,我说不明白,帮忙看看
00529F10 55 PUSH EBP
00529F11 8BEC MOV EBP,ESP
00529F13 83C4 DC ADD ESP,-24
00529F16 53 PUSH EBX
00529F17 56 PUSH ESI
00529F18 57 PUSH EDI
00529F19 33DB XOR EBX,EBX
00529F1B 895D DC MOV DWORD PTR SS:[EBP-24],EBX EBX=0
00529F1E 894D F4 MOV DWORD PTR SS:[EBP-C],ECX ECX=1234567890123456
00529F21 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX EDX=liuin
00529F24 8945 FC MOV DWORD PTR SS:[EBP-4],EAX EAX=liuin@hotmail.com
00529F27 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00529F2A E8 79AFEDFF CALL 00404EA8 还没看出什么用来
00529F2F 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
00529F32 E8 71AFEDFF CALL 00404EA8
00529F37 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
00529F3A E8 69AFEDFF CALL 00404EA8
00529F3F 8B45 0C MOV EAX,DWORD PTR SS:[EBP+C] EAX=Internet Download Accelerator
00529F42 E8 61AFEDFF CALL 00404EA8
00529F47 33C0 XOR EAX,EAX
00529F49 55 PUSH EBP
00529F4A 68 F5A15200 PUSH 52A1F5
00529F4F 64:FF30 PUSH DWORD PTR FS:[EAX]
00529F52 64:8920 MOV DWORD PTR FS:[EAX],ESP
00529F55 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] eax=1234567890123456
00529F58 E8 5BADEDFF CALL 00404CB8 获得字符串长度
00529F5D 83F8 10 CMP EAX,10 判断字符串长度,注册号应为16
00529F60 0F85 5C020000 JNZ 0052A1C2
00529F66 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] eax=liuin
00529F69 E8 4AADEDFF CALL 00404CB8
00529F6E 83F8 05 CMP EAX,5 用户名不能小于5
00529F71 0F8C 4B020000 JL 0052A1C2
00529F77 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] eax=liuin@hotmail.com
00529F7A E8 39ADEDFF CALL 00404CB8
00529F7F 83F8 05 CMP EAX,5 email不能小于5
00529F82 0F8C 3A020000 JL 0052A1C2
00529F88 33FF XOR EDI,EDI
00529F8A 33C0 XOR EAX,EAX
00529F8C 8945 E8 MOV DWORD PTR SS:[EBP-18],EAX
00529F8F 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] eax=liuin
00529F92 E8 21ADEDFF CALL 00404CB8 获取长度
00529F97 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8] 长度 5
00529F9A 8A4402 FF MOV AL,BYTE PTR DS:[EDX+EAX-1] n(6e)
00529F9E E8 0D00FDFF CALL 004F9FB0 寻找字符在字符串表的位置并与3F求与(AND)存入EAX
00529FA3 33DB XOR EBX,EBX
00529FA5 8AD8 MOV BL,AL AL=BL=31
00529FA7 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] EAX=liuin
00529FAA 8A00 MOV AL,BYTE PTR DS:[EAX] AL=L(6C)
00529FAC E8 FFFFFCFF CALL 004F9FB0 同上 AL=2F
00529FB1 25 FF000000 AND EAX,0FF 2F
00529FB6 0FAFD8 IMUL EBX,EAX 除 EBX=8FF 看ax的值
00529FB9 895D F0 MOV DWORD PTR SS:[EBP-10],EBX
00529FBC 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] liuin
00529FBF E8 F4ACEDFF CALL 00404CB8 获取长度EAX=5
00529FC4 8BF0 MOV ESI,EAX
00529FC6 85F6 TEST ESI,ESI
00529FC8 7E 21 JLE SHORT 00529FEB 不跳转
00529FCA BB 01000000 MOV EBX,1
00529FCF 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] ---- EAX=liuin
00529FD2 8A4418 FF MOV AL,BYTE PTR DS:[EAX+EBX-1] |
00529FD6 E8 D5FFFCFF CALL 004F9FB0 |
00529FDB 25 FF000000 AND EAX,0FF |
00529FE0 F76D F0 IMUL DWORD PTR SS:[EBP-10] |循环 1
00529FE3 03F8 ADD EDI,EAX |
00529FE5 03FB ADD EDI,EBX | 将运算结果存入edi
00529FE7 43 INC EBX |
00529FE8 4E DEC ESI |
00529FE9 ^75 E4 JNZ SHORT 00529FCF ----
00529FEB 8D45 DC LEA EAX,DWORD PTR SS:[EBP-24]
00529FEE B9 10A25200 MOV ECX,52A210 ; ASCII "rusreg"
00529FF3 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
00529FF6 E8 09ADEDFF CALL 00404D04
00529FFB 8B45 DC MOV EAX,DWORD PTR SS:[EBP-24] eax=liuinrusreg 将liuin和rusreg连接
00529FFE E8 B5ACEDFF CALL 00404CB8 获得长度
0052A003 8BF0 MOV ESI,EAX
0052A005 85F6 TEST ESI,ESI
0052A007 7E 25 JLE SHORT 0052A02E
0052A009 BB 01000000 MOV EBX,1
0052A00E 8B45 DC MOV EAX,DWORD PTR SS:[EBP-24] ――
0052A011 8A4418 FF MOV AL,BYTE PTR DS:[EAX+EBX-1] |
0052A015 E8 96FFFCFF CALL 004F9FB0 |
0052A01A 25 FF000000 AND EAX,0FF |
0052A01F F76D F0 IMUL DWORD PTR SS:[EBP-10] |循环2 ebp-10为n,l运算的结果
0052A022 0345 E8 ADD EAX,DWORD PTR SS:[EBP-18] | 初值为0,循环后不断增加
0052A025 03C3 ADD EAX,EBX | 初值为1,循环后不断加1
0052A027 8945 E8 MOV DWORD PTR SS:[EBP-18],EAX |
0052A02A 43 INC EBX | 结果存入 ss:[ebp-18]
0052A02B 4E DEC ESI |
0052A02C ^75 E0 JNZ SHORT 0052A00E ――
0052A02E 8B45 0C MOV EAX,DWORD PTR SS:[EBP+C] eax=Internet Download Accelerator
0052A031 E8 82ACEDFF CALL 00404CB8 获得长度
0052A036 8BF0 MOV ESI,EAX
0052A038 85F6 TEST ESI,ESI 测试长度
0052A03A 7E 3D JLE SHORT 0052A079 不跳转
0052A03C BB 01000000 MOV EBX,1
0052A041 8B45 0C MOV EAX,DWORD PTR SS:[EBP+C] ――
0052A044 8A4418 FF MOV AL,BYTE PTR DS:[EAX+EBX-1] | 从eax逐一取字符运算
0052A048 E8 63FFFCFF CALL 004F9FB0 |
0052A04D 25 FF000000 AND EAX,0FF |
0052A052 F76D F0 IMUL DWORD PTR SS:[EBP-10] | ebp-10为n,l运算的结果
0052A055 03F8 ADD EDI,EAX | ebx初值为1,循环加1,edi为"循环1"的结果
0052A057 03FB ADD EDI,EBX |循环3 结果存入edi
0052A059 8B45 0C MOV EAX,DWORD PTR SS:[EBP+C] |
0052A05C 8A4418 FF MOV AL,BYTE PTR DS:[EAX+EBX-1] | 从eax逐一取字符运算
0052A060 E8 4BFFFCFF CALL 004F9FB0 |
0052A065 25 FF000000 AND EAX,0FF |
0052A06A F76D F0 IMUL DWORD PTR SS:[EBP-10] | ebp-10为n,l运算的结果
0052A06D 0345 E8 ADD EAX,DWORD PTR SS:[EBP-18] | ebp-18为循环2的结果
0052A070 03C3 ADD EAX,EBX |
0052A072 8945 E8 MOV DWORD PTR SS:[EBP-18],EAX | 结果存入ss:[ebp-18]
0052A075 43 INC EBX |
0052A076 4E DEC ESI |
0052A077 ^75 C8 JNZ SHORT 0052A041 ――
0052A079 81E7 3F000080 AND EDI,8000003F | edi 与 8000003F
0052A07F 79 05 JNS SHORT 0052A086 | 符号位为 "0" 时转移
0052A081 4F DEC EDI |
0052A082 83CF C0 OR EDI,FFFFFFC0 |
0052A085 47 INC EDI |
0052A086 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18] | 分别将上面的edi,ebp-18两个结果运算
0052A089 25 3F000080 AND EAX,8000003F | 运算结果保存在edi,ebp-18
0052A08E 79 05 JNS SHORT 0052A095 |
0052A090 48 DEC EAX |
0052A091 83C8 C0 OR EAX,FFFFFFC0 |
0052A094 40 INC EAX |
0052A095 8945 E8 MOV DWORD PTR SS:[EBP-18],EAX |
0052A098 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] eax=liuin@hotmail.com
0052A09B E8 18ACEDFF CALL 00404CB8 获取长度
0052A0A0 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0052A0A3 8A4402 FF MOV AL,BYTE PTR DS:[EDX+EAX-1] | 取mail的最后一位
0052A0A7 E8 04FFFCFF CALL 004F9FB0 |
0052A0AC 33DB XOR EBX,EBX |
0052A0AE 8AD8 MOV BL,AL | 运算结果存入bl
0052A0B0 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] |
0052A0B3 8A00 MOV AL,BYTE PTR DS:[EAX] | 取mail的第一位
0052A0B5 E8 F6FEFCFF CALL 004F9FB0 |
0052A0BA 25 FF000000 AND EAX,0FF |
0052A0BF 0FAFD8 IMUL EBX,EAX | ebx,eax整除
0052A0C2 895D EC MOV DWORD PTR SS:[EBP-14],EBX | 结果存入ebp-14
0052A0C5 33C0 XOR EAX,EAX |
0052A0C7 8945 E4 MOV DWORD PTR SS:[EBP-1C],EAX | ebp-1c清零
0052A0CA 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0052A0CD E8 E6ABEDFF CALL 00404CB8
0052A0D2 8BF0 MOV ESI,EAX
0052A0D4 85F6 TEST ESI,ESI 测试mail长度
0052A0D6 7E 25 JLE SHORT 0052A0FD
0052A0D8 BB 01000000 MOV EBX,1
0052A0DD 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ――|
0052A0E0 8A4418 FF MOV AL,BYTE PTR DS:[EAX+EBX-1] |
0052A0E4 E8 C7FEFCFF CALL 004F9FB0 |
0052A0E9 25 FF000000 AND EAX,0FF |
0052A0EE F76D EC IMUL DWORD PTR SS:[EBP-14] |循环4
0052A0F1 0345 E4 ADD EAX,DWORD PTR SS:[EBP-1C] |
0052A0F4 03C3 ADD EAX,EBX |
0052A0F6 8945 E4 MOV DWORD PTR SS:[EBP-1C],EAX | 结果存入ebp-1c
0052A0F9 43 INC EBX |
0052A0FA 4E DEC ESI |
0052A0FB ^75 E0 JNZ SHORT 0052A0DD ――|
0052A0FD 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C]
0052A100 25 3F000080 AND EAX,8000003F 与操作
0052A105 79 05 JNS SHORT 0052A10C
0052A107 48 DEC EAX
0052A108 83C8 C0 OR EAX,FFFFFFC0
0052A10B 40 INC EAX
0052A10C 8945 E4 MOV DWORD PTR SS:[EBP-1C],EAX
0052A10F 8B45 E4 MOV EAX,DWORD PTR SS:[EBP-1C]
0052A112 03C7 ADD EAX,EDI 将与操作的值与edi相加,edi为上面用户名计算的结果
0052A114 25 3F000080 AND EAX,8000003F
0052A119 79 05 JNS SHORT 0052A120
0052A11B 48 DEC EAX
0052A11C 83C8 C0 OR EAX,FFFFFFC0
0052A11F 40 INC EAX
0052A120 8945 E4 MOV DWORD PTR SS:[EBP-1C],EAX 运算值存入ebp-1c
0052A123 33C0 XOR EAX,EAX
0052A125 8945 E0 MOV DWORD PTR SS:[EBP-20],EAX ebp-20清零
0052A128 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] eax=1234567890123456注册吗
0052A12B E8 88ABEDFF CALL 00404CB8
0052A130 8BF0 MOV ESI,EAX
0052A132 85F6 TEST ESI,ESI 测试长度
0052A134 7E 22 JLE SHORT 0052A158
0052A136 BB 01000000 MOV EBX,1
0052A13B 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ――| 注册吗
0052A13E 8A4418 FF MOV AL,BYTE PTR DS:[EAX+EBX-1] | 逐位取注册码
0052A142 E8 69FEFCFF CALL 004F9FB0 |
0052A147 25 FF000000 AND EAX,0FF |
0052A14C 0345 E0 ADD EAX,DWORD PTR SS:[EBP-20] |循环5
0052A14F 03C3 ADD EAX,EBX | ebx循环加1
0052A151 8945 E0 MOV DWORD PTR SS:[EBP-20],EAX | 运算结果存入ebp-20
0052A154 43 INC EBX |
0052A155 4E DEC ESI |
0052A156 ^75 E3 JNZ SHORT 0052A13B ――|
0052A158 8B5D E0 MOV EBX,DWORD PTR SS:[EBP-20]
0052A15B 81E3 3F000080 AND EBX,8000003F
0052A161 79 05 JNS SHORT 0052A168
0052A163 4B DEC EBX
0052A164 83CB C0 OR EBX,FFFFFFC0
0052A167 43 INC EBX
0052A168 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
0052A16B 0345 E4 ADD EAX,DWORD PTR SS:[EBP-1C] 将用户名和mail的计算结果相加
0052A16E 25 3F000080 AND EAX,8000003F
0052A173 79 05 JNS SHORT 0052A17A
0052A175 48 DEC EAX
0052A176 83C8 C0 OR EAX,FFFFFFC0
0052A179 40 INC EAX
0052A17A 3BD8 CMP EBX,EAX 将用户名和mail的相加的计算结果和注册码的计算结果比较 这可能是对老用户注册码判断的
0052A17C 75 0F JNZ SHORT 0052A18D
0052A17E 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0052A181 BA 20A25200 MOV EDX,52A220 ; ASCII "RUSREG"
0052A186 E8 C1A8EDFF CALL 00404A4C
0052A18B EB 3D JMP SHORT 0052A1CA
0052A18D 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0052A190 E8 63A8EDFF CALL 004049F8
0052A195 037D E4 ADD EDI,DWORD PTR SS:[EBP-1C]
0052A198 81E7 3F000080 AND EDI,8000003F
0052A19E 79 05 JNS SHORT 0052A1A5
0052A1A0 4F DEC EDI
0052A1A1 83CF C0 OR EDI,FFFFFFC0
0052A1A4 47 INC EDI
0052A1A5 3BDF CMP EBX,EDI 这是关键!
0052A1A7 75 0F JNZ SHORT 0052A1B8**************************改为9090可暴力破解
0052A1A9 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0052A1AC BA 30A25200 MOV EDX,52A230 ; ASCII "REG"
0052A1B1 E8 96A8EDFF CALL 00404A4C
0052A1B6 EB 12 JMP SHORT 0052A1CA
0052A1B8 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0052A1BB E8 38A8EDFF CALL 004049F8
0052A1C0 EB 08 JMP SHORT 0052A1CA
0052A1C2 8B45 08 MOV EAX,DWORD PTR SS:[EBP+8]
0052A1C5 E8 2EA8EDFF CALL 004049F8
0052A1CA 33C0 XOR EAX,EAX
0052A1CC 5A POP EDX
0052A1CD 59 POP ECX
0052A1CE 59 POP ECX
0052A1CF 64:8910 MOV DWORD PTR FS:[EAX],EDX
0052A1D2 68 FCA15200 PUSH 52A1FC
0052A1D7 8D45 DC LEA EAX,DWORD PTR SS:[EBP-24]
0052A1DA E8 19A8EDFF CALL 004049F8
0052A1DF 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
0052A1E2 BA 03000000 MOV EDX,3
0052A1E7 E8 30A8EDFF CALL 00404A1C
0052A1EC 8D45 0C LEA EAX,DWORD PTR SS:[EBP+C]
0052A1EF E8 04A8EDFF CALL 004049F8
0052A1F4 C3 RETN
-------------------------------------------------------------------------------------
00404EA8 子过程
00404EA8 85C0 TEST EAX,EAX
00404EAA 74 0A JE SHORT 00404EB6
00404EAC 8B50 F8 MOV EDX,DWORD PTR DS:[EAX-8]
00404EAF 42 INC EDX
00404EB0 7E 04 JLE SHORT 00404EB6
00404EB2 F0:FF40 F8 LOCK INC DWORD PTR DS:[EAX-8] ; LOCK 前缀
00404EB6 C3 RETN
004CB8 子过程
00404CB8 85C0 TEST EAX,EAX
00404CBA 74 03 JE SHORT 00404CBF
00404CBC 8B40 FC MOV EAX,DWORD PTR DS:[EAX-4]
00404CBF C3 RETN
00409FB0 子过程
004F9FB0 33D2 XOR EDX,EDX
004F9FB2 EB 01 JMP SHORT 004F9FB5
004F9FB4 42 INC EDX
004F9FB5 33C9 XOR ECX,ECX
004F9FB7 8ACA MOV CL,DL
004F9FB9 3A81 B0EB5A00 CMP AL,BYTE PTR DS:[ECX+5AEBB0]
004F9FBF 74 05 JE SHORT 004F9FC6
004F9FC1 80FA 40 CMP DL,40
004F9FC4 ^72 EE JB SHORT 004F9FB4
004F9FC6 33C0 XOR EAX,EAX
004F9FC8 8AC2 MOV AL,DL
004F9FCA 83E0 3F AND EAX,3F
004F9FCD C3 RETN
00404F9FB0
004F9FB0 33D2 XOR EDX,EDX
004F9FB2 EB 01 JMP SHORT 004F9FB5
004F9FB4 42 INC EDX
004F9FB5 33C9 XOR ECX,ECX
004F9FB7 8ACA MOV CL,DL
004F9FB9 3A81 B0EB5A00 CMP AL,BYTE PTR DS:[ECX+5AEBB0]
004F9FBF 74 05 JE SHORT 004F9FC6
004F9FC1 80FA 40 CMP DL,40
004F9FC4 ^72 EE JB SHORT 004F9FB4
004F9FC6 33C0 XOR EAX,EAX
004F9FC8 8AC2 MOV AL,DL
004F9FCA 83E0 3F AND EAX,3F
004F9FCD C3 RETN
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)