今天在黑客手册上看到一个关于泡妞的电子书求破解 :love:
程序破解很简单,delphi写的,直接用dede载入找到登陆界面ok按钮的其实代码,用od载入程序。在代码开始处下断。运行程序,输入假的注册码直接就中断了,然后单步就看到关键的东西了。 😉
程序关键代码如下:
0049880C /. 55 PUSH EBP ;此处为确定按钮的开始代码
0049880D |. 8BEC MOV EBP,ESP
0049880F |. 6A 00 PUSH 0
00498811 |. 6A 00 PUSH 0
00498813 |. 53 PUSH EBX
00498814 |. 8BD8 MOV EBX,EAX
00498816 |. 33C0 XOR EAX,EAX
00498818 |. 55 PUSH EBP
00498819 |. 68 B2884900 PUSH 泡丁解妞.004988B2
0049881E |. 64:FF30 PUSH DWORD PTR FS:[EAX]
00498821 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
00498824 |. 8BC3 MOV EAX,EBX
00498826 |. 8B10 MOV EDX,DWORD PTR DS:[EAX]
00498828 |. FF92 04010000 CALL DWORD PTR DS:[EDX+104] ; 关键call1
0049882E |. 8B15 ACFF4900 MOV EDX,DWORD PTR DS:[49FFAC] ; 泡丁解妞.004A1D60
00498834 |. 8802 MOV BYTE PTR DS:[EDX],AL
00498836 |. A1 ACFF4900 MOV EAX,DWORD PTR DS:[49FFAC]
0049883B |. 8038 00 CMP BYTE PTR DS:[EAX],0
0049883E |. 75 19 JNZ SHORT 泡丁解妞.00498859 ; 关键跳1
00498840 |. 6A 00 PUSH 0 ; /Arg1 = 00000000
00498842 |. A1 00044A00 MOV EAX,DWORD PTR DS:[4A0400] ; |
00498847 |. 8B00 MOV EAX,DWORD PTR DS:[EAX] ; |
00498849 |. 66:8B0D C0884900 MOV CX,WORD PTR DS:[4988C0] ; |
00498850 |. B2 01 MOV DL,1 ; |下面为关键call2
00498852 |. E8 EDA4F9FF CALL 泡丁解妞.00432D44 ; \泡丁解妞.00432D44
00498857 EB 3E JMP SHORT 泡丁解妞.00498897 ; 关键跳2
00498859 |> 8D55 FC LEA EDX,[LOCAL.1]
0049885C |. 8BC3 MOV EAX,EBX
0049885E |. 8B08 MOV ECX,DWORD PTR DS:[EAX]
00498860 |. FF91 F8000000 CALL DWORD PTR DS:[ECX+F8] ; jscript.75BC80A2
00498866 |. 8B55 FC MOV EDX,[LOCAL.1]
00498869 |. A1 D4004A00 MOV EAX,DWORD PTR DS:[4A00D4]
0049886E |. E8 59B9F6FF CALL 泡丁解妞.004041CC
这里说明下修改方法,将关键跳1直接改为jmp就可以进入程序了。这样每次都会弹出注册窗口,直接登陆就可以了。
西面还可以跟入关键call1.程序的注册码是明文比较的,跟踪下注意寄存器,不久就看到真正注册码了。
EAX 0012F990
ECX 00000002
EDX 0012F9B8 ASCII 0C,”Tj5IUKyVOBL+”
EBX 00A87F54 ASCII “1889791186”
ESP 0012F9A0
EBP 0012FABC
ESI 00A9147C ASCII “121212”
EDI 00A8B030 ASCII “WINNNER810729”
EIP 0049748A 泡丁解妞.0049748A
真正注册码保存在edx中,到这里就可以制作内存注册机了,这个后面再说吧。