实例介绍
说明: =================================================================== 1). dex 转 jar 用的 enjarify,比目前常用的 dex2jar(d2j) 要稳定可靠得多,尤其是在处理重度混淆过的apk时 2). 用于对apk进行代码修改,扫描目标apk中函数,并在指定函数的开头部分 添加 调用自定义静态函数的代码 3). 省略 jar 转 smali 再回转的步骤,转而使用 objectweb.asm(ow2) 直接对 jar 文件进行 smali 注入 4). dex2jar 的步骤使用的是 google
【实例截图】
【核心代码】
SmaliInjector_Src_自己写的smali注入工具
├── 7z.dll
├── 7z.exe
├── cyy_game.keystore
├── google_enjarify
│ ├── CONTRIBUTING.txt
│ ├── debug.py
│ ├── enjarify
│ │ ├── byteio.py
│ │ ├── byteio.pyc
│ │ ├── dalvikformats.py
│ │ ├── dalvikformats.pyc
│ │ ├── dalvik.py
│ │ ├── dalvik.pyc
│ │ ├── flags.py
│ │ ├── flags.pyc
│ │ ├── __init__.py
│ │ ├── __init__.pyc
│ │ ├── jvm
│ │ │ ├── arraytypes.py
│ │ │ ├── arraytypes.pyc
│ │ │ ├── constantpool.py
│ │ │ ├── constantpool.pyc
│ │ │ ├── constants
│ │ │ │ ├── calc.py
│ │ │ │ ├── calc.pyc
│ │ │ │ ├── genlookup.py
│ │ │ │ ├── genlookup.pyc
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __init__.pyc
│ │ │ │ ├── lookup.py
│ │ │ │ ├── lookup.pyc
│ │ │ │ └── __pycache__
│ │ │ │ ├── calc.cpython-36.opt-1.pyc
│ │ │ │ ├── calc.pypy3-24.pyc
│ │ │ │ ├── genlookup.cpython-36.opt-1.pyc
│ │ │ │ ├── genlookup.pypy3-24.pyc
│ │ │ │ ├── __init__.cpython-36.opt-1.pyc
│ │ │ │ ├── __init__.pypy3-24.pyc
│ │ │ │ ├── lookup.cpython-36.opt-1.pyc
│ │ │ │ └── lookup.pypy3-24.pyc
│ │ │ ├── error.py
│ │ │ ├── error.pyc
│ │ │ ├── genmathops.py
│ │ │ ├── __init__.py
│ │ │ ├── __init__.pyc
│ │ │ ├── ir.py
│ │ │ ├── ir.pyc
│ │ │ ├── jvmops.py
│ │ │ ├── jvmops.pyc
│ │ │ ├── mathops.py
│ │ │ ├── mathops.pyc
│ │ │ ├── optimization
│ │ │ │ ├── consts.py
│ │ │ │ ├── consts.pyc
│ │ │ │ ├── __init__.py
│ │ │ │ ├── __init__.pyc
│ │ │ │ ├── jumps.py
│ │ │ │ ├── jumps.pyc
│ │ │ │ ├── options.py
│ │ │ │ ├── options.pyc
│ │ │ │ ├── __pycache__
│ │ │ │ │ ├── consts.cpython-36.opt-1.pyc
│ │ │ │ │ ├── consts.pypy3-24.pyc
│ │ │ │ │ ├── __init__.cpython-36.opt-1.pyc
│ │ │ │ │ ├── __init__.pypy3-24.pyc
│ │ │ │ │ ├── jumps.cpython-36.opt-1.pyc
│ │ │ │ │ ├── jumps.pypy3-24.pyc
│ │ │ │ │ ├── options.cpython-36.opt-1.pyc
│ │ │ │ │ ├── options.pypy3-24.pyc
│ │ │ │ │ ├── registers.cpython-36.opt-1.pyc
│ │ │ │ │ ├── registers.pypy3-24.pyc
│ │ │ │ │ ├── stack.cpython-36.opt-1.pyc
│ │ │ │ │ └── stack.pypy3-24.pyc
│ │ │ │ ├── registers.py
│ │ │ │ ├── registers.pyc
│ │ │ │ ├── stack.py
│ │ │ │ └── stack.pyc
│ │ │ ├── __pycache__
│ │ │ │ ├── arraytypes.cpython-36.opt-1.pyc
│ │ │ │ ├── arraytypes.pypy3-24.pyc
│ │ │ │ ├── constantpool.cpython-36.opt-1.pyc
│ │ │ │ ├── constantpool.pypy3-24.pyc
│ │ │ │ ├── error.cpython-36.opt-1.pyc
│ │ │ │ ├── error.pypy3-24.pyc
│ │ │ │ ├── __init__.cpython-36.opt-1.pyc
│ │ │ │ ├── __init__.pypy3-24.pyc
│ │ │ │ ├── ir.cpython-36.opt-1.pyc
│ │ │ │ ├── ir.pypy3-24.pyc
│ │ │ │ ├── jvmops.cpython-36.opt-1.pyc
│ │ │ │ ├── jvmops.pypy3-24.pyc
│ │ │ │ ├── mathops.cpython-36.opt-1.pyc
│ │ │ │ ├── mathops.pypy3-24.pyc
│ │ │ │ ├── scalartypes.cpython-36.opt-1.pyc
│ │ │ │ ├── scalartypes.pypy3-24.pyc
│ │ │ │ ├── writebytecode.cpython-36.opt-1.pyc
│ │ │ │ ├── writebytecode.pypy3-24.pyc
│ │ │ │ ├── writeclass.cpython-36.opt-1.pyc
│ │ │ │ ├── writeclass.pypy3-24.pyc
│ │ │ │ ├── writeir.cpython-36.opt-1.pyc
│ │ │ │ └── writeir.pypy3-24.pyc
│ │ │ ├── scalartypes.py
│ │ │ ├── scalartypes.pyc
│ │ │ ├── writebytecode.py
│ │ │ ├── writebytecode.pyc
│ │ │ ├── writeclass.py
│ │ │ ├── writeclass.pyc
│ │ │ ├── writeir.py
│ │ │ └── writeir.pyc
│ │ ├── main.py
│ │ ├── mutf8.py
│ │ ├── mutf8.pyc
│ │ ├── parsedex.py
│ │ ├── parsedex.pyc
│ │ ├── __pycache__
│ │ │ ├── byteio.cpython-36.opt-1.pyc
│ │ │ ├── byteio.pypy3-24.pyc
│ │ │ ├── dalvik.cpython-36.opt-1.pyc
│ │ │ ├── dalvikformats.cpython-36.opt-1.pyc
│ │ │ ├── dalvikformats.pypy3-24.pyc
│ │ │ ├── dalvik.pypy3-24.pyc
│ │ │ ├── flags.cpython-36.opt-1.pyc
│ │ │ ├── flags.pypy3-24.pyc
│ │ │ ├── __init__.cpython-36.opt-1.pyc
│ │ │ ├── __init__.pypy3-24.pyc
│ │ │ ├── main.cpython-36.opt-1.pyc
│ │ │ ├── mutf8.cpython-36.opt-1.pyc
│ │ │ ├── mutf8.pypy3-24.pyc
│ │ │ ├── parsedex.cpython-36.opt-1.pyc
│ │ │ ├── parsedex.pypy3-24.pyc
│ │ │ ├── treelist.cpython-36.opt-1.pyc
│ │ │ ├── treelist.pypy3-24.pyc
│ │ │ ├── util.cpython-36.opt-1.pyc
│ │ │ └── util.pypy3-24.pyc
│ │ ├── treelist.py
│ │ ├── treelist.pyc
│ │ ├── typeinference
│ │ │ ├── __init__.py
│ │ │ ├── __init__.pyc
│ │ │ ├── __pycache__
│ │ │ │ ├── __init__.cpython-36.opt-1.pyc
│ │ │ │ ├── __init__.pypy3-24.pyc
│ │ │ │ ├── typeinference.cpython-36.opt-1.pyc
│ │ │ │ └── typeinference.pypy3-24.pyc
│ │ │ ├── typeinference.py
│ │ │ └── typeinference.pyc
│ │ ├── util.py
│ │ └── util.pyc
│ ├── enjarify.bat
│ ├── enjarify.sh
│ ├── LICENSE.txt
│ └── README.md
├── main.bat
├── SmaliInjector
│ ├── android
│ │ └── StaticClass.java
│ └── pc
│ ├── Injector.java
│ ├── lib
│ │ ├── asm-5.0.3.jar
│ │ └── asm-tree-5.0.3.jar
│ └── MANIFEST.MF
└── 使用说明.txt
15 directories, 147 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论