安卓逆向 -- IDA基本用法

简介: 安卓逆向 -- 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文件分析完毕


0a2653c851af460fa595bd959398a8f1.png


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


0eacb84100b54626af849e6b562bf92a.png


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


2d65d23f6d4748949b924e4057485923.png 2e9b90b2ca334476abebe75bafe6eeaa.png


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


4cebaac233b3433da32a72337a77fc60.png


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


6de278e6d6694ce5bb08e7e842b7e74b.png


隐藏后


7a399525ddec4b77923c464820b33738 (1).png


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


7a399525ddec4b77923c464820b33738.png


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


4cebaac233b3433da32a72337a77fc60.png

6de278e6d6694ce5bb08e7e842b7e74b.png


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


0a2653c851af460fa595bd959398a8f1.png


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


0eacb84100b54626af849e6b562bf92a.png 2d65d23f6d4748949b924e4057485923.png


禁止非法,后果自负

目录
相关文章
|
2月前
|
网络协议 Shell Linux
安卓逆向 -- IDA动态调试
安卓逆向 -- IDA动态调试
24 0
|
8月前
|
Android开发
Android 中选项菜单(Option menu)的用法
Android 中选项菜单(Option menu)的用法
84 0
|
8月前
|
Android开发
Android studio中的调试(Debug)按钮具体用法
Android studio中的调试(Debug)按钮具体用法
120 0
|
8月前
|
XML Android开发 数据格式
Android 动画之帧动画(也叫图片动画)的用法
Android 动画之帧动画(也叫图片动画)的用法
148 0
|
8月前
|
Android开发
Android 中String.format()的用法
Android 中String.format()的用法
54 0
|
8月前
|
Android开发
Android onActivityResult()的属性与用法
Android onActivityResult()的属性与用法
94 1
|
8月前
|
XML Android开发 数据格式
Android XML 布局基础(二)ID 用法
Android XML 布局基础(二)ID 用法
192 0
|
11月前
|
XML Android开发 数据格式
Android shape的用法详解
Android shape的用法详解
Android shape的用法详解
|
网络协议 Shell Linux
安卓逆向 -- IDA动态调试
安卓逆向 -- IDA动态调试
308 0
安卓逆向 -- IDA动态调试
|
Java Android开发 数据安全/隐私保护
安卓逆向 -- IDA基本用法
安卓逆向 -- IDA基本用法
223 0
安卓逆向 -- IDA基本用法