软件开发商简介: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脱壳机脱的结果一样——不能显示菜单!后来在天草论坛求助过,但是现实菜单后不能跟踪,所以舍弃之。
请问脱壳界的高人,这个要怎么修复才能显示菜单还能正常跟踪?
真诚拜求,请指教!
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)