爱意满满的作品展示区。
Sh4ww

Python 安卓逆向工具库

  •  1
     
  •   Sh4ww ·
    sledgeh4w · Sep 21, 2022 · 2886 views
    This topic created in 1328 days ago, the information mentioned may be changed or developed.

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