逆向工程--crackme#2小程序

  首先运行这个小程序

这个小程序要求我们找出序列号,推测有可能是根据输入的name来生成serial,那么尝试输入

运行check

弹出序列号错误的消息框,多次尝试的结果应是一样的,除非你已经知道了这个程序的加密原理或是凑巧序列号输入正确

虽然这个小程序是使用vb进行编写的,但是在这里不对vb进行讲解

打开ollydbg调试这个程序,调试到此位置,即00401238

那么如何查找相关程序入口呢,那么可以根据刚才的消息框"Wrong Serial!"进行字符串查找,即search->all referenced text strings,然后查找wrong serial,如图

双击定位到此地址

那么对于此程序,若name和serial匹配则应弹出匹配的消息框,那么从编程的角度而言,应该存在字符串的比较,若比较成功则如何,比较不成功又如何,那么查找对应的上下文,最终发现在00403332发现了条件转移的代码

00403329处的函数应为字符串比较函数,上方的两个push的两个通用寄存器应为比较的字符串,然后在00403324处设一个断点,按f8继续运行,直到弹出小程序,然后输入name和serial,,点击check,程序就会在中断处停止,按f8继续,调试到00403329处

然后可以看到eax和edx的值,再寻找对应的地址

对于edx对应的地址为输入的serial,eax对应的地址为实际的serial,最后再运行程序输入对应的name和serial,name和serial对应了

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值