吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 3612|回复: 85

[原创逆向图文] CydiaSubstrate框架

  [复制链接]
1122cf 发表于 2020-11-6 10:16 | 显示全部楼层 |阅读模式

Cydia Substrate是一个基于Hook的代码修改框架,可以在Android、iOS平台使用,并实现修改系统默认代码。

一:substrate的API介绍


Substrate具体的运行是由下图这个jar包所执行。

图片64.png

1.Substrate的代码编写实现系统文字颜色篡改。

(1)创建一个空的Android工程,由于创建的工程将以插件的形式被加载,所以不需要activity,将SDK中的substrate-api.jar复制到project/ libs文件夹中。配置Manifest文件指定权限,cydia.permission. SUBSTRATE,如下图所示。

图片65.png

(2)创建一个类,类名为Main,类中包含一个static方法initialize,当插件被加载的时候,该方法中的代码就会运行,完成一些必要的初始化工作,如下图所示。

图片66.png

(3)添加meta标签,name为cydia.permission.SUBSTRATE,value为下一步创建的类名,例如Main,如下图所示。
                     
图片67.png

(4)为了实现HOOK,达到修改目标类中的代码的目的,需要得到目标类的一个实例,如下图所示。

图片68.png

(5)通过MS.MethodHook实例实现原代码的修改。为了调用原来代码中的方法,需要创建一个MS.MethodPointer类的实例,它可以在任何时候运行原来的代码,如下图所示。

图片69.png       

(6)返回颜色,重启系统即可,如下图所示。

图片70.png

2.Substrate的代码编写实现游戏金币篡改。
(1)定义方法,如下图所示。

图片71.png

(2)hook获取金币数的方法,如下图所示

图片72.png

(3)新建一个MethodPointer对象,如下图所示。

图片73.png

(4)开始hook方法,写入自己想改变的数据,如下图所示。

图片74.png


(5)调用原getMoney方法,将原方法的返回值放到coin_num,如下图所示。

图片75.png

(6)修改金币数,返回coin_num返回游戏即可,如下图所示。

图片76.png

二:native层hook

1.创建一个android程序,在android工程中新建jni文件夹,加入相关的头文件substrate.h和库文件。

例如:工程只支持arm,那就加入cydia_substrate\lib\armeabi下的两个so文件,如下图所示。

图片77.png

2.在AndroidManifest.xml中注册cydia的自定义权限cydia.permission. SUBSTRATE,设置android:hasCode为 "false",android:install Location 设置为 "internalOnly",如下图所示。

图片78.png

3.编写Hook模块代码,即上面的test.cpp ,如下图所示。

图片79.png
图片80.png
图片81.png


4.编写Android.mk,如下图所示。

图片82.png

5.ndk-build将在android工程中生成libs目录,如下图所示。
          
图片83.png

6.build android工程即可生成hook模块的apk安装包。

7.打开框架apk,点击“Link Substrate Files”,之后点击“Restart System”进行使用。       

8. Hook native demo运行之后,会打印每个程序加载so的情况,如下图所示

图片84.png

## 总结

今天主要分享了substrate的基本概念,substrate的API介绍,Substrate的代码编写实现系统文字颜色篡改,Substrate的代码编写实现游戏金币篡改,Substrate的native层hook。

评分

参与人数 25威望 +1 HB +35 THX +11 收起 理由
极速菜 + 1
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
459121520 + 1
消逝的过去 + 1
别来无恙 + 1
zyyujq + 1
liugu0hai + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
我是好人 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
小菜虫 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
dDack + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
小生搞不懂 + 1
三月十六 + 1
zwj00544 + 1
jueshi87 + 1
temp + 1 + 1
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
ghostxu + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
playboy + 1
海底十万里 + 1
bnjzzheng + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
ldljlzw + 1
mengzhisuoliu + 1
firstcmm + 1 [快捷评语]--你将受到所有人的崇拜!
wilesilly + 1 [快捷评语]--你将受到所有人的崇拜!
Shark恒 + 1 + 20 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
拿着雪糕 发表于 2022-1-30 11:49 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
yOdGemW 发表于 2022-3-1 01:21 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
不苦小和尚 发表于 2022-3-1 08:08 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
YKkUuXp10 发表于 2022-3-1 08:08 | 显示全部楼层

感谢楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
NHFXy56 发表于 2022-3-1 08:11 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
FDQLVPn 发表于 2022-3-1 08:38 | 显示全部楼层

每天都能学到新知识,赞!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
evz8 发表于 2022-3-1 08:39 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
oQP27 发表于 2022-3-1 08:48 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Idiptygh194 发表于 2022-3-1 08:48 | 显示全部楼层

学习永不间断!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

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