Android逆向分析--so文件
2016-03-07 17:04
260 查看
1、创建名称为hello的Android工程,借助Eclipse ADT插件快速添加Native Support的方法
android工程右键--》Android Tools--》Add Native Support即可2、在MainActivity中编写如下代码
public class MainActivity extends ActionBarActivity { //加载名称为hello的类库 该类库对应的是obj目录下文件名称为libhello.so //该文件是由lib+类库名称+.so构成 static{ System.loadLibrary("hello"); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toast.makeText(this, "add "+heloWorldForJni(100), 0).show(); } //编写一个native方法 public native int heloWorldForJni(int count); }
3、借助javah指令生成jni中对应的方法名
4、在hello.cpp文件中添加如下代码
#include<stdio.h> #include<string.h> #include <jni.h> //兼容c extern "C" { JNIEXPORT jint JNICALL Java_com_example_hello_MainActivity_heloWorldForJni (JNIEnv *, jobject, jint); } jint JNICALL Java_com_example_hello_MainActivity_heloWorldForJni (JNIEnv * env, jobject obj , jint count) { return count+99; }
5、将生成好的so文件拖入到IDA中
将生成好的so文件拖入到IDA中,在Function name模块中按 Ctrl + F ,因为jni中的方法名都是java开头, 输入java 便可找到了我们的jni方法6、双击该方法名 按F5,便可看到我们的对应的c代码
相关文章推荐
- Android开发入门与实践(第2版)
- 让ViewGroup中Fragment可见时才加载和不重复加载的方法
- android动画速率Interpolator类的一些认识
- android edittext 点击回车会响应两次的解决方案
- android-studio快捷键(md格式)
- android 自写 ViewPager
- Android 退出Activity的方式
- Android 应用 如何屏蔽系统中的后退键
- Android Ibeacon可行性分析
- Android编码规范
- Android JSBridge的原理与实现
- 为什么Android要增加Binder
- [置顶] android开发之gridView的一些属性。(项目经验总结)
- Android如何在任意界面弹出窗口
- android开发系列之6*0.9不等于5.4
- Android滑动事件冲突(demo演示)
- android应用程序静态分析工具androguard初体验
- 推荐几款实用的Android Studio 插件
- Android Studio如何创建NDK工程
- android 很好的開源項目