-
Notifications
You must be signed in to change notification settings - Fork 0
/
h5gg-js-doc.js
44 lines (38 loc) · 3.79 KB
/
h5gg-js-doc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
***************** H5GG JS脚本引擎文档 (v7.5更新) *******************
h5gg是引擎对象, 可以调用如下函数(类似安卓gg的lua接口,但是参数有些区别)
h5gg.require(H5GG版本号); //设定脚本需要的最低H5GG版本号, 可以写在脚本开头第一行
h5gg.setFloatTolerance('浮点偏差'); //设置F32/F64浮点搜索的偏差范围, 引擎默认是0.0
h5gg.searchNumber('数值', '类型', '搜索下限', '搜索上限'); //搜索或二次搜索(改善)精确数值
h5gg.searchNearby('数值', '类型', '邻近范围'); //邻近(联合)搜索, 和igg的一致
h5gg.getValue('地址', '类型'); //读取指定地址的数值, 返回数值字符串
h5gg.setValue('地址', '数值', '类型'); //设置指定地址的数值, 返回成功或失败
h5gg.editAll('数值', '类型'); //修改搜索结果中的全部数值(清除结果后不能调用),返回修改成功个数
h5gg.getResultsCount(); //获取搜索结果的总数量, 返回总个数
h5gg.getResults('获取个数', '跳过个数'); //获取结果数组, 每个元素有address,value,type三个属性
h5gg.clearResults(); //清除搜索结果, 开始新的搜索
h5gg.getRangesList(‘模块文件名’); //返回模块数组,模块有start(基址),end(结尾地址),name(路径)属性
(若模块文件名=0, 则返回APP主程序模块信息, 若不传入模块文件名, 则返回所有模块列表)
h5gg.loadPlugin('OC类名','dylib路径'); //加载dylib插件, 返回插件中的OC类名的对象实例
(返回的OC对象实例可在js中直接调用, dylib支持绝对路径或.app中的相对路径)
跨进程版专用(跨进程版制作插件的html需要先调用选择进程):
h5gg.setTargetProc(进程号); //设定当前目标进程, 返回成功或失败
h5gg.getProcList('进程名'); //获取进程数组, 数组中的元素有pid(进程号), name(进程名) 属性
(若不传入进程名, 则返回所有运行中的app进程列表, 可以定时循环调用确定目标进程是否已经结束)
其他接口:
setButtonImage(图标); //设置悬浮按钮图标, 可以传入http开头网址图片或base64编码的DataURL图片
setButtonAction(js回调函数); //设置自定义的悬浮按钮图标点击动作, 传入一个js函数点击时被调用
setWindowRect(x, y, 宽度, 高度); //修改悬浮窗口在屏幕中位置和尺寸
setWindowDrag(x, y, 宽度, 高度); //设置悬浮窗口中可拖动悬浮窗的区域
setWindowTouch(是否响应触控); //true=整个悬浮窗口触摸不可穿透, false=整个悬浮窗口触摸可以穿透
setWindowVisible(悬浮窗显示状态), //设置悬浮窗口的可见性, true=显示, false=隐藏
setLayoutAction(js回调函数); //设置屏幕旋转或iPad分屏浮动变化时的js回调,回调函数参数为(宽,高)
注意:
1: 地址参数支持十进制或0x开头十六进制格式自动识别, 其他参数必须是字符串格式
2: 浮点类型分为:F32,F64, 有符号数:I8,I16,I32,I64, 无符号数:U8,U16,U32,U64
3: 如果搜索结果比较多, 不要一次性getResults获取全部数据, 容易造成内存爆增闪退崩溃, 应分段获取
4: 搜索结果的地址和数值都是字符串类型, 如果要做数字运算请先用Number(x)转换成数字类型才能进行运算
5: lua中会自动将+号两边的字符串类型转换成数字类型, js中+号如果是字符串就会连接两个字符串)
6: lua中数组索引第一个是从[1]开始, js中数组索引第一个是从[0]开始, 这一点需要特别注意
7: 数字类型可以用x.toString(16)转换成十六进制字符串格式, 但是x一定要是数字类型才能转成功
8: 搜索的数值支持范围格式, 比如"50~100", 比如"2.3~7.8", 数值搜索和邻近(联合)搜索都支持
9: 悬浮窗默认尺寸为370x370, 可在H5页面启动时通过js接口设置位置和尺寸以及可拖动区域