美文网首页
一种对抗AndroidNativeEmu的方法

一种对抗AndroidNativeEmu的方法

作者: fenfei331 | 来源:发表于2020-11-26 11:38 被阅读0次

一、目标

最近在模拟执行某个so的时候发现了一个奇怪的错误,在执行到call_object_method的时候失败,仔细看了一下,发现这个so首先获取了 Activity类的getPackageManager方法 的jmethodID,然后用一个 Application类 的对象去调用这个jmethodID。

简单的解释就是 A类的对象中调用B类的方法?

二、分析

猜测是这样的: Application和Activity类中都有getPackageManager方法,而且功能都是一样的,所以为了优雅,google工程师就把这两个jmethodID的地址设置成一样的,这样造成了Application类的对象可以调用Activity类的getPackageManager。

这个猜测是不对的,jmethodID相同的真实原因是 : Application 和 Activity 都是 ContextWrapper 的子类, getPackageManager 是 ContextWrapper 里的方法,获取的两个 jmethodid 自然是一样的。 感谢@葫芦娃

lei.png

我们赶紧证明一下:


midsame.png

好了,现在我们只要拿到Application的对象,然后也去调用Activity类的getPackageManager,跑到这个call_object_method,

AndroidNativeEmu就罢工了

src

三、总结

开动脑筋,神奇的抵抗方式总是有的……

硬广一下, 奋飞的朋友们 的知识星球里有 全网唯一一个AndroidNativeEmu实操教程。 ε=ε=┌( >_<)┘

相关文章

  • 一种对抗AndroidNativeEmu的方法

    一、目标[http://91fans.com.cn/post/androidemubug/#_%E4%B8%80%...

  • Basis of AndroidNativeEmu

    安装使用 环境要求: python 3.7 (注意必须是3.7版本, 使用3.6装keystone的时候踩了坑) ...

  • 对抗的方法

    又走了一个明星。或是说,又一个正值青春韶华的女孩,走了。 因为她的耀眼,脱胎于世俗,所以一切举动都传为“放飞自我”...

  • AndroidNativeEmu中Hook gettimeofd

    一、目标[http://91fans.com.cn/post/timestopstwo/#_%E4%B8%80%E...

  • 2021-08-19

    所谓的对抗,为的不仅是保持年轻,而是要掌握与自己的身体和睦相处的方法。 曾经以为对抗是一种独具反抗精神,强与强之间...

  • 再也不用调so啦——centos7 MAC环境配置

    参考文章——再也不用调so啦跨平台模拟执行 - AndroidNativeEmu食用手册 这篇文章只介绍了wind...

  • Semantic Segmentation using Adve

    在本文中,作者提出了一种对抗训练方法来训练语义分割模型。 作者训练卷积语义分割网络以及对抗网络,以区分来自真实图片...

  • 作死也是一种对抗世界的方法

    从某个角度来说,作死可能是避免崩溃的最好方法。 众所周知,生活很难一直顺风顺水,前一秒你还乐的直蹦高,后脚落地你就...

  • 《自控力》第九章,别读这章:“我不要”力量的局限性(二)

    避免讽刺性反弹 怎么才能找到摆脱这种困境的方法呢?维格纳提出了一种对抗讽刺性反弹的方法。这个方法本身就很有讽...

  • 对抗拖延的方法

    1、调整做事的顺序为什么会拖延,很可能是因为觉得事情比较难,那么,为了不让“畏难”念头兴起,那就先做简单一点事也就...

网友评论

      本文标题:一种对抗AndroidNativeEmu的方法

      本文链接:https://www.haomeiwen.com/subject/weuaiktx.html