首页 > 其他 > 详细

通过smali注入log和函数调用堆栈

时间:2016-02-04 11:36:09      阅读:508      评论:0      收藏:0      [点我收藏+]

    0x00

    smali注入log,看本文前,请大家先看Android安全–加强版Smali Log注入

    有几点要说明:

    1、在上文中,crack.smali,并不是作者直接写的smali文件,而是先写java代码然后编译成dex,再用apktool把dex反编译成smali得到的。我们也可以用这种方法来注入我们自己定义的类。

    2、使用crack.smali时,要先修改寄存器的数量,然后再插入smali语句。


    0x01

    我们在反编译apk时,常常要知道函数的调用堆栈,对应的java代码如下:

    new Exception("print trace").printStackTrace();

    将其转换成smali语法的反汇编代码为:

    new-instance v0, Ljava/lang/Exception;

    const-string v1, "print trace"

    invoke-direct {v0,v1}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V

    invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V

   

     插入后,通过logcat即可观察到堆栈,使用命令adb logcat *:e。

通过smali注入log和函数调用堆栈

原文:http://blog.csdn.net/jltxgcy/article/details/50633704

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!