程序观察
这个程序是有壳的
打开程序,首先出现一个弹窗。弹窗关闭之后才会出现程序本体
程序没有让输入注册码的地方,只有一个地方显示 “Unregistered”。
可以看出来这个程序是让 去除弹窗和修改代码的。
脱壳
因为这个程序带壳,所以我们首先要脱壳。
在这之前我也没有手动脱壳的经验,但是脱壳工具都没用,无奈之下只能自己动了。
使用 OD 载入程序,可以看到代码头部有很多 push
向下执行,可以看到有相同数量的 pop,还有一个 jmp,很可能就是这里了
执行完跳转命令,来到了地址 401000 处
其实第一次不是这样的,是下面这样的(图是盗别人的。。)
这时候让 OD 分析一下就会变成我的代码的样子了,然后我们使用 OllyDump 脱壳(重建输入表要选方式 2,方式 1 会报错)
然后就脱壳成功了
程序分析
去除弹窗
使用 OD 载入程序,程序很简洁明了,去除弹窗的关键就是地址 40105c 处的跳转语句,只要将其修改为 jmp 4010D7
即可
修改状态
搜索字符串,可以看到 ”Unregistered”
跟进代码,由于此处代码只在刚开始的时候执行,所以需要在函数处下断点,然后重新加载程序。
查看函数的参数
将其 Text 参数修改为 00402050 即可
这个程序虽然是标的是三星,但是感觉并不难。还是说哪里有我忽略的地方?
相关文件在我的 Github