守望者--AIR技术交流
标题:
[android逆向]活用反射机制
[打印本页]
作者:
破晓
时间:
2015-1-19 10:05
标题:
[android逆向]活用反射机制
首先看一个简单的实现
在需要调用的地方写入一下代码:
<font color="rgb(51, 51, 51)">try
{
sJump = Class.forName("com.rect.jumpdemo.JumpHandle");
if(sJump != null)
{
Method method =
sJump.getMethod("CallBack", new Class[] { Integer.TYPE});
if(method != null)
method.invoke(null, new Object[] { Integer.valueOf(11)});
}
}
catch (Exception e) {
// TODO: handle exception
}</font>
复制代码
编写需要反射的类和函数:
package com.rect.jumpdemo;
import android.util.Log;
//
// @author Rect
// @version 2014-3-10
//
public class JumpHandle {
public static void CallBack(int a)
{
//反射回调 执行你想要的操作
}
}
复制代码
这样在执行的时候就可以不需要improt类而达到执行函数的目的.
这种方式在逆向中如何应用?
寻找需要程序执行你的代码的地方.
反编译classdex文件
把反射代码编译成Dalvik汇编代码
在该地方插入反射代码(上面的第一段).
把你需要执行的函数代码类编译成Dalvik汇编代码文件.
把Dalvik汇编代码文件放入classdex文件中
修复classdex文件
回编译APK.
本文来自:
http://shadowkong.com/archives/1612
欢迎光临 守望者--AIR技术交流 (http://www.airmyth.com/)