庆贺三周年兼向学长求助疑问!
先庆祝下 PYG BBS 三周年了。我是2年前开始关注的。因为一直没有邀请码,无法注册。其中有过几次机会都是稍纵即逝,没有注册上一个ID。我就算准了三周年肯定有大赦!^_^!终于可以发言了。可以提问了。可以和大家一起交流了。做哑巴的感觉真TMD苦啊!!!最近在帮一朋友破解一个电脑行业的软件。
官方下载地址:http://www.yuturj.com/htkj/computer31.rar (电脑行业管理系统 5.0.5.8)
先用 PEiD查! ASPack 2.12 -> Alexey Solodovnikov
马上开启 aspack 2.12脱壳机,得到_UnPacked.exe 。
*********
1、程序进入后有 未注册版字样。
2、采购开单等地方内打印预览后不能更改设计报表。
3、系统管理不能打开权限设置。
4、注册好像是要通过服务器认证的。
用论坛的 OD-ICY (在TOOLS.RAR里),打开后按学长的《野猫III龙族精华帖I.chm》方式。照猫画虎。
直接超级字符串查找“试用版不提供打印设计?”来到
00780600 .B8 40067800 MOV EAX,_UnPacke.00780640
====【疑问1:为什么我用超级字符串参考里的 Ctrl+F 查找会出现程序无法响应啊??晕死。。】
往上找。。找到
007805EB 90 NOP
007805EC .A1 38A99E00 MOV EAX,DWORD PTR DS:
007805F1 .8038 00 CMP BYTE PTR DS:,0
007805F4 .74 15 JE SHORT _UnPacke.0078060B
007805F6 .A1 A0BC9E00 MOV EAX,DWORD PTR DS:
007805FB .8338 0F CMP DWORD PTR DS:,0F
007805FE .75 0B JNZ SHORT _UnPacke.0078060B *** 就是他了! 呵呵。75变74 JE
00780600 .B8 40067800 MOV EAX,_UnPacke.00780640 ;试用版不提供打印设计?
00780605 .E8 5E4A2300 CALL _UnPacke.009B5068
0078060A .C3 RETN
0078060B >B8 60067800 MOV EAX,_UnPacke.00780660 ;打印设计
00780610 .E8 3FE1F6FF CALL _UnPacke.006EE754
00780615 .84C0 TEST AL,AL
00780617 .75 0B JNZ SHORT _UnPacke.0078062D
00780619 .A1 24BB9E00 MOV EAX,DWORD PTR DS:
0078061E .8B00 MOV EAX,DWORD PTR DS:
00780620 .8B80 44030000 MOV EAX,DWORD PTR DS:
00780626 .E8 AD6CEEFF CALL _UnPacke.006672D8
0078062B .EB 0A JMP SHORT _UnPacke.00780637
0078062D >B8 74067800 MOV EAX,_UnPacke.00780674 ;增加打印设计权限,请与管理员联系,在权限设置里增加?
00780632 .E8 314A2300 CALL _UnPacke.009B5068
00780637 >C3 RETN
------------------------------------------
呵呵。果然可以进去设计报表了!万里长征成功第一步!
后来就开始找注册信息。。。。结果就开始糊涂了。。。
太多的陷阱和判断。。我头都大了。。。
0071B00A . /75 0F JNZ SHORT _UnPacke.0071B01B
0071B00C . |B8 A0B87100 MOV EAX,_UnPacke.0071B8A0 ;密码不能为空!
0071B011 . |E8 125BD2FF CALL _UnPacke.00440B28
0071B016 . |E9 A4070000 JMP _UnPacke.0071B7BF
0071B01B > \68 B8B87100 PUSH _UnPacke.0071B8B8 ;自注册
0071B020 .8D45 F0 LEA EAX,DWORD PTR SS:
0071B023 .50 PUSH EAX
0071B024 .8B0D BCAF9E00 MOV ECX,DWORD PTR DS: ;_UnPacke.009F22A4
0071B02A .8B09 MOV ECX,DWORD PTR DS:
0071B02C .8B55 F4 MOV EDX,DWORD PTR SS:
0071B02F .8B45 F8 MOV EAX,DWORD PTR SS:
0071B032 .E8 3DD9FFFF CALL _UnPacke.00718974
0071B037 .8B45 F0 MOV EAX,DWORD PTR SS:
0071B03A .E8 79FDCEFF CALL _UnPacke.0040ADB8
0071B03F .83C0 02 ADD EAX,2 ;Switch (case -2..4)
0071B042 .83F8 06 CMP EAX,6
0071B045 .77 7D JA SHORT _UnPacke.0071B0C4
0071B047 .FF2485 4EB071>JMP DWORD PTR DS:
0071B04E .6AB07100 DD _UnPacke.0071B06A ;分支表 已用于 0071B047
0071B052 .79B07100 DD _UnPacke.0071B079
0071B056 .88B07100 DD _UnPacke.0071B088
0071B05A .C4B07100 DD _UnPacke.0071B0C4
0071B05E .97B07100 DD _UnPacke.0071B097
0071B062 .A6B07100 DD _UnPacke.0071B0A6
0071B066 .B5B07100 DD _UnPacke.0071B0B5
0071B06A >B8 C8B87100 MOV EAX,_UnPacke.0071B8C8 ;Case -2 of switch 0071B03F
0071B06F .E8 B45AD2FF CALL _UnPacke.00440B28
0071B074 .E9 46070000 JMP _UnPacke.0071B7BF
0071B079 >B8 DCB87100 MOV EAX,_UnPacke.0071B8DC ;验证超时或非法操作!; Case -1 of switch 0071B03F
0071B07E .E8 A55AD2FF CALL _UnPacke.00440B28
0071B083 .E9 37070000 JMP _UnPacke.0071B7BF
0071B088 >B8 F8B87100 MOV EAX,_UnPacke.0071B8F8 ;对不起,您不是我们的正式用户!; Case 0 of switch 0071B03F
0071B08D .E8 965AD2FF CALL _UnPacke.00440B28
0071B092 .E9 28070000 JMP _UnPacke.0071B7BF
0071B097 >B8 20B97100 MOV EAX,_UnPacke.0071B920 ;对不起,您的自注册密码错误,请与供销商联系!; Case 2 of switch 0071B03F
0071B09C .E8 875AD2FF CALL _UnPacke.00440B28
0071B0A1 .E9 19070000 JMP _UnPacke.0071B7BF
0071B0A6 >B8 54B97100 MOV EAX,_UnPacke.0071B954 ;卡号未激活,请提交注册信息!; Case 3 of switch 0071B03F
0071B0AB .E8 785AD2FF CALL _UnPacke.00440B28
0071B0B0 .E9 0A070000 JMP _UnPacke.0071B7BF
0071B0B5 >B8 78B97100 MOV EAX,_UnPacke.0071B978 ;对不起,您未交服务费或您的服务已到期,请与供销商联系,续交服务费!; Case 4 of switch 0071B03F
0071B0BA .E8 695AD2FF CALL _UnPacke.00440B28
0071B0BF .E9 FB060000 JMP _UnPacke.0071B7BF
0071B0C4 >68 02000080 PUSH 80000002 ;Default case of switch 0071B03F
0071B0C9 .8D55 E8 LEA EDX,DWORD PTR SS:
0071B0CC .8B45 FC MOV EAX,DWORD PTR SS:
0071B0CF .8B80 00030000 MOV EAX,DWORD PTR DS:
0071B0D5 .E8 4614D7FF CALL _UnPacke.0048C520
0071B0DA .8B4D E8 MOV ECX,DWORD PTR SS:
0071B0DD .A1 A8BC9E00 MOV EAX,DWORD PTR DS:
0071B0E2 .8B00 MOV EAX,DWORD PTR DS:
.
.
.
0071B17C .89C3 MOV EBX,EAX
0071B17E .8B4B 04 MOV ECX,DWORD PTR DS:
0071B181 .8D45 E0 LEA EAX,DWORD PTR SS:
0071B184 .BA E8B97100 MOV EDX,_UnPacke.0071B9E8 ;自注册出错!!出错代码:
0071B189 .E8 22A2CEFF CALL _UnPacke.004053B0
0071B18E .8B45 E0 MOV EAX,DWORD PTR SS:
0071B191 .50 PUSH EAX
0071B192 .8D45 DC LEA EAX,DWORD PTR SS:
0071B195 .E8 0E54EEFF CALL _UnPacke.006005A8
0071B19A .8D45 DC LEA EAX,DWORD PTR SS:
0071B19D .8B15 F4B79E00 MOV EDX,DWORD PTR DS: ;_UnPacke.009EA16C
0071B1A3 .8B12 MOV EDX,DWORD PTR DS:
0071B1A5 .E8 C2A1CEFF CALL _UnPacke.0040536C
0071B1AA .8B45 DC MOV EAX,DWORD PTR SS:
0071B1AD .5A POP EDX
0071B1AE .E8 BD42EEFF CALL _UnPacke.005FF470
0071B1B3 .8B4B 04 MOV ECX,DWORD PTR DS:
0071B1B6 .8D45 D8 LEA EAX,DWORD PTR SS:
0071B1B9 .BA E8B97100 MOV EDX,_UnPacke.0071B9E8 ;自注册出错!!出错代码:
0071B1BE .E8 EDA1CEFF CALL _UnPacke.004053B0
0071B1C3 .8B45 D8 MOV EAX,DWORD PTR SS:
0071B1C6 .E8 19742900 CALL _UnPacke.009B25E4
0071B1CB .E8 CC98CEFF CALL _UnPacke.00404A9C
0071B1D0 >33D2 XOR EDX,EDX
.
.
.
0071B670 .68 9CBB7100 PUSH _UnPacke.0071BB9C
0071B675 .8D95 40FFFFFF LEA EDX,DWORD PTR SS:
0071B67B .A1 78B89E00 MOV EAX,DWORD PTR DS:
0071B680 .8B00 MOV EAX,DWORD PTR DS:
0071B682 .8B40 60 MOV EAX,DWORD PTR DS:
0071B685 .8B08 MOV ECX,DWORD PTR DS:
0071B687 .FF51 50 CALL DWORD PTR DS:
0071B68A .8D85 40FFFFFF LEA EAX,DWORD PTR SS:
0071B690 .50 PUSH EAX
0071B691 .6A 00 PUSH 0
0071B693 .E8 6C7FCFFF CALL _UnPacke.00413604
0071B698 .83C4 14 ADD ESP,14
0071B69B .68 B0BB7100 PUSH _UnPacke.0071BBB0 ;成功注册,本机的卡号为
0071B6A0 .8D95 38FFFFFF LEA EDX,DWORD PTR SS:
0071B6A6 .8B45 FC MOV EAX,DWORD PTR SS:
0071B6A9 .8B80 00030000 MOV EAX,DWORD PTR DS:
0071B6AF .E8 6C0ED7FF CALL _UnPacke.0048C520
0071B6B4 .FFB5 38FFFFFF PUSH DWORD PTR SS:
0071B6BA .68 D0BB7100 PUSH _UnPacke.0071BBD0 ;,您已成为
0071B6BF .A1 9CB29E00 MOV EAX,DWORD PTR DS:
0071B6C4 .FF30 PUSH DWORD PTR DS:
0071B6C6 .68 E4BB7100 PUSH _UnPacke.0071BBE4 ;-(
0071B6CB .A1 1CAE9E00 MOV EAX,DWORD PTR DS:
0071B6D0 .FF30 PUSH DWORD PTR DS:
0071B6D2 .68 F0BB7100 PUSH _UnPacke.0071BBF0 ;)正式版!
0071B6D7 .8D85 3CFFFFFF LEA EAX,DWORD PTR SS:
0071B6DD .BA 07000000 MOV EDX,7
0071B6E2 .E8 3D9DCEFF CALL _UnPacke.00405424
0071B6E7 .8B85 3CFFFFFF MOV EAX,DWORD PTR SS:
0071B6ED .E8 3654D2FF CALL _UnPacke.00440B28
0071B6F2 .EB 3F JMP SHORT _UnPacke.0071B733
0071B6F4 >B8 04BC7100 MOV EAX,_UnPacke.0071BC04 ;请退出软件,删除软件目录下data\key.dat后,再进软件再试一次!
0071B6F9 .E8 2A54D2FF CALL _UnPacke.00440B28
0071B6FE .EB 33 JMP SHORT _UnPacke.0071B733
0071B700 >8B45 FC MOV EAX,DWORD PTR SS:
0071B703 .8B80 14030000 MOV EAX,DWORD PTR DS:
0071B709 .BA 50BA7100 MOV EDX,_UnPacke.0071BA50 ;cnt
0071B70E .E8 9DFFDAFF CALL _UnPacke.004CB6B0
0071B713 .8B10 MOV EDX,DWORD PTR DS:
0071B715 .FF52 58 CALL DWORD PTR DS:
0071B718 .83F8 03 CMP EAX,3
0071B71B .7C 0C JL SHORT _UnPacke.0071B729
0071B71D .B8 48BC7100 MOV EAX,_UnPacke.0071BC48 ;请与供应商联系,您本月注册次数已超过3次!
0071B722 .E8 0154D2FF CALL _UnPacke.00440B28
0071B727 .EB 0A JMP SHORT _UnPacke.0071B733
0071B729 >B8 7CBC7100 MOV EAX,_UnPacke.0071BC7C ;注册失败!
0071B72E .E8 F553D2FF CALL _UnPacke.00440B28
0071B733 >33C0 XOR EAX,EAX
0071B735 .5A POP EDX
0071B736 .59 POP ECX
0071B737 .59 POP ECX
0071B738 .64:8910 MOV DWORD PTR FS:,EDX
0071B73B .EB 7A JMP SHORT _UnPacke.0071B7B7
0071B73D .^ E9 5A90CEFF JMP _UnPacke.0040479C
0071B742 01 DB 01
0071B743 00 DB 00
0071B744 00 DB 00
0071B745 00 DB 00
0071B746 90934000 DD _UnPacke.00409390
0071B74A 4EB77100 DD _UnPacke.0071B74E
0071B74E .89C3 MOV EBX,EAX
0071B750 .8B4B 04 MOV ECX,DWORD PTR DS:
0071B753 .8D85 34FFFFFF LEA EAX,DWORD PTR SS:
0071B759 .BA E8B97100 MOV EDX,_UnPacke.0071B9E8 ;自注册出错!!出错代码:
0071B75E .E8 4D9CCEFF CALL _UnPacke.004053B0
0071B763 .8B85 34FFFFFF MOV EAX,DWORD PTR SS:
0071B769 .50 PUSH EAX
0071B76A .8D85 30FFFFFF LEA EAX,DWORD PTR SS:
0071B770 .E8 334EEEFF CALL _UnPacke.006005A8
0071B775 .8D85 30FFFFFF LEA EAX,DWORD PTR SS:
0071B77B .8B15 F4B79E00 MOV EDX,DWORD PTR DS: ;_UnPacke.009EA16C
0071B781 .8B12 MOV EDX,DWORD PTR DS:
0071B783 .E8 E49BCEFF CALL _UnPacke.0040536C
0071B788 .8B85 30FFFFFF MOV EAX,DWORD PTR SS:
0071B78E .5A POP EDX
0071B78F .E8 DC3CEEFF CALL _UnPacke.005FF470
0071B794 .8B4B 04 MOV ECX,DWORD PTR DS:
0071B797 .8D85 2CFFFFFF LEA EAX,DWORD PTR SS:
0071B79D .BA E8B97100 MOV EDX,_UnPacke.0071B9E8 ;自注册出错!!出错代码:
0071B7A2 .E8 099CCEFF CALL _UnPacke.004053B0
0071B7A7 .8B85 2CFFFFFF MOV EAX,DWORD PTR SS:
0071B7AD .E8 326E2900 CALL _UnPacke.009B25E4
0071B7B2 .E8 E592CEFF CALL _UnPacke.00404A9C
0071B7B7 >8B45 FC MOV EAX,DWORD PTR SS:
0071B7BA .E8 99F3D8FF CALL _UnPacke.004AAB58
0071B7BF >33C0 XOR EAX,EAX
------------------------------
初步判断
009A44E1 /75 28 JNZ SHORT _UnPacke.009A450B
009A4489|.68 B8499A00 PUSH _UnPacke.009A49B8 ;,注册后将使用我们正式版安装
包,提供免费升级和在线咨询!
006EB525 006EBE4A
009A44F5|.BA 044A9A00 MOV EDX,_UnPacke.009A4A04 ;(未注册)
0071B69B .68 B0BB7100 PUSH _UnPacke.0071BBB0 ;成功注册,本机的卡号为
00780600 .B8 40067800 MOV EAX,_UnPacke.00780640 ;试用版不提供打印设计?
006ec380已注册
00719E25 /EB 20 JMP SHORT _UnPacke.00719E47
地址=0071A07A
反汇编=PUSH _UnPacke.0071A484
文本字串=注册成功,您已成为
地址=0071B69B
反汇编=PUSH _UnPacke.0071BBB0
文本字串=成功注册,本机的卡号为
地址=0071A18E
反汇编=PUSH _UnPacke.0071A484
文本字串=注册成功,您已成为
地址=0071B088
反汇编=MOV EAX,_UnPacke.0071B8F8
文本字串=对不起,您不是我们的正式用户!
均是可以验证的。。。我就不知道怎么下手了。。
所以想请学长帮我破解下。如果不愿意写教程。。起码给我一个破解后的文件。我自己研究下。
[ 本帖最后由 srxtop 于 2007-12-6 19:06 编辑 ] 我[email protected] 通过附件发给我。谢谢!或者:235173 刚才看了
全面分析重启验证的使用方法和破解思路讨论
https://www.chinapyg.com/viewthread.php?tid=17200&extra=page%3D1
发现、注册后是需要重启的 。。
判断文件是user.dat
适用 第二条!
遇到重启验证后我们首先想到的肯定是软件要在重启的时候要验证注册码的正确性,那么是怎么验证的一个过程呢?
下面我简单分析一下可能性:
1、把注册码保存到注册表,利用注册表读取注册码,然后经过计算验证其正确性。
:lol: 2、建立一个文件,把注册信息保存到文件里,然后通过读取来验证。:lol:
3、也可能把先验证注册信息,如果正确,那么就保存到注册表或某个文件中,下次启动读取验证,如果为空则失败。 [补充]
-------------
009A7DF5 /EB 4F JNZ SHORT _UnPacke.009A7E46
***JNZ 改为 JMP
----------
009A7E68 /74 09 JE SHORT _UnPacke.009A7E73
***改为
009A7E68 90 NOP
009A7E69 90 NOP
--------------
009A7E71|. /75 28 JNZ SHORT _UnPacke.009A7E9B
****改为
009A7E71 /EB 28 JMP SHORT _UnPacke.009A7E9B
---------------
00713EF5|. /75 20 JNZ SHORT _UnPacke.00713F17
*****JNZ 改为 NOP
-----------
00713EC5|. /75 20 JNZ SHORT _UnPacke.00713EE7
******改为
00713EC5 /EB 20 JMP SHORT _UnPacke.00713EE7
-----------
现在进去显示 注册版。。。不过感觉好像还是没彻底破解。。问题在那里我也糊涂了!
解决了
1、程序进入后有 未注册版字样。
2、采购开单等地方内打印预览后不能更改设计报表。
但是
3、系统管理不能打开权限设置。 没解决!
希望有人帮帮我。谢谢! 最近在帮一朋友破解一个电脑行业的软件。
1.学习破解的动机一定要明确 我们学习破解不是为了帮助别人破解软件的 只是一种乐趣 爱好而已。
2.软件的加密并非都是很简单的,学习破解一定要有恒心和毅力。
3.从技术层面可以帮你,毕竟你写出了破文分析,但是从感情上不会帮忙的,简单提一点:
007805FB .8338 0F CMP DWORD PTR DS:,0F// 这样修改更合适写 mov DWORD PTR DS:,0F
007805FE .75 0B JNZ SHORT _UnPacke.0078060B 原帖由 Nisy 于 2007-12-7 00:36 发表 https://www.chinapyg.com/images/common/back.gif
最近在帮一朋友破解一个电脑行业的软件。
1.学习破解的动机一定要明确 我们学习破解不是为了帮助别人破解软件的 只是一种乐趣 爱好而已。
2.软件的加密并非都是很简单的,学习破解一定要有恒心和毅力。
3.从技术层 ...
-----------
首先感谢你的回复。
不过我试了你的方法。呵呵。程序执行却是错误的。根本打不开那页面。
CMP DWORD PTR DS:,0F 改为
MOV DWORD PTR DS:,0F
反而出错。不过还是谢谢你的热心。。其实这里已经没有问题了。
我难题是怎么完美破解。目前测试已经可以去除所有限制了。但还不属于完美的。。。 009A893C 807A 39 00 CMP BYTE PTR DS:,0
009A8940 74 4E JE SHORT _UnPacke.009A8990
009A8942|.A1 68169E00 MOV EAX,DWORD PTR DS:
009A8947|.8038 00 CMP BYTE PTR DS:,0
009A894A 74 31 JE SHORT _UnPacke.009A897D
009A894C|.833D B40E9E00>CMP DWORD PTR DS:,0F
009A8953 75 28 JNZ SHORT _UnPacke.009A897D
009A8955|.B8 9C899A00 MOV EAX,_UnPacke.009A899C ;试用版,不提供权限设置功能,请到我们主页www.yuturj.com看此功能的介绍!
009A895A|.E8 E192FFFF CALL _UnPacke.009A1C40
009A895F 6A 04 PUSH 4
009A8961|.6A 00 PUSH 0 ; |DefDir = NULL
009A8963|.6A 00 PUSH 0 ; |Parameters = NULL
009A8965|.68 E4899A00 PUSH _UnPacke.009A89E4 ; |www.yuturj.com
009A896A|.6A 00 PUSH 0 ; |Operation = NULL
009A896C|.A1 54249E00 MOV EAX,DWORD PTR DS: ; |
009A8971|.8B00 MOV EAX,DWORD PTR DS: ; |
009A8973|.8B40 30 MOV EAX,DWORD PTR DS: ; |
009A8976|.50 PUSH EAX ; |hWnd
009A8977|.E8 EC47A9FF CALL <JMP.&shell32.ShellExecuteA> ; \ShellExecuteA
009A897C|.C3 RETN
009A897D|>803D F57F9E00>CMP BYTE PTR DS:,0
009A8984 75 0A JNZ SHORT _UnPacke.009A8990
009A8986|.B8 9C899A00 MOV EAX,_UnPacke.009A899C ;试用版,不提供权限设置功能,请到我们主页www.yuturj.com看此功能的介绍!
009A898B|.E8 B092FFFF CALL _UnPacke.009A1C40
009A8990\>C3 RETN
这里没办法了!!!
74 75怎么跳也没用。。。 00926E4C/$807A 39 00 CMP BYTE PTR DS:,0
00926E50|.74 72 JE SHORT ok5_0_5_.00926EC4
00926E52|.8B15 FC899400 MOV EDX,DWORD PTR DS: ;ok5_0_5_.009482A4
00926E58|.803A 00 CMP BYTE PTR DS:,0
00926E5B|.74 31 JE SHORT ok5_0_5_.00926E8E
00926E5D|.833D 94829400>CMP DWORD PTR DS:,0F
00926E64|.75 28 JNZ SHORT ok5_0_5_.00926E8E
00926E66|.B8 D06E9200 MOV EAX,ok5_0_5_.00926ED0 ;试用版,不提供权限设置功能,请到我们主页www.yuturj.com看此功能的介绍!
00926E6B|.E8 ECA70000 CALL ok5_0_5_.0093165C
00926E70|.6A 04 PUSH 4 ; /IsShown = 4
00926E72|.6A 00 PUSH 0 ; |DefDir = NULL
00926E74|.6A 00 PUSH 0 ; |Parameters = NULL
00926E76|.68 186F9200 PUSH ok5_0_5_.00926F18 ; |www.yuturj.com
00926E7B|.6A 00 PUSH 0 ; |Operation = NULL
00926E7D|.A1 3C969400 MOV EAX,DWORD PTR DS: ; |
00926E82|.8B00 MOV EAX,DWORD PTR DS: ; |
00926E84|.8B40 30 MOV EAX,DWORD PTR DS: ; |
00926E87|.50 PUSH EAX ; |hWnd
00926E88|.E8 F75DB1FF CALL <JMP.&shell32.ShellExecuteA> ; \ShellExecuteA
00926E8D|.C3 RETN
=============
呵呵。快成我的网络日记本了! 终于破完了。没有任何限制。就是感觉我的方法太笨了。。。应该是找到关键位置直接跳转。我是用老办法。碰到一个修改一个,最原始的。。。
还是希望有高人指点下。。。给我个简单明了的分析或破解文件参考。谢谢!
页:
[1]