在学校的练习平台上找到了一个入门级的逆向小程序,给大家拿来练手。面向小白,大佬勿喷。
程序下载地址,密码:a4nh
解题思路:找到验证逻辑的条件判断指令处,通过修改条件跳转指令,使得程序接下来走验证成功流程,即可在验证成功弹出消息框中得到对应Key。
首先下载源程序,然后拖到PEiD分析一下 ,发现存在UPX的壳。
image
UPX脱壳工具网上有很多,随便找一个对程序进行脱壳即可。
image
脱壳成功,然后把脱壳后的程序拖到Ollydbg分析。
先查找所有参考文本字符串,定位到程序弹出错误的地方。
image
查找”Serial is error!”字符串
00440570地址
image
image
向下走,发现这个跳转是由上方004404D6地址跳转实现的
image
image
但是这个条件不是
继续向下走,00440500地址还有一处跳转,这个跳转是距离错误提示最近的
image
我们在此处用NOP填充
image
然后再次运行程序,输入任意字符得到Key
image
转载请标明出处:https://linuz.me/2019/06/21/simple-reverse.html