风格颜色 - 切换

抱歉,当前没有风格

查看: 398|回复: 0

Android studio环境下Cydia android Native Hook测试

[复制链接]

20

主题

20

帖子

127

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
127
发表于 2018-1-17 16:01:47 | 显示全部楼层 |阅读模式

转载请注明出处:http://mybeibei.net/?p=1051

人比较笨,按照网上教程,断断续续折腾了5天4晚才最终搞定,期间无数次google,无数次翻看stackoverflow,各个android群询问,期间也得到了很多热心朋友的帮助,特别感谢“旗木、穿越地平线”、“kings0527”二位的耐心解答。

言归正传,部署步骤:

配置环境:

AS版本:android studio 1.5.1(之前用的1.3版本,各种问题,最终选择升级到1.5)

Cydia版本:com.saurik.substrate_0.9.4010.apk

Cydia框架:cydia_substrate-r2

NDK版本:android-ndk-r11

模拟器:海马玩0.9.0beta

1.建立project,选择No Activity;

2.在app-main下建立jni文件夹;jnihttp://mybeibei.net/wp-content/uploads/2016/03/jni-300x207.png 300w" sizes="(max-width: 643px) 100vw, 643px" style="box-sizing: border-box; border-width: 0px; border-style: initial; max-width: 100%; height: auto; margin-bottom: 12px;">

3.将cydia_substrate-r2下的substrate.h、libsubstrate.so和libsubstrate-dvm.so三个文件放入jni目录中,这里要注意根据架构的不同,选择x86或ARM目录下的libsubstrate.so和libsubstrate-dvm.so(我这里选择的是x86的)

4.同样在jni目录下建立test.cy.cpp(一定要记得带‘cy’)和Android.mk两个文件;

5.test.cy.cpp内容:

6.Android.mk内容(之前打包后的apk里面只有libsubstrate-dvm.so,后来发现少写了中间这段):

7.修改project下面的local.properties文件,末尾增加ndk路径,我的是:

8.修改gradle.properties文件,末尾增加:

9.修改app下的build.gradle文件(在这个文件上花费的时间最多,各种编译错误基本都是在这个设置上,顺便吐槽一下as各种版本对ndk的支持,简直让人崩溃!):

defaultConfig{}中增加ndk设置

因为要手动ndk-build,需要在android{}中增加jni和jniLibs路径说明:

jni.srcDirs = [] 表示禁止as自动ndk编译,采用手动ndk-build

jniLibs.srcDirs = [‘src/main/libs’]  表示经过ndk-build编译后的so路径

10.OK,接下来手动ndk-build吧,teminal下,进入到app/src/main/jni目录,因为是x86平台的编译,所以输入时需要带参数:

D:\MyCandy\app\src\main\jni>ndk-build APP_ABI=”x86″

11.OK,如果没报错,那么你的Project会刷新出libs和obj两个目录,libs目录正常应该是这样的:

libs

12.模拟器安装好com.saurik.substrate_0.9.4010.apk,运行,并给予Root权限;

注意在AndroidManifest.xml中添加权限:<uses-permission android:name=”cydia.permission.SUBSTRATE”/>

13.最后一步,build project,运行,打包后的apk应该是这样的:

apkhttp://mybeibei.net/wp-content/uploads/2016/03/apk-300x137.png 300w" sizes="(max-width: 495px) 100vw, 495px" style="box-sizing: border-box; border-width: 0px; border-style: initial; max-width: 100%; height: auto; margin-bottom: 12px;">

14.看到hook log:

hookloghttp://mybeibei.net/wp-content/u ... hooklog-300x138.png 300w" sizes="(max-width: 964px) 100vw, 964px" style="box-sizing: border-box; border: 0px; max-width: 100%; height: auto; margin-bottom: 12px;">

参考资料:

https://github.com/mohuihui/CydiaSubstrateAndroidNativeHOOK/

http://drops.wooyun.org/tips/8084

http://burningcodes.net/cydia-substrate-android-so-hook/

 

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则