使用OD破解MrBills

这个软件可以练习找call

 

运行exe,点击about出现请求注册弹窗,根据关键字查找

双击进入代码位置,上面的jnz跳转路径表现的很明显

向上寻找修改z的代码,找到test。

可以看出al等于1时进行跳转

又因为al为 eax 的最低位,继续向上看找到call,即al的值由这个call返回

下个断点,运行程序进入call。发现两处call与al的组合,而两处call中的跳转在不进入时均不可实现。

推测有两步验证,进入第一个call,发现在一个call后临时用bl保存了al的值,另一个call和mov后又将其还原

仍然进入call,在其中bl的值先取补码为FF变成0后给了al。一路走,过两个RET后进入第三个call。发现与第一个call算法相同。走出call一路返回

尝试在call中直接将al改为1,成功

 

posted @ 2021-02-23 22:59  Zigzagggg  阅读(143)  评论(0)    收藏  举报