安卓逆向 -- 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


禁止非法,后果自负

目录
相关文章
|
编解码 前端开发 Android开发
Android经典实战之TextureView原理和高级用法
本文介绍了 `TextureView` 的原理和特点,包括其硬件加速渲染的优势及与其他视图叠加使用的灵活性,并提供了视频播放和自定义绘制的示例代码。通过合理管理生命周期和资源,`TextureView` 可实现高效流畅的图形和视频渲染。
891 12
|
Android开发 Kotlin
Android经典面试题之Kotlin中Lambda表达式有哪些用法
Kotlin的Lambda表达式是匿名函数的简洁形式,常用于集合操作和高阶函数。基本语法是`{参数 -> 表达式}`。例如,`{a, b -> a + b}`是一个加法lambda。它们可在`map`、`filter`等函数中使用,也可作为参数传递。单参数时可使用`it`关键字,如`list.map { it * 2 }`。类型推断简化了类型声明。
154 0
|
定位技术 Android开发
Intent在Android中的几种用法
Intent在Android中的几种用法
248 1
|
网络协议 Shell Linux
安卓逆向 -- IDA动态调试
安卓逆向 -- IDA动态调试
474 0
|
Android开发
Android 星级评分条的基本用法
Android 星级评分条的基本用法
244 2
|
Android开发
Android 中CheckBox复选框按钮的基本用法
Android 中CheckBox复选框按钮的基本用法
310 0
Android 中CheckBox复选框按钮的基本用法
|
Android开发
Android studio中的调试(Debug)按钮具体用法
Android studio中的调试(Debug)按钮具体用法
337 0
|
存储 Android开发
Android startActivityForResult和onActivityResult的基本用法
Android startActivityForResult和onActivityResult的基本用法
301 0
|
Android开发
Android 动画之Gif动画的用法(适用于Android9.0以上和以下)
Android 动画之Gif动画的用法(适用于Android9.0以上和以下)
333 0
|
Android开发
【Android 逆向】IDA 工具使用 ( 重命名函数 | 添加注释 | 添加标签 / 跳转标签 | 代码跳转前进 / 后退 )(二)
【Android 逆向】IDA 工具使用 ( 重命名函数 | 添加注释 | 添加标签 / 跳转标签 | 代码跳转前进 / 后退 )(二)
317 0
【Android 逆向】IDA 工具使用 ( 重命名函数 | 添加注释 | 添加标签 / 跳转标签 | 代码跳转前进 / 后退 )(二)

热门文章

最新文章