GithubHelp home page GithubHelp logo

huaerxiela / world Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ov3rf1ow/world

0.0 0.0 0.0 1.85 MB

一个运行时动态dex代码注入框架(需要root)

C++ 52.84% C 1.34% Java 43.06% CMake 2.76%

world's Introduction

World

1、World是什么

World是一个android平台的动态的运行时dex代码注入框架**(需要root权限)**

2、World的优势

1、传统Xposed框架的注入和更新都在系统启动,这样更新hook逻辑的时候需要重启系统,效率低下,尤其不适合逆向场景,XPatch将粒度缩小到每次重启app,但World更进一步,实现实时注入

2、注入的是dex文件,逻辑灵活性更强,包括但不仅限于hook

3、注入时机更加灵活,可以在app完全启动后注入(多数app防hook、调试都在启动的时候),且不采用ptrace机制,而是采用binder服务的形式(binder服务不同rom碎片化很强,无法针对检测),抗检测能力更强

4、实现、原理简单,无关逻辑较少,代码易于理解(后续会增加注释,高三党时间实在有限,这个项目也是突然有了这个想法花了一个周末赶出来的,git每次在我要用的时候都不怎么听话,这也是这个项目创建了repo却没有代码的原因)

5、扩展性好,可以自带hook环境,也可以随系统启动准备hook环境(取决于是要效率还是要抗检测,目前hook环境是 RPROP 大佬的AndHook,因为我的那个ArtHook适配还不够)

6、兼容性好,zygote的注入方式可以很轻易的转移到riru上,借助magisk。同时,hook的函数各个rom、版本签名目前来看相同

3、需要完善的地方

1、鉴权机制不足,后续可能考虑为requestLoadDex调用增加Context.enforceCallingPermission的鉴权方式

2、目前DexService处于system_server,zygote里JNI_CreateJavaVM回调时创建DexClassLoader总是返回null,无stacktrace(原方法已经执行),无法修改zygote实现全局注入,希望有知道原因的大佬可以issue一下或者发个pull request

2、如果在使用过程中发生任何问题,欢迎提issue,如果是遇到了hook函数兼容性的问题,请务必issue告诉我或自行pull request,我每周末在线维护

4、这篇README.md没有英文版本,之前的项目或多或少有。。。

4、关于作者

作者是个高三党,有人可能在github上见过我的几个不成熟的小项目(这个也是呢~)

喜好研究这些东西,浙江7选3,选的偏文科,也不知道学这为了啥,纯兴趣吧,挺有成就感

欢迎随意使用我的代码(虽然距离各位大佬还有很大差距),标明一下出处即可,谢谢

联系方式:发issue,我看见一定尽快回复、解决,希望各位理解

world's People

Contributors

gitee-org avatar fettdrac avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.