安卓逆向 -- 调用其他APK的SO文件

安卓逆向 -- IDA基本用法

一、分析apk的java层代码,发现调用了“wtf”这个so文件

package com.sichuanol.cbgc.util;
public class SignManager {
    static {
        System.loadLibrary("wtf");
    }
    public static native String getSign(String arg0, String arg1, String arg2) {
    }
}

二、找到apk的libwtf.so文件,拖进IDA,出现has been finished,代表该so文件分析完毕

三、查看导出文件,点击选项卡Exports,会看到一个带有getSign的名字,这是so层的命名规则,双击进入

四、进去后看到的是流程图,可以按空格键切换成汇编代码

五、汇编代码也看不懂,按F5可以切换到伪C代码

六、右击代码选择Hide casts,可以隐藏那些看着比较乱的指针

隐藏后

七、加载jin.h文件帮助我们分析代码,点击File--Load file--Parse C header file

八、选择第一个参数,右击,选择Convert to struct *,选择_JNIEnv,点击OK

九、重新查看代码就比较清晰了,整个操作就是对字符串进行MD5加密

十、查看SO文件中存在的字符串,点击view--Open subviews--Strings

禁止非法,后果自负

欢迎关注公众号:逆向有你

欢迎关注视频号:之乎者也吧


原文链接:,转发请注明来源!