企鹅飞车辅Z脱壳爆破记录
运行环境:WINXP虚拟机
涉及工具:
OD
教程类型:
逆向限制
是否讲解思路和原理:
是
以下为图文内容:
很久之前的一个企鹅飞车FZ
拖进Exepeinfo查壳为nsPack,区段显示cyb1是作者自定义的,知道是nsPack就行
下面提示试试Quick upakck v4.2
脱壳是为了分析和爆破的时候更方便,也可以选择带壳分析,但是nsPack有脱壳机,也可以手脱,何乐而不为呢?
用Quick upakck v4.2打开文件,选择软件
OEP可以从第一个选项开始试,这个软件选择第二个GeTaOEP by Dilla,tPORt,因为第一个选项的时候程序跑飞了,脱壳失败。
OEP选项被选择后,会在后面的编辑框里自动填入OEP的地址,然后点击Full unpack,脱壳机就开始输出了,同时弹出导入表的窗口,点击Save保存即可。
脱壳完成,会在原程序的同目录下输出同名 +“__”的文件即脱好壳的程序。
打开即弹信息框提示:
为防止软件自删除,此时将原程序备份,点击确定果然打开了网盘链接,并释放了vbs脚本将原程序自删除了。
拖入OD后通过搜索字符串定位到这里
这条字符串上面的跳转很可疑,在此处下断点,F2或者右键 - 断点(P) - 切换。
下好断点之后F9启动程序,程序果然在跳转的地方中断了,且并未实现跳转,所以接下来会向下面的指令执行,直到弹出消息框,打开浏览器引导到网盘,然后释放自删除脚本,删除自身。
将跳转指令jnz改成jmp即无条件跳转,使其跳过下面的指令
改完之后将断点取消,F2右键 - 断点(P) - 切换,然后再F9一次观察情况
此时登录界面弹出,那就是完美的过更新弹窗了,将修改保存:
建议重命名,我一般会按照修改来记录,比如此处命名为“原程序-过更新.exe”
保存好后再打开,正常运行就可以了,发现没有登录按钮?大概率是脱壳没脱好的原因。
不过也不要紧,进程序功能界面的方法有很多,没有登陆按钮又何妨。
通过入口点特征和易语言的标志性位置易语言体特征等判断为易语言程序,那就先试试窗口push吧。
借用工具EWND枚举所有窗口ID,然后将所有ID都载入测试:
这个程序只有两个窗口,一个登录界面和一个功能窗口界面,通过EWND得知:
1 52010006 登录界面窗口ID
2 520154CB 功能界面窗口ID
重新载入程序,快捷键Ctrl + F查找命令输入push 10001这是易语言载入窗口特征码
搜索到的第一处,一般情况下都是第一个载入的窗口,此软件第一个载入的窗口是登录窗口,对应ID为52010006,将此处改为功能窗口的ID520154CB会有什么效果呢?
可以看到,修改了此处的窗口ID后启动直接载入了功能窗口,那也就是爆破成功了,将修改保存,重命名为“原程序-过更新-push窗口.exe”
自此爆破成功
还想写一些拓展的,比如用别的方法爆破,和修改版权等等,但是码了这么多字,截图什么的就用了一下午,待我有时间更新吧。
PS:
本篇爆破的软件功能已经失效,是我人生中逆向的第一个软件,所以想记录一下当年我的学习历程。
也是给新手朋友们一些定心丸,不要怕逆向很难,在吾爱汇编这么好的学习环境里,你学不会都难。
想练练手的同学们不好意思,我不想发软件出来,毕竟里面有些重要数据,吾爱汇编是以学习为主,大肆搞别人吃饭的东西不太好。
工具下载地址回复可见
**** Hidden Message *****
Thanks~ 向楼主致敬! 谢谢你的分享 脱了壳 有push 看来不错 可以啊 ,这技术像大佬 鄙人不才 发表于 2022-1-22 18:44
可以啊 ,这技术像大佬
没有的,我也是从吾爱汇编找教程自学的,现在也就是比新手强一点 Only1Studio 发表于 2022-1-22 18:46
没有的,我也是从吾爱汇编找教程自学的,现在也就是比新手强一点
那也比我强,可以熟练使用各种工具{:5_117:} 谢谢分享 感谢楼主 谢谢分享