找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 4487|回复: 0

Android Hook 挂钩 框架 cydia substrate

[复制链接]

307

主题

228

回帖

7337

积分

用户组: 真·技术宅

UID
2
精华
76
威望
291 点
宅币
5587 个
贡献
253 次
宅之契约
0 份
在线时间
948 小时
注册时间
2014-1-25
发表于 2016-5-19 00:16:52 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有账号?立即注册→加入我们

×
本帖最后由 元始天尊 于 2016-5-20 18:50 编辑

substrate框架xposed框架dexposed框架
dalvik/art虚拟机支持dalvikdalvikdalvik/art
android版本支持2.x 3.x 4.x2.x 3.x 4.x2.x 3.x 4.x 5.x 6.x
hook能力java/c apijava apijava/c api(自身模块)
修改文件app_processliblog.so自身文件
hook时机app_process启动时app_process启动前加载so的时刻未知
hook方式修改method结构体重新映射java层对应的jni函数修改method结构体
c层hook类型inline未知
是否需要root
使用形式宿主+插件宿主+插件未知
风险app_process随每个版本变化加载so较多未知
ABIx86/armx86/arm未知
对于Android端Cydia Substrate 框架的完全逆向
已经完成90%的源码,现在开源给大家
https://github.com/lichao890427/CydiaSubstrate_OpenSource

剩下的只有x86和arm的指令集hook逻辑,由于指令集比较心烦,暂时不想继续

reverse and recover the code logic of Cydia Substrate on Android

Cydia Substrate is a hook library for android and ios device It's easy to anaylysis an app with this tool, while not Open-Source I'm doing reverse-engineering on it, and will soon recover it's main code

relevant files: substrate.h //c++ header file used in JNI layer hook substrate-api.jar //import package used in java layer hook substrate-bless.jar //used to remove properties(private,protect,etc...) in java layer hook com.saurik.substrate.apk//host apk, we can only develop plugin for it to install package \lib\armeabi \lib\x86 //real operation for hooking libAndroidBootstrap0.so //used to fake /system/lib/liblog.so and pull up libAndroidLoader.so each java process need to load liblog.so libAndroidLoader.so //used to pull all *.cy.so libAndroidCydia.cy.so //still in research libDalvikLoader.cy.so //still in research libsubstrate.so //provide jni layer hook low-level api libsubstrate-dvm.so //provide java layer hook low-level api libSubstrateJNI.so //used by substrate.apk to do c++ layer work libSubstrateRun.so //used by substrate.apk to do patch/unpatch/link/unlink operation update-binary.so //used by substrate.apk to recover patch/link operation


回复

使用道具 举报

QQ|Archiver|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2024-4-20 17:37 , Processed in 0.040077 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表