🛰️ 谷歌内置浏览器模块[GB]
📌 函数: HD内置浏览器_附加谷歌1
描述
附加内置浏览器,附加监听模式1
原型
__int64 __stdcall HCGB_Attach1(__int32 窗口序号);
参数
__int32 窗口序号 - 窗口序号(从1开始)
返回值
查看返回值表
注意事项
必须游戏进程自带内置谷歌浏览器,才会附加模块成功
由于每个游戏不同,需要定制浏览器接口
当前默认的内置谷歌浏览器接口仅适合夜鸦
HD内置浏览器_附加谷歌1 - 基础示例
.版本 2
.子程序 测试附加Chrome方式2, 逻辑型, 公开
.局部变量 窗口序号, 整数型
.局部变量 结果, 逻辑型
窗口序号 = 1
调试输出 ("尝试附加到Chrome浏览器(方式2)")
' 使用方式2附加Chrome
结果 = HD内置浏览器_附加谷歌2 (窗口序号)
.如果 (结果 = 真)
调试输出 ("Chrome附加成功(方式2)")
调试输出 ("浏览器控制已就绪")
.否则
调试输出 ("Chrome附加失败(方式2)")
调试输出 ("两种附加方式都失败,请检查:")
调试输出 ("1. Chrome是否正在运行")
调试输出 ("2. 是否有足够的权限")
调试输出 ("3. Chrome版本是否兼容")
.如果结束
返回 (结果)
HD内置浏览器_附加谷歌1 - 进阶用法
.版本 2
.子程序 示例2
调试输出("示例2")
HD内置浏览器_附加谷歌1 - 高级应用
.版本 2
.子程序 高级示例
调试输出("高级示例")
📌 函数: HD内置浏览器_附加谷歌2
描述
附加内置浏览器,附加监听模式2
原型
__int64 __stdcall HCGB_Attach2(__int32 窗口序号);
参数
__int32 窗口序号 - 窗口序号(从1开始)
返回值
查看返回值表
注意事项
必须游戏进程自带内置谷歌浏览器,才会附加模块成功
由于每个游戏不同,需要定制浏览器接口
当前默认的内置谷歌浏览器接口仅适合夜鸦
HD内置浏览器_附加谷歌2 - 基础示例
.版本 2
.子程序 测试附加Chrome方式1, 逻辑型, 公开
.局部变量 窗口序号, 整数型
.局部变量 结果, 逻辑型
窗口序号 = 1
调试输出 ("尝试附加到Chrome浏览器(方式1)")
' 使用方式1附加Chrome
结果 = HD内置浏览器_附加谷歌1 (窗口序号)
.如果 (结果 = 真)
调试输出 ("Chrome附加成功(方式1)")
调试输出 ("现在可以进行浏览器自动化操作")
.否则
调试输出 ("Chrome附加失败(方式1)")
调试输出 ("请确保Chrome浏览器正在运行")
调试输出 ("可以尝试使用方式2进行附加")
.如果结束
返回 (结果)
HD内置浏览器_附加谷歌2 - 进阶用法
.版本 2
.子程序 示例2
调试输出("示例2")
HD内置浏览器_附加谷歌2 - 高级应用
.版本 2
.子程序 高级示例
调试输出("高级示例")
📌 函数: HD内置浏览器_脱离谷歌
描述
脱离之前的内置浏览器
原型
__int64 __stdcall HCGB_Detach(__int32 窗口序号);
参数
__int32 窗口序号 - 窗口序号(从1开始)
返回值
查看返回值表
注意事项
必须游戏进程自带内置谷歌浏览器,才会附加模块成功
HD内置浏览器_脱离谷歌 - 进阶用法
.版本 2
.子程序 示例2
调试输出("示例2")
HD内置浏览器_脱离谷歌 - 高级应用
.版本 2
.子程序 高级示例
调试输出("高级示例")
📌 函数: HD内置浏览器_注入谷歌JS代码
描述
给内置浏览器注入JS代码
原型
__int64 __stdcall HCGB_InjectJSCode(__int32 窗口序号,char* codeBuffer,BOOL 是否主线程调用=FALSE);
参数
__int32 窗口序号 - 窗口序号(从1开始)
char* codeBuffer - JS代码缓冲区ASCII编码
bool 是否主线程调用 - 一般默认就行FALSE(0)
返回值
查看返回值表
注意事项
必须游戏进程自带内置谷歌浏览器,才会附加模块成功
HD内置浏览器_注入谷歌JS代码 - 基础示例
.版本 2
.子程序 机器码注入示例
.局部变量 目标PID, 整数型
.局部变量 汇编代码, 文本型
.局部变量 机器码, 字节集
.局部变量 错误行号, 长整数型
.局部变量 错误描述, 长整数型
.局部变量 写入地址, 长整数型
目标PID = HD通用_获取进程PID ("notepad.exe")
.如果 (目标PID = 0)
调试输出 ("未找到目标进程")
返回 ()
.如果结束
' 准备要注入的汇编代码
汇编代码 = "pushad" + #换行符 +
"mov eax, 0x77A1B2C3" + #换行符 + ' MessageBoxA地址
"push 0" + #换行符 +
"push 0x41414141" + #换行符 + ' "AAAA"
"push 0x42424242" + #换行符 + ' "BBBB"
"push 0" + #换行符 +
"call eax" + #换行符 +
"popad" + #换行符 +
"ret"
' 转换为机器码
机器码 = HD汇编_转机器码 (4, 汇编代码, 错误行号, 错误描述, 100)
.如果 (错误行号 = 0 且 错误描述 = 0)
' 将机器码写入目标进程
写入地址 = HD汇编_写入机器码 (目标PID, 机器码)
.如果 (写入地址 ≠ 0)
调试输出 ("机器码写入成功")
调试输出 ("写入地址:0x" + 到十六进制 (写入地址))
' 可以使用HD驱动创建远线程执行这段代码
调试输出 ("可使用HD驱动创建线程执行地址:0x" + 到十六进制 (写入地址))
.否则
调试输出 ("机器码写入失败")
.如果结束
.否则
调试输出 ("汇编代码有错误")
.如果结束
HD内置浏览器_注入谷歌JS代码 - 进阶用法
.版本 2
.子程序 示例2
调试输出("示例2")
HD内置浏览器_注入谷歌JS代码 - 高级应用
.版本 2
.子程序 高级示例
调试输出("高级示例")
📌 函数: HD内置浏览器_注入谷歌JS文件
描述
给内置浏览器注入指定文件中的JS代码
原型
__int64 __stdcall HCGB_ExcuteJSFile(__int32 窗口序号,char* fileName,BOOL 是否主线程调用=FALSE);
参数
__int32 窗口序号 - 窗口序号(从1开始)
char* fileName - JS文件代码ASCII编码文件
bool 是否主线程调用 - 一般默认就行FALSE(0)
返回值
查看返回值表
注意事项
必须游戏进程自带内置谷歌浏览器,才会附加模块成功
HD内置浏览器_注入谷歌JS文件 - 基础示例
.版本 2
.子程序 图片文件取色示例
.局部变量 颜色值, 长整数型
.局部变量 图片路径, 文本型
.局部变量 检查点X, 整数型
.局部变量 检查点Y, 整数型
图片路径 = "截图.bmp"
检查点X = 100
检查点Y = 150
' 从图片文件获取指定点颜色
颜色值 = HCFP_GetColorByFile (图片路径, 检查点X, 检查点Y)
.如果 (颜色值 > 0)
调试输出 ("图片文件颜色获取成功")
调试输出 ("位置(" + 到文本 (检查点X) + "," + 到文本 (检查点Y) + ")的颜色:0x" + 到十六进制 (颜色值))
' 颜色比较示例
.如果 (颜色值 = 16777215) ' 白色
调试输出 ("检测到白色背景")
.否则 .如果 (颜色值 = 0) ' 黑色
调试输出 ("检测到黑色区域")
.否则
调试输出 ("其他颜色:0x" + 到十六进制 (颜色值))
.如果结束
.否则
调试输出 ("图片文件取色失败")
.如果结束
HD内置浏览器_注入谷歌JS文件 - 进阶用法
.版本 2
.子程序 示例2
调试输出("示例2")
HD内置浏览器_注入谷歌JS文件 - 高级应用
.版本 2
.子程序 高级示例
调试输出("高级示例")