V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Sh4ww
V2EX  ›  分享创造

Python 安卓逆向工具库

  •  1
     
  •   Sh4ww ·
    sledgeh4w · 2022-09-21 20:55:00 +08:00 · 2141 次点击
    这是一个创建于 830 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Gravitum

    简介

    帮助实现反编译代码的 Python 工具库。

    功能

    • 提供了固定位数的整型( int8 、uint8 等),运算时不必再额外处理溢出等问题。
    • 提供了 vptr ,可以在 bytearray 上模拟指针的操作。
    • 提供了一些反编译器内置函数的实现,如 IDA 中的 LOBYTE 、HIBYTE 、bswap32 、__clz 、__ROR4__ 等,Ghidra 中的 ZEXT14 、SEXT14 、SUB41 、CARRY4 、SCARRY4 等。

    项目地址

    https://github.com/Sh4ww/gravitum

    Infernum

    简介

    安卓 Native 库模拟框架,主要用来模拟执行纯运算的 Native 函数(不支持 JNI 、文件系统)。

    项目地址

    https://github.com/Sh4ww/infernum

    总结

    两个项目分别从两个方向(过程实现、模拟执行)去解决安卓逆向中 Native 层算法复现的问题,欢迎 Star 。

    7 条回复    2022-09-26 17:40:23 +08:00
    aileen212007
        1
    aileen212007  
       2022-09-23 13:48:14 +08:00
    模拟执行是基于 Unicorn 的, 推荐用 uindbg~ java 写的。
    Sh4ww
        2
    Sh4ww  
    OP
       2022-09-23 14:37:26 +08:00
    @aileen212007 unidbg 以及 AndroidNativeEmu 都尝试去模拟整个环境( JNI 、文件系统),它们给我感觉更接近调试工具,有点太“重”了,我这个项目主要针对 so 内的纯算法函数(大部分情况下,核心的算法函数也不会涉及到 JNI 、文件系统),使用场景也是在已经分析过 so 后再来以最小代价复现算法。
    gogf
        3
    gogf  
       2022-09-23 15:45:41 +08:00
    问下 win 下可以调用模拟执行不
    Sh4ww
        4
    Sh4ww  
    OP
       2022-09-23 16:28:49 +08:00
    @gogf 你是指在 win 上调用安卓 so 吗?这个是可以的。如果你指的是调用 win 上的 dll ,这个是不支持的。
    gogf
        5
    gogf  
       2022-09-26 17:00:06 +08:00
    @Sh4ww 是 win 上调用安卓 so ,pip 安装了 Infernum 库,但执行有问题
    Sh4ww
        6
    Sh4ww  
    OP
       2022-09-26 17:22:12 +08:00
    @gogf 可以把 so 和调用 demo 发过来我看一下吗,[email protected]
    gogf
        7
    gogf  
       2022-09-26 17:40:23 +08:00
    @Sh4ww 我使用的是你的 demo 和 so 文件,是环境问题,相关问题描述我已经发到你邮箱了,有时间可以帮忙看看,感谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   905 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:03 · PVG 04:03 · LAX 12:03 · JFK 15:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.