作者:GoOdLeiSuRe
时间:2004-9-22
软件大小:1346KB
软件语言:英文
软件类别:国外软件/共享版/密码破解
运行环境:Win9x/Me/NT/2000/XP
一个速度很快,可以帮你找回RAR文件的密码,注册后可以解开多达128位密码。它提供有预估算出密码所需要的时间;可中断计算与恢复继续前次的计算。
由于本人水平很菜,错误难免,肯请提出指正。如果可以的话,请去持哦。
设断点
:bpx messageboxa
回到输入注册码界面,输入12344321,确定,中断
Break due to BP 00: BPX USER32!MessageBoxA (ET=1.24 seconds)
按F12回到ARPR领域,一路F10过RET,跳出此过程,上一行为
001B:00406B05 E86D2A0000 CALL 00409577
在此地址设断点
:BPX #001B:00406B05
回到Windows,点击注册按钮,中断
Break due to BP 01: BPX #001B:00406B05 (ET=3.74 seconds)
F8进入此CALL,一路F10至出现输入注册码为止,确定,对话框抖动之后,继续F10至
001B:004095B5 E80FFFFFFF CALL 004094C9
001B:004095BA 83F801 CMP EAX,01
001B:004095BD 7568 JNZ 00409627
001B:004095BF 8D8500FFFFFF LEA EAX,[EBP-0100]于 //“D EAX”即可看到输入的注册码
001B:004095C5 E8A1FBFFFF CALL 0040916B //判断输入码是否正确
001B:004095CA 85C0 TEST EAX,EAX //EAX=0?
001B:004095CC 7437 JZ 00409605 //为零则跳至出错,否则提示您的注册码正确
//判断输入码是否正确的过程
001B:0040916B 53 PUSH EBX
001B:0040916C 51 PUSH ECX
001B:0040916D 52 PUSH EDX
001B:0040916E 56 PUSH ESI
001B:0040916F 57 PUSH EDI
001B:00409170 C86C0000 ENTER 006C,00
001B:00409174 89C6 MOV ESI,EAX
001B:00409176 E8B5D80000 CALL 00416A30 //求输入码长度
001B:0040917B 89C1 MOV ECX,EAX //ECX=8(输入码长度)
001B:0040917D 83F806 CMP EAX,06 //注册码要>=6位
001B:00409180 7D07 JGE 00409189
001B:00409182 31C0 XOR EAX,EAX //EAX=0
001B:00409184 E99C000000 JMP 00409225 //跳出过程
001B:00409189 BB02000000 MOV EBX,00000002 //EBX=2
001B:0040918E 99 CDQ
001B:0040918F F7FB IDIV EBX //EAX=4(8/2),EDX=0(8/2的余数)
001B:00409191 85D2 TEST EDX,EDX //EDX=0?
001B:00409193 75ED JNZ 00409182 //EDX<>0则跳
001B:00409195 89C8 MOV EAX,ECX //EAX=8
001B:00409197 99 CDQ
001B:00409198 F7FB IDIV EBX //EAX=4(8/2),EDX=0(8/2的余数)
001B:0040919A 8D58FE LEA EBX,[EAX-02] //EBX=2
001B:0040919D 8D4594 LEA EAX,[EBP-6C] //EAX=1
001B:004091A0 E889040000 CALL 0040962E //该CALL是生成一串十六进制数 01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10
001B:004091A5 8D7E04 LEA EDI,[ESI+04] //输入码的第四位的地址存入EDI,即此命令之后“D EDI”可看到4321
001B:004091A8 89FA MOV EDX,EDI
001B:004091AA 8D4594 LEA EAX,[EBP-6C] //01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10
001B:004091AD E8CD040000 CALL 0040967F
001B:004091B2 8D5594 LEA EDX,[EBP-6C] //01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10
001B:004091B5 8D45F0 LEA EAX,[EBP-10]
001B:004091B8 E813140000 CALL 0040A5D0
001B:004091BD BB10000000 MOV EBX,00000010
001B:004091C2 BA30BA4300 MOV EDX,0043BA30 //8E C5 C9 C9 D0 BD 1E 23 78 AD 01 B7 49 C8 B4 D6
001B:004091C7 8D45F0 LEA EAX,[EBP-10] //17 E6 21 66 FC 85 86 DF A4 D1 BC 0E 17 42 C0 8B
001B:004091CA E8E1DA0000 CALL 00416CB0 //比较EDX和EAX存取的十位十六进制数
001B:004091CF 85C0 TEST EAX,EAX //EAX=0?
001B:004091D1 75AF JNZ 00409182 //EAX<>0则跳
001B:004091D3 8D4594 LEA EAX,[EBP-6C] //17 E6 21 66 FC 85 86 DF A4 D1 BC 0E 17 42 C0 8B
001B:004091D6 E853040000 CALL 0040962E //该CALL是生成一串十六进制数 01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10
001B:004091DB 89CB MOV EBX,ECX //EBX=8
001B:004091DD 89F2 MOV EDX,ESI //“D ESI”可看到输入码12344321
001B:004091DF 8D4594 LEA EAX,[EBP-6C] //01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10
001B:004091E2 E898040000 CALL 0040967F
001B:004091E7 8D5594 LEA EDX,[EBP-6C] //01 23 45 67 89 AB CD EF FE DC BA 98 76 54 32 10
001B:004091EA 8D45F0 LEA EAX,[EBP-10] //17 E6 21 66 FC 85 86 DF A4 D1 BC 0E 17 42 C0 8B
001B:004091ED E8DE130000 CALL 0040A5D0
001B:004091F2 8D45F0 LEA EAX,[EBP-10]
001B:004091F5 E820FFFFFF CALL 0040911A
001B:004091FA 85C0 TEST EAX,EAX //EAX=0?
001B:004091FC 7427 JZ 00409225 //EAX=0则跳出此过程
001B:004091FE 833DB0A2440000 CMP DWORD PTR [0044A2B0],00
001B:00409205 7519 JNZ 00409220 //不为零则跳至正确
001B:00409207 6A10 PUSH 10
001B:00409209 57 PUSH EDI
001B:0040920A FF1548BA4300 CALL [0043BA48]
001B:00409210 FF1540BA4300 CALL [0043BA40]
001B:00409216 C705B0A2440001000000MOV DWORD PTR [0044A2B0],00000001
001B:00409220 B801000000 MOV EAX,00000001 //EAX=1,表示输入码正确
001B:00409225 C9 LEAVE
001B:00409226 5F POP EDI
001B:00409227 5E POP ESI
001B:00409228 5A POP EDX
001B:00409229 59 POP ECX
001B:0040922A 5B POP EBX
001B:0040922B C3 RET
//此程序使用了ASProtect v1.2?加壳
//可以使用AsprStripperXP_v135脱壳
//然后用十六进制编辑工具寻找以下三处
//1.E8E1DA000085C075AF
//2.E820FFFFFF85C07427
//3.833DB0A24400007519
//将其中的74与75互换,也可以将“75AF”“7427”“7519”都改为“9090”
//再运行程序,OK,已成功爆破!
附:本人没能找出注册码,因为算来算去就头晕了。如果知道解密算法,还请告知,先谢过。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)