首页
社区
课程
招聘
[求助]大佬们,请赐教用Frida Hook出设备在安卓层中的调用堆栈
发表于: 2018-9-3 10:59 7290

[求助]大佬们,请赐教用Frida Hook出设备在安卓层中的调用堆栈

2018-9-3 10:59
7290
        没搞过安卓,但是查了查资料,xpose设备安装后没有图片显示,也打不开。所以选择用Frida来用。
        设备中点开软件,来到我需要分析的功能处,用工具分析看了这个功能界面和一些流程在安卓层中。之前用androidstudio动态调试过,但是不能单步调试,很麻烦,而且一下子看不出关键代码在哪里,也不知道调用了哪些个函数或者说方法。所以想HOOK出点击此功能按钮后的调用堆栈,缩小分析区域。
        哥哥姐姐们出手吧!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 35
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这个貌似得找他 ui注册事件,然后一步步静态分析
2018-9-3 15:17
0
雪    币: 324
活跃值: (384)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
3
   Java.perform(function() {
                console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Exception").$new()));
            });
2018-9-4 09:03
2
雪    币: 905
活跃值: (1037)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4

https://codeshare.frida.re/@razaina/get-a-stack-trace-in-your-hook/
不过上面的代码有几个小错误需要修改一下

Java.perform(function () {
    var HttpRequestEntity = Java.use('com.example.class');
        var threadef = Java.use('java.lang.Thread');
        var threadinstance = threadef.$new();

        function Where(stack){
            for(var i = 0; i < stack.length; ++i){
                send(stack[i].toString());
            }
        }

        HttpRequestEntity.getSign.implementation = function (arg1,arg2,arg3) {
            var ret = this.getSign(arg1,arg2,arg3);
            var stack = threadinstance.currentThread().getStackTrace();
            send("Full call stack:" + Where(stack));
            //send("Deobfuscated " + ret + " @ " + stack[3].toString());
            return ret;
    };
});
最后于 2018-12-3 20:46 被La0s编辑 ,原因:
2018-9-5 22:16
1
雪    币: 27
活跃值: (1608)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
咋用呢??
2019-10-4 01:38
0
游客
登录 | 注册 方可回帖
返回
//