炒股理财1.65破解方法
炒股理财1.63用的是ASPROTECT,而1.65用的却是ASPACK,只要我们找到了关键点说可以用内存补丁破解了。
下面是我分析的结果,感兴趣的朋友可以看看。(希望那位-=1212=-不要再跟我过不去了。)
PART A 30天时间限制。
PART B 注册时的关键点。
PART C 启动是的注册码。
PART D 显示关于时的注册码校验。
==========< PART A >=============
0167:0040B117 8BC6
MOV EAX,ESI
0167:0040B119 E86AEEFFFF CALL
00409F88
0167:0040B11E 80BEB005000000 CMP
BYTE PTR [ESI+000005B0],00 ;关键!当[ESI+5B0]=0时可以跳过未注册窗口。
0167:0040B125 0F85EA010000 JNZ
0040B315
;这里改成JMP 0040b315
0167:0040B12B 837D841E CMP
DWORD PTR [EBP-7C],1E ;30天的时间限制
0167:0040B12F 0F8EE0010000 JLE
0040B315
0167:0040B135 8B8694030000 MOV
EAX,[ESI+00000394]
0167:0040B13B E8DCE00C00 CALL
004D921C
0167:0040B140 E823E61300 CALL
00549768
0167:0040B145 DD9D48FFFFFF FSTP
REAL8 PTR [EBP-00B8]
0167:0040B14B DD8548FFFFFF FLD
REAL8 PTR [EBP-00B8]
0167:0040B151 D82538B34000 FSUB
REAL4 PTR [0040B338]
0167:0040B157 DD9D40FFFFFF FSTP
REAL8 PTR [EBP-00C0]
0167:0040B15D 8B9540FFFFFF MOV
EDX,[EBP-00C0]
0167:0040B163 8D8D38FFFFFF LEA
ECX,[EBP-00C8]
0167:0040B169 899538FFFFFF MOV
[EBP-00C8],EDX
0167:0040B16F 8D45D4
LEA EAX,[EBP-2C]
0167:0040B172 8B9544FFFFFF MOV
EDX,[EBP-00BC]
0167:0040B178 89953CFFFFFF MOV
[EBP-00C4],EDX
0167:0040B17E BAA3255600 MOV
EDX,005625A3
0167:0040B183 DD01
FLD REAL8 PTR [ECX]
0167:0040B185 DD9D50FFFFFF FSTP
REAL8 PTR [EBP-00B0]
0167:0040B18B 66C745A86800 MOV
WORD PTR [EBP-58],0068
0167:0040B191 E86E411500 CALL
0055F304
===========< PART B >============
0167:0041F2BE 015588
ADD [EBP-78],EDX
0167:0041F2C1 E83E021400 CALL
0055F504
0167:0041F2C6 294588
SUB [EBP-78],EAX
0167:0041F2C9 8BC6
MOV EAX,ESI
0167:0041F2CB E8F0F8FFFF CALL
0041EBC0
;注册时的关键,里面的算法。F8进入
0167:0041F2D0 294588
SUB [EBP-78],EAX
;算出的EAX值与[EBP-78]相减。
0167:0041F2D3 837D8800 CMP
DWORD PTR [EBP-78],00 ;比较[EBP-78]是否为00
0167:0041F2D7 0F85C0010000 JNZ
0041F49D
;正确则会跳至41F49D,也就是注册成功窗口。
0167:0041F2DD BA02000080 MOV
EDX,80000002
0167:0041F2E2 8BC3
MOV EAX,EBX
0167:0041F2E4 E887FF1300 CALL
0055F270
0167:0041F2E9 66C745A05000 MOV
WORD PTR [EBP-60],0050
0167:0041F2EF BA42D95600 MOV
EDX,0056D942
0167:0041F2F4 8D45DC
LEA EAX,[EBP-24]
0167:0041F2F7 E808001400 CALL
0055F304
0167:0041F2FC FF45AC
INC DWORD PTR [EBP-54]
0167:0041F2FF 8B10
MOV EDX,[EAX]
0167:0041F301 B101
MOV CL,01
0167:0041F303 8BC3
MOV EAX,EBX
========< PART C >==================
0167:00402498 8B9538FFFFFF MOV
EDX,[EBP-00C8]
0167:0040249E 8D45FC
LEA EAX,[EBP-04]
0167:004024A1 019530FFFFFF ADD
[EBP-00D0],EDX
0167:004024A7 E858D01500 CALL
0055F504
0167:004024AC 298530FFFFFF SUB
[EBP-00D0],EAX
0167:004024B2 8B15F4A35700 MOV
EDX,[0057A3F4]
0167:004024B8 8B02
MOV EAX,[EDX]
0167:004024BA E801C70100 CALL
0041EBC0 ;F8进入,里面有软件启动时的注册码算法。
0167:004024BF 298530FFFFFF SUB
[EBP-00D0],EAX ;EAX与[EBP-00D0]相减。
0167:004024C5 0FB797AC050000 MOVZX
EDX,WORD PTR [EDI+000005AC]
0167:004024CC 299530FFFFFF SUB
[EBP-00D0],EDX ;EDX与[EBP-00D0]相减。
0167:004024D2 83BD30FFFFFF00 CMP
DWORD PTR [EBP-00D0],00 ;关键,比较[EBP-00D0]是否为0
0167:004024D9 0F95C2
SETNZ DL
;设标志,正确时DL=0
0167:004024DC 83E201
AND EDX,01
0167:004024DF 8B8744030000 MOV
EAX,[EDI+00000344]
0167:004024E5 E852B20E00 CALL
004ED73C
0167:004024EA 8BC3
MOV EAX,EBX
0167:004024EC E85B6B0E00 CALL
004E904C
0167:004024F1 83BD30FFFFFF00 CMP
DWORD PTR [EBP-00D0],00
0167:004024F8 7507
JNZ 00402501
0167:004024FA C687B005000001 MOV
BYTE PTR [EDI+000005B0],01
0167:00402501 66C746108C00 MOV
WORD PTR [ESI+10],008C
0167:00402507 BA87195600 MOV
EDX,00561987
=========< PART D >============
0167:004203E0 E81FF11300 CALL
0055F504
0167:004203E5 294580
SUB [EBP-80],EAX
0167:004203E8 8B15F4A35700 MOV
EDX,[0057A3F4]
0167:004203EE 8B02
MOV EAX,[EDX]
0167:004203F0 E8CBE7FFFF CALL
0041EBC0 ;显示关于时的注册码校验算法与注册的是一样的。
0167:004203F5 294580
SUB [EBP-80],EAX
0167:004203F8 8BC7
MOV EAX,EDI
0167:004203FA E84D8C0C00 CALL
004E904C
0167:004203FF 837D8000 CMP
DWORD PTR [EBP-80],00
0167:00420403 0F85B3000000 JNZ
004204BC ;不跳时显示注册成功,并显示注册人和名字。
0167:00420409 66C746105000 MOV
WORD PTR [ESI+10],0050
0167:0042040F BA3DE65600 MOV
EDX,0056E63D
0167:00420414 8D45E0
LEA EAX,[EBP-20]
0167:00420417 E8E8EE1300 CALL
0055F304
0167:0042041C FF461C
INC DWORD PTR [ESI+1C]
0167:0042041F 8B10
MOV EDX,[EAX]
0167:00420421 8BC7
MOV EAX,EDI
0167:00420423 E8D48E0C00 CALL
004E92FC
0167:00420428 FF4E1C
DEC DWORD PTR [ESI+1C]
0167:0042042B 8D45E0
LEA EAX,[EBP-20]
0167:0042042E BA02000000 MOV
EDX,00000002
0167:00420433 E840EF1300 CALL
0055F378
0167:00420438 66C746105C00 MOV
WORD PTR [ESI+10],005C
==============================================
欢迎光临我的网站: g f h . 6 to 23 .c o m
gfh
2001.4.13
- 标 题:炒股理财1.65破解方法 (8千字)
- 作 者:parrot
- 时 间:2001-4-13 8:59:18
- 链 接:http://bbs.pediy.com