SimpleHook
详情及下载

cover

相关参数                           下载量:6212

名称:SimpleHook
安装类型:Lsposed插件
描述:1.3.3
资源ID:CJ3025
分享者QQ:741500926
举报:

详细信息:
这里是SimpleHook的hook部分代码simpleHook使用说明中文文档|EnglishsimpleHook.apk(密码:simple)TG交流群:@simpleHook本软件主打简单,如名字一样,如果你追求更复杂的hook操作,推荐使用jsHook(你可以实现更复杂的功能)、曲境(电脑端浏览器操作);如果你追求更多的扩展功能,推荐使用算法助手等等类似应用功能概述:自定义返回值、参数值等,记录常见各种加密算法、toast、dialog、popupwindow、JSONObject创建增加等1.功能说明页面介绍首页点击加号,可添加配置,点击添加配置进入下面页面配置页面点击‘搜索样式’图标,可进入AppList页面,进行选择应用点击‘下载样式’图标,可保存配置点击右下角加号,可在弹出窗口填写配置有多种模式可以选择,输入类名前建议了解设置页面(smalitoconfig),它可以简化填写扩展页面具体功能点击“播放样式”按钮,可打开悬浮窗(需要授予悬浮窗权限),然后打开目标应用,可以显示一些信息(开启了打印参数值、返回值、扩展页面大部分功能)悬浮窗2.自定义Hook编写规则下面是编写规则:(你可以下载*HookTest.apk*,此App应用了所有情况,并内附有配置)使用前请先了解设置页【smali转配置】,它可以简化你的操作(配合MT管理器等逆向分析软件)简要的基本介绍支持Java语法和Smali语法填写配置信息//javame.simplehook.MainActivty//smaliLme/simplehook/MainActivity;//一定要有-->;<--支持基本类型和其它类型参数//类型主要用于填写参数类型和变量类型//基本类型你可以使用java语法这样填booleanintlongshortcharbytefloatdouble//基本类型你也可以使用smali语法这样填ZIJSCBFD//其他类型你可以使用java语法这样填java.lang.Stringandroid.content.Context//其他类型你也可以使用smali语法这样填Ljava/lang/String;Landroid/content/Context;//一定要有-->;<--结果值的填写规则此处应注意,本软件不像其他软件一样需要填写返回值、参数值类型,本软件并不需要,你只需要按照规则填写,自动判断2.1.基本类型类型(java、smali)值的例子注意事项布尔值(boolean、Z)true、false整数(int、I)1、2、3长整型(long、J)1l、120000L、123456l要注意:数字+L短整型(short、S)1short、2short要注意:数字+short字符(char、C)195c要注意:符合char类型的字符+c字节(byte、B)2b、3b要注意:符合byte类型的字符+b单浮点(float、F)2f、3f、3.0f要注意:数字+f双浮点(double、D)2d、3d、3.0d要注意:数字+d2.2.null其他类型只能返回null(字符串除外),null2.3.字符串2.3.1一般情况不符合基本类型和null的全部转化为字符串类型2.3.2特殊情况特殊的字符串值的例子注意事项数字111s,2002s常见于'111111'这种,但是本软件你需要在数字后面加入s,如果你不加s,会被转成数字,可能导致目标应用崩溃布尔trues、falses常见于'true'、'false'这种,但是本软件你需要在布尔值后面加入s,如果你不加s,会被转成布尔值,可能导致目标应用崩溃nullnulls常见于'null'这种,但是本软件你需要在null后面加入s,如果你不加s,会被转成null,可能导致目标应用空指针空字符串英文单词'empty'或者中文汉字'空'如果你直接填空,将无法保存配置,这样做是为了预防你在使用时不填修改值导致无法正常Hook2.3.3随机文本返回值仅用于返回值,返回值填写下面json代码{'random':'abcdefgh123456789','length':9,'key':'key','updateTime':100,'defaultValue':''}上述json格式代码介绍:random:字符串,填写随机文本由哪些字符组成?length:整数,代表需要生成多长的随机文本?key:字符串,唯一识别码,可以随便填写,但是一个软件中用到多个随机返回值时需要填不一样的?updateTime:整数,代表着间隔多长时间更新一下随机文本,单位秒,-1代表每次都更新?defaultValue:非必填项3.具体的hook模式hook返回值//例如1importsimple.example;ClassExample{publicstaticbooleanisFun(){booleanresult=true;......returnresult}}/*模式选择Hook返回值类名应填:simple.example.Example方法名应填:isFun参数类型应填:(此处留空,因为没有参数)修改值应填:true或者false*//*多个参数参数类型的填法(用英语逗号分开,参数类型支持数组):boolean,int,android.content.Context*///例如2importsimple.example;classExample{publicstaticStringisFun(Sringstr,Contextcontext,booleanb){Stringresult=str;......returnresult}}/*模式选择Hook返回值类名应填:simple.example.Example方法名应填:isFun参数类型应填:java语法:java.lang.String,android.content.Context,boolean(使用参数间使用英文逗号分开,仅一个参数不需要加逗号)smali语法:Ljava/lang/String;,Landroid/content/Context;,Z修改值应填:是个字符串(应符合结果值的填写规则,不需要加引号)*/hook返回值+此功能可以将json转为对象(使用Gson),你如果不知道这个对象的Json格式是什么样子的,可以使用【记录返回值】功能,复制返回值即可。这个功能并不是万能的,不适用所有情况,简单的数据类应该是没有问题的,暂不支持数组。模式:hook返回值+返回值的类名:填返回值的类名修改值:填json代码,如{'isHook':false,'level':10000}举个例子:importsimple.example;//数据类publicclassUserBean{privatebooleanisHook;privateintlevel;publicUserBean(booleanisHook,intlevel){this.isHook=isHook;this.level=level;}}publicclassExample{publicstaticUserBeanisFun(){UserBeanuserBean=newUserBean(true,10);......returnuserBean}}/*假如hookisFun的返回值模式:hook返回值+类名:simple.example.Example方法名:isFun参数类型:返回值的类名:simple.example.UserBean结果值:{'isHook':false,'level':10000}*/hook参数值//类型值同hook返回值类型//特殊用法,如下面一段代码publicbooleanisModuleLive(Contextcontext,Stringstr,intlevel){retruntrue}//如果你只想要hooklevel的值,你可以在修改值那一栏向下面这样填,,99//如果你只想要hookstr的值,你可以在修改值那一栏向下面这样填,啦啦啦,//如果你只想要hookstr、level的值,你可以在修改值那一栏向下面这样填,啦啦啦,99//如果你想要全部hook,你可以在修改值那一栏向下面这样填null,啦啦啦,99//context为null也许导致闪退/*多个参数参数类型的填法(用英语逗号分开):android.content.Context,jave.lang.String,int或者如下填写Landroid/content/Context;,Ljave/lang/String;int*/中断执行//此模式会拦截方法执行//如hook返回值或者hook参数值一样填,不需要填写返回值、参数值publicvoidprintString(){System.out.println('start');testBreakMethod();System.out.println('end');/*输出结果为startendtestBreakMode没有被输出*/}//假如:此方法被中断publicvoidtestBreakMethod(){System.out.println('testBreakMode')}Hook所有同名方法/*Hook一个类所有同名方法,参数类型填写*即可*/Hook一个类中所有方法/*Hook一个类所有方法,方法名填写*即可;参数类型可随意填写,有些h不可为空*/构造方法//方法名填写:importsimple.example;publicclassExample{inta;intb;publicExample(inta,booleanb){this.a=a;this.b=b}}//Hook模式,根据自己的需求选择,一般为hook参数值/记录参数值,其他模式可能造成软件闪退/*方法名填写:例如修改两个参数值类名填写:simple.example.Example方法名填写:参数类型填写:int,int结果值填写:88,99*/HOOK静态变量importsimple.example;publicclassExample{publicstaticbooleanisTest=false;}importsimple.example;publicclassMainActivityextendsAcitvity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);initData();initView();}privatevoidinitData(){Example.isTest=false;}privatevoidinitView(){//你想要修改isTest为true,所以你应当再这个变量被赋值后再去hookSystem.out.println(Example.isTest);}}//具体的值只支持基本类型,和字符串//无需填写变量类型;要符合[结果值]填写规则/*模式选择Hook静态变量hook点:after/before根据需要填写,默认after类名应填:simple.example.MainActivity;方法名应填:initData参数类型应填:(什么都是不填,因为这个方法没有参数)变量所在类名:simple.example.Example变量名应填:isTest修改值应填:true/false*/HOOK实例变量importsimple.example;publicclassUseBean{privatebooleanisHook;privateintlevel;publicUseBean(booleanisHook,intlevel){this.isHook=
互联网收集,如有侵权请联系741500926@qq.com下架


仓库地址

登录后前往      

讨论区(0)

没有评论数据

提交我的评价


*文明理性,友善沟通.
icon
来源:网络收集
icon
2021/12/27

其它相关插件

cover
Mi10&Pro扬声器优化
描述:你懂的玄学优化11.0.7版
下载量:11849
cover
k50震动改善v3.6[极致震动_分层]替换rog6震动驱动 v3.6
描述:作者:Friend1y | 文件大小...
下载量:4867
cover
Uperf-P v3-22.09.04,P-23.01.22
描述:作者:Matt Yang & HamJin ...
下载量:4221
cover
Octavi OS Apps
描述:上手Octavi的基础APP
下载量:10640
cover
Mi Sound / 音质音效 1.0
描述:作者:演员 / 阿詺Ming | 文...
下载量:6028
cover
fas-rs v2.7.0
描述:作者:shadow3 | 文件大小:...
下载量:4462
cover
QStory
描述:v1.0.2
下载量:6400
cover
机型修改 v1.0
描述:作者:酷安@小白17875 | 文...
下载量:5708
cover
高通骁龙750G限频模块 V2.1
描述:作者:NewtoPhone | 文件大...
下载量:4495
cover
HookCimoc
描述:1.7.113
下载量:6123