使用IDA反编译.so文件并修改
简述
之前一直在做应用层的开发很少接触底层,总感觉底层是一个很神秘的地方。最近各种原因之下有一些逆向的工作,但是好多应用的核心逻辑都是利用jni在c/c++层去实现的,这就给我们的逆向工作带来了很大的困难,所以了解底层知识还是比较重要的。逆向过程中java层面的逆向还是比较简单的,今天主要介绍一下如何逆向.so文件。
例子是我最近分析的一个项目,项目中数据是从.so库处理发出的。但是.so文件对手机的串号做了校验,也就是说只有固定的几部手机才能使用。
所以这篇博客最终的效果就是通过反编译.so文件,找到记录串号的Hex码修改为自己的串号,就可以绕过.so的串号校验了。
利用IDA反编译.so文件
IDA。是目前最棒的一个静态反编译软件,为众多0day世界的成员和ShellCode安全分析人士不可缺少的利器。IDA功能及其复杂,今天只是简单的介绍一些基本功能。
IDA的安装略过不讲,安装好之后打开IDA(Version 7.0.170914 Windows x64)第一次使用,选择直接选择Go即可,进入界面后左上角File—>Open选择要打开的so文件,我选择的是一个
armeabi-v7a指令集的.so文件。打开之后如下图设置,然后点击OK
1.png
打开后如下图