软件开发商简介:www.dpsw.cn
研究软件下载地址:http://u.115.com/file/bhz0umf1
软件破解过程(不脱壳,直接追注册码录像)下载地址:http://u.115.com/file/d2bmokx#
加密壳类型:NSpack3.7
加密方式:硬件捆绑。好像是硬盘捆绑,发现用硬盘驱动拦截工具只能修改机器码的后8位(共24位)。
困惑:脱壳后不显示菜单;用较低版本追密码的方法不能追到高版本的密码。
=========================
脱壳篇
=========================
用ESP定律可以脱壳,后来网上看到一种直接搜索的方法更简单,介绍一下。
脱壳开始:
1.用OD打开主程序,界面如下。
04BFC902 > 9C pushfd ; 后进栈,将来先出栈,标志:popfd
04BFC903 60 pushad ; 先进栈,将来后出来,标志:popad
04BFC904 E8 00000000 call 04BFC909 ; 那么直接搜索:popfd或popad命令就应该找到出栈地址
04BFC909 5D pop ebp ; 按ctrl+F,开始查找POPAD
04BFC90A 83ED 07 sub ebp, 7
04BFC90D 8D8D 2AEBFFFF lea ecx, dword ptr [ebp-14D6]
04BFC913 8039 01 cmp byte ptr [ecx], 1
04BFC916 0F84 42020000 je 04BFCB5E
:
:
:
------------------------------------------------
04BFCB5E B8 00000000 mov eax, 0
04BFCB63 83F8 00 cmp eax, 0
04BFCB66 74 0A je short 04BFCB72
04BFCB68 61 popad ; 结果跳转到这里,用鼠标点击这里,按F4直接跳到这里。
04BFCB69 9D popfd
04BFCB6A B8 01000000 mov eax, 1
04BFCB6F C2 0C00 retn 0C ; 注意:下面还有一个popad
04BFCB72 61 popad ; 用鼠标点击这里,按F4直接跳到这里也能进OEP。
04BFCB73 9D popfd
04BFCB74 - E9 979A8BFF jmp 044B6610
04BFCB79 8BB5 B6EAFFFF mov esi, dword ptr [ebp-154A]
04BFCB7F 0BF6 or esi, esi
04BFCB81 0F84 97000000 je 04BFCC1E
04BFCB87 8B95 BEEAFFFF mov edx, dword ptr [ebp-1542]
04BFCB8D 03F2 add esi, edx
04BFCB8F 833E 00 cmp dword ptr [esi], 0
-------------------------------------------------------------
在上面地址处按F4后显示如下:
044B6610 55 db 55 ; CHAR 'U'
044B6611 8B db 8B
044B6612 EC db EC
044B6613 83 db 83
044B6614 C4 db C4
044B6615 F0 db F0
044B6616 53 db 53 ; CHAR 'S'
044B6617 B8 db B8
044B6618 88 db 88
044B6619 58 db 58 ; CHAR 'X'
044B661A 4B db 4B ; CHAR 'K'
044B661B 04 db 04
044B661C E8 db E8
044B661D BB db BB
看来已经成功了。
在空白处点击鼠标右键,选择:分析--从模块中删除分析,界面显示会如下:
044B6610 55 push ebp
044B6611 8BEC mov ebp, esp
044B6613 83C4 F0 add esp, -10
044B6616 53 push ebx
044B6617 B8 88584B04 mov eax, 044B5888
044B661C E8 BBB0B4FF call 040016DC
044B6621 8B1D 281E9D04 mov ebx, dword ptr [49D1E28] ; VCL60.Forms::Application
044B6627 8B03 mov eax, dword ptr [ebx]
044B6629 E8 BED4B4FF call 04003AEC ; jmp 到 VCL60.Forms::TApplication::Initialize
044B662E 8B03 mov eax, dword ptr [ebx]
044B6630 83C0 50 add eax, 50
044B6633 BA 7C674B04 mov edx, 044B677C ; ASCII "D:\dps2000\Dpshelp.hlp"
044B6638 E8 23ADB4FF call 04001360 ; jmp 到 RTL60.System::LStrAsg
044B663D 8B03 mov eax, dword ptr [ebx]
接下来,再脱壳。
点击鼠标右键,选择“dump debugged process”,接着会弹出一个对话框,点击中间的“Get EIP as OEP”,然后点击“DUMP”,随便起个名字保存脱壳后的文件。
但是,手工脱壳和用loveboom高人制作的NSPACK3.7脱壳机脱的结果一样——不能显示菜单!后来在天草论坛求助过,但是现实菜单后不能跟踪,所以舍弃之。
请问脱壳界的高人,这个要怎么修复才能显示菜单还能正常跟踪?
真诚拜求,请指教!
==========================================
破解篇
==========================================
这个是上面程序的高级版,也是采取相同加密手段和注册方法的(最新版的是机器狗加密,加密方式变了,我不研究)。
高级版下载地址:http://u.115.com/file/ewfhl8ra
遇到的问题:上面低版本的破解方法不能在高版本中应用,即再也看不见密码了,请求高人指点如何找到密码。
我所研究的进展:
1.低版本和高版本注册方式相同。注册后,在C:\windows\SYSTEM32文件夹下会产生一个VCLBMP50.BPL的文件,如果注册软件后拿走这个文件,再次打开软件就要求重新注册,放回去后打开就不用注册了(用监视文件发现该软件主程序只修改了这一个文件,说明注册表应该没有注册信息保留)。
2.2个版本的注册标识不一样。同样注册后都产生一个VCLBMP50.BPL,但是先注册的版本产生的VCLBMP50.BPL会被后注册的修改注册标识,造成先注册的标识丧失,即注册标识在相同地方,但标识不同,切该位置只能有一个标识存在。
3.用BPL v1.1这个程序打开2个版本产生的VCLBMP50.BPL,发现里面的内容是不同的,但是好像这个文件被加密了,只能看到一堆乱码。
本人才疏学浅,基础较差,希望高人不吝指教,谢谢!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课