-
-
[旧帖]
[分享]某数据处理系统的脱壳和暴破
0.00雪花
-
发表于:
2007-9-22 15:10
3970
-
[旧帖] [分享]某数据处理系统的脱壳和暴破
0.00雪花
【作者邮箱】: no23q@163.com
【软件名称】: 见下载地址
【下载地址】: http://www.chinadps.net/download.htm
【加壳方式】: Nspack3.7
【保护方式】: 自校验(通过检查文件大小),重启验证注册码,未注册数据加入随机误差
【编写语言】: Dephi
【使用工具】: peid OllyDbg lordpe ImportREC_fix
【操作平台】: XP
【软件介绍】: http://www.chinadps.net/index.htm
【作者声明】: 我是菜菜,这都不算破文,只能算破解手记吧。本文纯属技术交流,只作学习使用,没有其它目的。
详情请看我的博客:http://zanjero.ygblog.com/
1 脱壳(Nspack壳,手动脱)
1.寻找入口
Ctrl+B 寻找二进制: 61 9d e9
04BCB9F7 C2 0C00 retn 0C
04BCB9FA 61 popad
04BCB9FB 9D popfd
04BCB9FC - E9 DB188CFF jmp DPS.0448D2DC
04BCBA01 8BB5 B6EAFFFF mov esi,dword ptr ss:[ebp-154A]
04BCB9FC - E9 DB188CFF jmp DPS.0448D2DC
(可以认为0448D2DC就是程序的入口)
这里壳己将程序解压完毕,下断!!
2.Dump(转存解压后的文件)
重新加载DPS,运行,断在入口
用LordPE抓取解压到内存中的文件,另存为ddps.exe
此时程序还不能运行,接下来就是重建输入表。
3.重建输入表
运行ImportREC,在下拉列表框中选择dps_0.exe进程
上面己得知dps.exe的OEP地址是0448D2DC,则在左下角OEP处填入OEP的RVA值,这里填上0048D2DC。点击“自动查找IAT”按钮,让其自动检测IAT偏移和大小,即IAT地址:00001000,大小00BC1000。
点击“获取输入表”按钮,让其分析IAT结构得到基本信息,输入表函数全部有效,很顺利。
勾选“添加一个新的节”,点击“修复转存文件”,选择第2步中另存的文件ddps.exe。
双击修复好的ddps.exe,发现它已经可以正常运行,不很正常地显示界面了(发现被脱壳就隐藏菜单,弄乱界面)。
调试过程请看我的博客:http://zanjero.ygblog.com/
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)