menu arrow_back 湛蓝安全空间 |狂野湛蓝,暴躁每天 chevron_right ... chevron_right (三)通过IDA获取加密的key chevron_right (三)通过IDA获取加密的key.md
  • home 首页
  • brightness_4 暗黑模式
  • cloud
    xLIYhHS7e34ez7Ma
    cloud
    湛蓝安全
    code
    Github
    (三)通过IDA获取加密的key.md
    1.5 KB / 2021-07-15 19:59:46
        (三)通过IDA获取加密的key
    ==========================
    
    通过导图查找
    ------------
    
    首先找到php\_screw.so文件,然后通过IDA分析(幸好之前跟基友要了份IDA)。加密过程是在pm9screw\_ext\_fopen函数中实现的,所以只需要到这个函数中去找加密部分即可。![3.png](./resource/(三)通过IDA获取加密的key/media/rId22.png)
    
    找到pm9screw\_ext\_fopen函数,双击,如下图所示:
    
    ![4.png](./resource/(三)通过IDA获取加密的key/media/rId23.png)
    
    然后右边的窗口就会如下图所示:
    
    ![1.png](./resource/(三)通过IDA获取加密的key/media/rId24.png)
    
    很明显,我标黄的就是加密密钥了,双击跳转至其指针保存处:
    
    ![2.png](./resource/(三)通过IDA获取加密的key/media/rId25.png)
    
    再次双击,跟踪变量,见下图,打码处就是密钥了。
    
    ![3.png](./resource/(三)通过IDA获取加密的key/media/rId26.png)
    
    如下图,右键,将十六进制的密钥转成十进制的,然后打开screwdecode.c,见下图9,将密钥替换掉,即可使用screw\_decode解密。
    
    ![4.png](./resource/(三)通过IDA获取加密的key/media/rId27.png)
    
    ![5.png](./resource/(三)通过IDA获取加密的key/media/rId28.png)
    
    通过伪代码查找
    --------------
    
    再找到目标函数之后,使用F5,查看伪代码,双击黄标也可以跳转到之前找到的位置。
    
    ![6.png](./resource/(三)通过IDA获取加密的key/media/rId30.png)
    
    参考链接
    --------
    
    > https://www.cnblogs.com/StudyCat/p/11268399.html
    
    
    links
    file_download