用W32Dasm破解一个软件,该软件为cad的辅助程序一段时间的4用,过了时间如果不注册,就无法使用大部分功能,采用运算出你的机器码,然后付费,在给你注册码的方式注册。由于不是exe,dll之类的,而是.arx的后缀 ,无法用ollyice之类的动态破解软件下断点,然后去找。所以小弟用W32Dasm,查找字符串,跟进到了如下地方:
* Possible StringData Ref from Data Obj ->"注册成功,感谢您的使用和支持 !
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:10063470(C)
|
:1006352B E8700C0000 call 100641A0
:10063530 84C0 test al, al
:10063532 745A je 1006358E
* Possible StringData Ref from Data Obj ->"注册码不符 !"
|
:10063534 680C032610 push 1026030C
:10063539 C7052068271000000000 mov dword ptr [10276820], 00000000
:10063543 E868931800 call 101EC8B0
:10063548 81C658010000 add esi, 00000158
:1006354E 83C404 add esp, 00000004
:10063551 8BCE mov ecx, esi
:10063553 E898A21800 call 101ED7F0
:10063558 8B4620 mov eax, dword ptr [esi+20]
:1006355B 8B3D387D2010 mov edi, dword ptr [10207D38]
:10063561 6A14 push 00000014
:10063563 6A00 push 00000000
:10063565 68B1000000 push 000000B1
:1006356A 50 push eax
:1006356B FFD7 call edi
:1006356D 8B4E20 mov ecx, dword ptr [esi+20]
:10063570 6A00 push 00000000
:10063572 6A00 push 00000000
:10063574 68B7000000 push 000000B7
:10063579 51 push ecx
:1006357A FFD7 call edi
:1006357C 8B4C2420 mov ecx, dword ptr [esp+20]
:10063580 64890D00000000 mov dword ptr fs:[00000000], ecx
:10063587 5F pop edi
:10063588 5E pop esi
:10063589 5B pop ebx
:1006358A 83C420 add esp, 00000020
:1006358D C3 ret
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:10063532(C)
|
:1006358E E89D0C0000 call 10064230
:10063593 390558032610 cmp dword ptr [10260358], eax
:10063599 7D5F jge 100635FA
:1006359B C7052068271000000000 mov dword ptr [10276820], 00000000
:100635A5 E8760B0000 call 10064120
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:10063452(U)
|
* Possible StringData Ref from Data Obj ->"注册码不符 !"
|
:100635AA 680C032610 push 1026030C
:100635AF E8FC921800 call 101EC8B0
:100635B4 81C658010000 add esi, 00000158
:100635BA 83C404 add esp, 00000004
:100635BD 8BCE mov ecx, esi
:100635BF E82CA21800 call 101ED7F0
:100635C4 8B5620 mov edx, dword ptr [esi+20]
:100635C7 8B3D387D2010 mov edi, dword ptr [10207D38]
:100635CD 6A14 push 00000014
:100635CF 6A00 push 00000000
:100635D1 68B1000000 push 000000B1
:100635D6 52 push edx
:100635D7 FFD7 call edi
:100635D9 8B4620 mov eax, dword ptr [esi+20]
:100635DC 6A00 push 00000000
:100635DE 6A00 push 00000000
:100635E0 68B7000000 push 000000B7
:100635E5 50 push eax
:100635E6 FFD7 call edi
:100635E8 8B4C2420 mov ecx, dword ptr [esp+20]
:100635EC 64890D00000000 mov dword ptr fs:[00000000], ecx
:100635F3 5F pop edi
:100635F4 5E pop esi
:100635F5 5B pop ebx
:100635F6 83C420 add esp, 00000020
:100635F9 C3 ret
小弟认为:10063532 745A je 1006358E这句是关键跳,可是无论把74改称75或者eb,都无法成功注册,另外,这里有两个注册成功和注册失败的提示,小弟不清楚为什么。另外jge是什么意思?小弟刚学破解不久,对这个很有兴趣,麻烦高手指点一下,看问题出在那里?如果高手需要程序看看,小弟不太方便在论坛放出,麻烦高手加小弟的qq:29459493,谢谢