frida脚本运行在Android上,[原创]介召几个frida在安卓逆向中使用的脚本以及延时Hook手法...

0x00 frida简介

frida是近几年才推出的一款全平台的逆向神器。功能上主要采用动态hook的方式,加入log,修改逻辑等。可以对java,native等hook。

具体使用情况,谁用谁知道。废话不多说,直接上干货。

这里仅仅讨论安卓上面的情况,其他平台的咱不做研究

0x01 在java中的一些应用

1、延时Hook

安卓有一些多包的问题,另外有一些类是通过动态加载的方式来加载的。可能在hook触发的那个时间点,不会找到未加载的代码。

这个时候,可以通过在class loader上面加hook的方式,在hook的代码下进行二次绑定加载。

这里没有代码,需要各位同学自己尝试一下。

2、打印调用栈

调用栈,这个很有用。在分析的过程中,不一定会一定找到需要分析或者hook的函数。可能根据字符串等蛛丝马迹,仅仅找到一部分信息。

使用java调用栈,就可以找到方法的调用关系。

代码如下Java.perform(function () {

var thread = Java.use('java.lang.Thread');

var instance = thread.$new();

function where(stack){

var at = ""

for (var i = 0; i 

at += stack[i].toString() + "\n";

}

return at;

}

var ConnectionErrorMessages = Java.use("com.google.android.gms.common.internal.ConnectionErrorMessages");

ConnectionErrorMessages.getErrorMessage.overload('android.content.Context','int').implementation = function(mContext,mI){

console.log("gms i:"+ mI);

var ret = this.getErrorMessage(mContext,mI);

console.log("return:" + ret);

var stack = instance.currentThread().getStackTrace();

var full_call_stack

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值