(三)通过IDA获取加密的key

通过导图查找

首先找到php_screw.so文件,然后通过IDA分析(幸好之前跟基友要了份IDA)。加密过程是在pm9screw_ext_fopen函数中实现的,所以只需要到这个函数中去找加密部分即可。3.png通过IDA获取加密的key/media/rId22.png)

找到pm9screw_ext_fopen函数,双击,如下图所示:

4.png通过IDA获取加密的key/media/rId23.png)

然后右边的窗口就会如下图所示:

1.png通过IDA获取加密的key/media/rId24.png)

很明显,我标黄的就是加密密钥了,双击跳转至其指针保存处:

2.png通过IDA获取加密的key/media/rId25.png)

再次双击,跟踪变量,见下图,打码处就是密钥了。

3.png通过IDA获取加密的key/media/rId26.png)

如下图,右键,将十六进制的密钥转成十进制的,然后打开screwdecode.c,见下图9,将密钥替换掉,即可使用screw_decode解密。

4.png通过IDA获取加密的key/media/rId27.png)

5.png通过IDA获取加密的key/media/rId28.png)

通过伪代码查找

再找到目标函数之后,使用F5,查看伪代码,双击黄标也可以跳转到之前找到的位置。

6.png通过IDA获取加密的key/media/rId30.png)

参考链接

https://www.cnblogs.com/StudyCat/p/11268399.html

Qingy文库 all right reserved,powered by GitbookFile Modify: 2021-07-15 19:59:46

results matching ""

    No results matching ""