|
6楼
发表于 2025-2-15 00:34:50
|
只看该作者
江西省南昌市
.版本 2
.程序集 主程序
.程序集变量 crossfire, 整数型
.子程序 IP代理
.局部变量 套接字, 整数型
.局部变量 客户Duan, 整数型
.局部变量 游戏服务器套接字, 整数型
' 创建TCP套接字
套接字 = 创建套接字(2, 1, 6)
绑定(套接字, 127, 0, 0, 1, 13008)
监听(套接字, 0)
.判断循环首 (crossfire.主窗口句柄 = 0)
程序_延时(100)
.判断循环尾
.循环判断首 ()
客户Duan = 接受连接(套接字)
.如果真 (客户Duan ≠ -1)
游戏服务器套接字 = 创建套接字(2, 1, 6)
连接(游戏服务器套接字, "游戏服务器IP", 13008)
' 此处需要添加数据转发线程
.如果真结束
.循环判断尾 (真)
.子程序 登录
.参数 process, 整数型
.参数 用户名, 文本型
.参数 密码, 文本型
.局部变量 hProcess, 整数型
.局部变量 cshell地址, 整数型
.局部变量 基地址, 整数型
.局部变量 缓冲, 字节集
crossfire = 取进程ID("crossfire.exe")
cshell地址 = 取模块地址(crossfire, "cshell.dll")
输出调试文本("cshell.dll 地址:" + 取十六进制文本(cshell地址))
hProcess = OpenProcess(2035711, 假, crossfire)
' 读取密码基地址
ReadProcessMemory(hProcess, cshell地址 + 十六进制("01CA4B18"), 基地址, 4, 0)
ReadProcessMemory(hProcess, 基地址 + 8, 基地址, 4, 0)
基地址 = 基地址 + 十六进制("17C")
' 写入密码
缓冲 = 到字节集(密码)
WriteProcessMemory(hProcess, 基地址, 缓冲, 取字节集长度(缓冲), 0)
' 读取账号基地址
ReadProcessMemory(hProcess, cshell地址 + 十六进制("01CA4B18"), 基地址, 4, 0)
ReadProcessMemory(hProcess, 基地址 + 4, 基地址, 4, 0)
基地址 = 基地址 + 十六进制("17C")
' 写入账号
缓冲 = 到字节集(用户名)
WriteProcessMemory(hProcess, 基地址, 缓冲, 取字节集长度(缓冲), 0)
CloseHandle(hProcess)
发送消息(crossfire.主窗口句柄, 258, 9, 1835137)
发送消息(crossfire.主窗口句柄, 258, 13, 1835137)
.DLL命令 OpenProcess, 整数型, "kernel32.dll", "OpenProcess"
.参数 dwDesiredAccess, 整数型
.参数 bInheritHandle, 逻辑型
.参数 dwProcessId, 整数型
.DLL命令 ReadProcessMemory, 逻辑型, "kernel32.dll", "ReadProcessMemory"
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 lpBuffer, 整数型
.参数 nSize, 整数型
.参数 lpNumberOfBytesRead, 整数型
.DLL命令 WriteProcessMemory, 逻辑型, "kernel32.dll", "WriteProcessMemory"
.参数 hProcess, 整数型
.参数 lpBaseAddress, 整数型
.参数 lpBuffer, 字节集
.参数 nSize, 整数型
.参数 lpNumberOfBytesWritten, 整数型
.DLL命令 CloseHandle, 逻辑型, "kernel32.dll", "CloseHandle"
.参数 hObject, 整数型
|
|