安卓逆向 -- IDA基本用法

本文详细介绍了如何分析一个Android APK中的Java层代码,发现并逆向工程了一个名为libwtf.so的动态链接库。通过IDA工具,解析SO文件,查看导出函数,定位到getSign方法,进一步转换为伪C代码以理解其内部实现。最终发现该函数主要功能是对输入字符串进行MD5加密。通过加载头文件辅助分析,使得代码逻辑更为清晰。此外,还展示了如何查找SO文件中的字符串资源,以获取更多线索。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、分析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

图片

图片

禁止非法,后果自负

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

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

图片

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

web安全工具库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值