软件破解逆向安全(二)关键CALL

在程序中,很多关键功能都是通过一个call来实现的,那么在我们破解软件的时候,找到这个关键call也就是我们必须要做的事情了,接下来我们通过受害者植物大战僵尸来研究一下怎么寻找这个关键call。

等待第一个太阳落下来,我们找一下1:

软件破解逆向安全(二)关键CALL

很多,等第二个阳光落下来,找2:

软件破解逆向安全(二)关键CALL

我们把这俩收一下,找一下0:

软件破解逆向安全(二)关键CALL

已经很少了,而且发现了一个静态地址,这个就很有趣了,我们看一下什么地方访问了这个地址:

软件破解逆向安全(二)关键CALL

什么也没有,等一个阳光。

软件破解逆向安全(二)关键CALL

落下一个阳光的时候出现了一句代码,我们点进去看看:

软件破解逆向安全(二)关键CALL

这个就应该是关键的函数地址了。但我们要知道,函数是可以一层一层的,就像这个样子:

函数1(函数2(函数3(。。。。)))

哪到底那层函数是我们想要的呢里有个经验之谈,关键函数可能有以下特征:

1、有跳转出现

2、有很多push,是用来传参的

接下来我们去od里玩了,记住刚才看到的地址。附加一下进程

软件破解逆向安全(二)关键CALL

在这下一个断点,等到阳光掉下来的时候,发现断了下来,然后我们crtl+F9运行到此函数返回,

软件破解逆向安全(二)关键CALL

倒数第一层call没什么东西,看下一层:

软件破解逆向安全(二)关键CALL

这一层好像有点东西,但是看了一下寄存器,都是些奇怪的地址,我们先看一下下一层:

软件破解逆向安全(二)关键CALL

这一层就非常明了,传了四个参,感觉有点东西,先在这里下个断点,然后禁用其他断点,运行一下等待阳光,我们在代码注入器里注入一下这一块的代码:

软件破解逆向安全(二)关键CALL

注意把寄存器换成对应的值。

软件破解逆向安全(二)关键CALL

然后我们取消断点,运行,注入一下远程代码:

软件破解逆向安全(二)关键CALL

然后发现多了一个阳光,嘿嘿,看来是找到了。接下来我们可以尝试改一下参数看看参数有什么用。3c->20 发现阳光出现的地方变高了,12a->20发现阳光偏左了,所以这俩应该是坐标。改一下4,emmm游戏崩了,看来这个还不能瞎改。

至此,我们已经找到了生成阳光的关键CALL,我们主要目的是要理解这个关键CALL是怎么找到的,不同程序会有不同的代码但思路是差不多的,有了这样的思路,我们能不能在吃鸡游戏里控制空投的掉落呢们在其他游戏里是不也可以干其他的事呢些我们都需要慢慢去探索。今天就说这么多,大家动手去试试吧!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

来源:孤客浪子

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年10月12日
下一篇 2020年10月12日

相关推荐