本帖最后由 ewq3391093 于 2016-8-28 20:27 编辑

首先本人纯小白问下,知道基址,有辅助源码,怎么更新辅助中的基址如题。再附上辅助源码http://pan.baidu.com/s/1qYPDEgs

基址如下1

无敌地址BFA58B

倍攻地址0

SSS1地址69BF5B

SSS2地址791CAA

全屏地址5130C5

捡物地址9AE1BD

.版本 2

.程序集 窗口程序集1

.程序集变量 目标进程, 内存操作类

.程序集变量 远程内存1, 整数型

.程序集变量 远程内存2, 整数型

.程序集变量 倍攻位置, 整数型

.程序集变量 无敌位置, 整数型

.程序集变量 SSS1位置, 整数型

.程序集变量 SSS2位置, 整数型

.程序集变量 GetTickCount, 整数型

.程序集变量 QueryPerformanceCounter, 整数型

.程序集变量 GetTickCount位置, 整数型

.程序集变量 QueryPerformanceCounter位置, 整数型

.程序集变量 timeGetTime, 整数型

.程序集变量 远程内存3, 整数型

.子程序 __启动窗口_创建完毕

.局部变量 HOOK指令, 字节集

.局部变量 加速指令, 字节集

.局部变量 时间, LARGE_INTEGER

.局部变量 tmp, 字节集

置入代码 ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 })

.如果真 (目标进程.打开进程 (取进程ID (“zh.exe”)) = 假)

信息框 (“请先开启游戏”, 0, )

结束 ()

.如果真结束

远程内存1 = 目标进程.创建内存 (1024)

远程内存2 = 目标进程.创建内存 (1024)

远程内存3 = 目标进程.创建内存 (1024)

.如果真 (远程内存1 = 0 或 远程内存2 = 0 或 远程内存3 = 0)

信息框 (“申请内存失败”, 0, )

结束 ()

.如果真结束

初始化基址 ()

GetTickCount = _取库函数地址 (_取模块句柄2 (“kernel32.dll”), “GetTickCount”)

QueryPerformanceCounter = _取库函数地址 (_取模块句柄2 (“kernel32.dll”), “QueryPerformanceCounter”)

timeGetTime = _取库函数地址 (_取模块句柄2 (“winmm.dll”), “timeGetTime”)

.如果真 (GetTickCount = 0 或 QueryPerformanceCounter = 0 或 timeGetTime = 0)

信息框 (“加速初始化失败”, 0, )

结束 ()

.如果真结束

' -------------------------

HOOK指令 = { 0, 0, 200, 66 } + { 139, 157, 76, 0, 0, 0, 219, 133, 40, 0, 0, 0, 216, 13 } + 到字节集 (到整数 (远程内存1)) + { 104 } + 到字节集 (到整数 (倍攻地址 + 6)) + { 195 }  ' 倍攻

无敌位置 = 取字节集长度 (HOOK指令)

HOOK指令 = HOOK指令 + { 139, 67, 60, 131, 248, 1, 117, 3, 139, 71, 60, 59, 67, 60, 104 } + 到字节集 (到整数 (无敌地址 + 6)) + { 195 }  ' 无敌

SSS1位置 = 取字节集长度 (HOOK指令)

HOOK指令 = HOOK指令 + { 139, 137, 8, 0, 0, 0, 3, 206, 199, 199, 100, 0, 0, 0, 104 } + 到字节集 (到整数 (SSS1地址 + 6)) + { 195 }  ' sss1

SSS2位置 = 取字节集长度 (HOOK指令)

HOOK指令 = HOOK指令 + { 199, 195, 100, 0, 0, 0, 139, 129, 32, 0, 0, 0, 83, 86, 139, 48, 104 } + 到字节集 (到整数 (SSS2地址 + 6)) + { 195 }  ' sss2

目标进程.写入 (远程内存1, HOOK指令)

' ------------------------

' ----------加速

加速指令 = { 0, 0, 128, 63 }  ' 几倍速度 +0

tmp = 到字节集 (到整数 (API_取运行时间 ()))

加速指令 = 加速指令 + tmp  ' Last_rGetTickCount +4

加速指令 = 加速指令 + tmp  ' Last_mGetTickCount +8

API_QueryPerformanceCounter (时间)

tmp = 到字节集 (到整数 (时间.lowpart)) + 到字节集 (到整数 (时间.highpart))

加速指令 = 加速指令 + tmp  ' Last_rQueryPerformanceCounter +12

加速指令 = 加速指令 + tmp  ' Last_mQueryPerformanceCounter +20

加速指令 = 加速指令 + { 186, 0, 0, 254, 127 } + { 104 } + 到字节集 (到整数 (GetTickCount + 5)) + { 195 }  ' real_GetTickCount + 28

加速指令 = 加速指令 + { 139, 255, 85, 139, 236 } + { 104 } + 到字节集 (到整数 (QueryPerformanceCounter + 5)) + { 195 }  ' real_QueryPerformanceCounter + 39

GetTickCount位置 = 取字节集长度 (加速指令)

加速指令 = 加速指令 + { 129, 236, 20, 0, 0, 0, 137, 156, 36, 16, 0, 0, 0, 199, 192 } + 到字节集 (到整数 (远程内存2 + 28)) + { 255, 208, 217, 188, 36, 4, 0, 0, 0, 217, 60, 36, 102, 129, 140, 36, 4, 0, 0, 0, 0, 15, 199, 195, 0, 0, 0, 0, 139, 13 } + 到字节集 (到整数 (远程内存2 + 4)) + { 199, 194, 0, 0, 0, 0, 43, 193, 27, 218, 137, 132, 36, 8, 0, 0, 0, 137, 156, 36, 12, 0, 0, 0, 223, 172, 36, 8, 0, 0, 0, 216, 13 } + 到字节集 (到整数 (远程内存2)) + { 217, 172, 36, 4, 0, 0, 0, 223, 188, 36, 8, 0, 0, 0, 217, 44, 36, 155, 139, 5 } + 到字节集 (到整数 (远程内存2 + 8)) + { 199, 194, 0, 0, 0, 0, 3, 132, 36, 8, 0, 0, 0, 19, 148, 36, 12, 0, 0, 0, 139, 156, 36, 16, 0, 0, 0, 129, 196, 20, 0, 0, 0, 195 }

QueryPerformanceCounter位置 = 取字节集长度 (加速指令)

加速指令 = 加速指令 + { 85, 139, 236, 129, 236, 28, 0, 0, 0, 137, 157, 228, 255, 255, 255, 139, 157, 8, 0, 0, 0, 199, 3, 0, 0, 0, 0, 199, 131, 4, 0, 0, 0, 0, 0, 0, 0, 199, 133, 248, 255, 255, 255, 0, 0, 0, 0, 199, 133, 252, 255, 255, 255, 0, 0, 0, 0, 141, 133, 248, 255, 255, 255, 80, 199, 192 } + 到字节集 (到整数 (远程内存2 + 39)) + { 255, 208, 217, 189, 240, 255, 255, 255, 217, 189, 244, 255, 255, 255, 102, 129, 141, 240, 255, 255, 255, 0, 15, 139, 149, 248, 255, 255, 255, 139, 141, 252, 255, 255, 255, 43, 21 } + 到字节集 (到整数 (远程内存2 + 12)) + { 27, 13 } + 到字节集 (到整数 (远程内存2 + 16)) + { 137, 149, 232, 255, 255, 255, 137, 141, 236, 255, 255, 255, 223, 173, 232, 255, 255, 255, 216, 13 } + 到字节集 (到整数 (远程内存2)) + { 217, 173, 240, 255, 255, 255, 223, 189, 232, 255, 255, 255, 217, 173, 244, 255, 255, 255, 155, 139, 149, 232, 255, 255, 255, 139, 141, 236, 255, 255, 255, 3, 21 } + 到字节集 (到整数 (远程内存2 + 20)) + { 19, 13 } + 到字节集 (到整数 (远程内存2 + 24)) + { 137, 19, 137, 139, 4, 0, 0, 0, 139, 157, 228, 255, 255, 255, 201, 194, 4, 0 }

目标进程.写入 (远程内存2, 加速指令)

目标进程.修改内存属性 (GetTickCount)

目标进程.修改内存属性 (QueryPerformanceCounter)

目标进程.修改内存属性 (timeGetTime)

目标进程.修改内存属性 (远程内存1)

目标进程.修改内存属性 (远程内存2)

目标进程.修改内存属性 (远程内存3)

' -----------------------开启加速

目标进程.写入 (GetTickCount, { 233 } + 计算偏移 (GetTickCount, GetTickCount位置 + 远程内存2))

目标进程.写入 (QueryPerformanceCounter, { 233 } + 计算偏移 (QueryPerformanceCounter, QueryPerformanceCounter位置 + 远程内存2))

目标进程.写入 (timeGetTime, { 233 } + 计算偏移 (timeGetTime, GetTickCount位置 + 远程内存2))

' ---------------------开启所有刷图功能

选择框1.选中 = 真

选择框2.选中 = 真

选择框3.选中 = 真

选择框4.选中 = 真

选择框5.选中 = 真

_选择框1_被单击 ()

_选择框2_被单击 ()

_选择框3_被单击 ()

_选择框4_被单击 ()

_选择框5_被单击 ()

置入代码 ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 })

.子程序 _按钮1_被单击

置入代码 ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 })

目标进程.写入 (远程内存1, 到字节集 (到小数 (编辑框1.内容)))

置入代码 ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 })

.子程序 _选择框2_被单击

置入代码 ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 })

.如果 (选择框2.选中 = 假)

目标进程.写入 (倍攻地址, { 139, 93, 76, 219, 69, 40 })

.否则

目标进程.写入 (倍攻地址, { 104 } + 到字节集 (到整数 (远程内存1 + 4)) + { 195 })

.如果结束

置入代码 ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 })

.子程序 _选择框1_被单击

置入代码 ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 })

.如果 (选择框1.选中 = 假)

目标进程.写入 (无敌地址, { 139, 71, 60, 59, 67, 60 })

.否则

目标进程.写入 (无敌地址, { 104 } + 到字节集 (到整数 (远程内存1 + 无敌位置)) + { 195 })

.如果结束

置入代码 ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 })

.子程序 __启动窗口_将被销毁

' 选择框1.选中 = 假

' 选择框2.选中 = 假

' 选择框3.选中 = 假

' 选择框4.选中 = 假

' _选择框1_被单击 ()

' _选择框2_被单击 ()

' _选择框3_被单击 ()

' _选择框4_被单击 ()

' 目标进程.释放内存 (远程内存1)

' ----------这里不能还原,若已经加速过则游戏可以会卡死

' 目标进程.写入 (GetTickCount, { 186, 0, 0, 254, 127 })

' 目标进程.写入 (QueryPerformanceCounter, { 139, 255, 85, 139, 236 })

' 目标进程.写入 (timeGetTime, { 131, 61, 20, 0, 179 })

' 目标进程.释放内存 (远程内存2)

' 滑块条1.位置 = 1  ' 速度修改为正常

' _按钮2_被单击 ()

' 目标进程.释放内存 (远程内存3)

.子程序 _选择框3_被单击

置入代码 ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 })

.如果 (选择框3.选中 = 假)

目标进程.写入 (SSS1地址, { 139, 73, 8, 3, 206, 139, 248 })

目标进程.写入 (SSS2地址, { 139, 65, 32, 83, 86, 139, 48 })

.否则

目标进程.写入 (SSS1地址, { 104 } + 到字节集 (到整数 (远程内存1 + SSS1位置)) + { 195, 144 })

目标进程.写入 (SSS2地址, { 104 } + 到字节集 (到整数 (远程内存1 + SSS2位置)) + { 195, 144 })

.如果结束

置入代码 ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 })

.子程序 _选择框4_被单击

置入代码 ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 })

.如果 (选择框4.选中 = 假)

目标进程.写入 (全屏地址, { 15, 132, 0, 3, 0, 0 })

.否则

目标进程.写入 (全屏地址, { 144, 144, 144, 144, 144, 144 })

.如果结束

置入代码 ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 })

.子程序 _选择框5_被单击

置入代码 ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 })

.如果 (选择框5.选中 = 假)

目标进程.写入 (捡物地址, { 122, 33 })

.否则

目标进程.写入 (捡物地址, { 144, 144 })

.如果结束

置入代码 ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 })

.子程序 计算偏移, 字节集, , 返回偏移

.参数 当前位置, 整数型

.参数 JMP实际位置, 整数型

返回 (到字节集 (到整数 (JMP实际位置 - 当前位置 - 5)))

.子程序 _按钮2_被单击

.局部变量 设置速度指令, 字节集

置入代码 ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 })

设置速度指令 = { 199, 192 } + 到字节集 (到整数 (GetTickCount)) + { 255, 208, 137, 5 } + 到字节集 (到整数 (远程内存2 + 8)) + { 199, 192 } + 到字节集 (到整数 (远程内存2 + 28)) + { 255, 208, 137, 5 } + 到字节集 (到整数 (远程内存2 + 4)) + { 104 } + 到字节集 (到整数 (远程内存2 + 20)) + { 199, 192 } + 到字节集 (到整数 (QueryPerformanceCounter)) + { 255, 208, 104 } + 到字节集 (到整数 (远程内存2 + 12)) + { 199, 192 } + 到字节集 (到整数 (远程内存2 + 39)) + { 255, 208, 199, 5 } + 到字节集 (到整数 (远程内存2)) + 到字节集 (到小数 (滑块条1.位置)) + { 195 }

目标进程.写入 (远程内存3, 设置速度指令)

线程操作.远程创建 (目标进程.取操作句柄 (), 远程内存3)

置入代码 ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 })

.子程序 _滑块条1_位置被改变

标签1.标题 = “速度” + 到文本 (滑块条1.位置)

.子程序 初始化基址

.局部变量 发布信息, 字节集

.局部变量 信息, 字节集, , "0"

.局部变量 文本, 文本型

.局部变量 结果, 整数型, , "0"

.局部变量 时间, 日期时间型

置入代码 ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 })

目标进程.搜索 ({ 139, 71, 60, 59, 67, 60 }, 结果, , 4198400, 11096064)

.如果真 (取数组成员数 (结果) > 0)

无敌地址 = 结果 [1]

.如果真结束

目标进程.搜索 ({ 139, 93, 76, 219, 69, 40 }, 结果, , 4198400, 11096064)

.如果真 (取数组成员数 (结果) > 0)

倍攻地址 = 结果 [1]

.如果真结束

目标进程.搜索 ({ 139, 73, 8, 3, 206, 139, 248 }, 结果, , 4198400, 11096064)

.如果真 (取数组成员数 (结果) > 0)

SSS1地址 = 结果 [1]

.如果真结束

目标进程.搜索 ({ 139, 65, 32, 83, 86, 139, 48 }, 结果, , 4198400, 11096064)

.如果真 (取数组成员数 (结果) > 0)

SSS2地址 = 结果 [1]

.如果真结束

目标进程.搜索 ({ 15, 132, 0, 3, 0, 0 }, 结果, , 4198400, 11096064)

.如果真 (取数组成员数 (结果) > 0)

全屏地址 = 结果 [1]

.如果真结束

目标进程.搜索 ({ 246, 196, 65, 122, 33 }, 结果, , 4198400, 11096064)

.如果真 (取数组成员数 (结果) > 0)

捡物地址 = 结果 [1] + 3

.如果真结束

.如果真 (无敌地址 = 0 或 倍攻地址 = 0 或 SSS1地址 = 0 或 SSS2地址 = 0 或 全屏地址 = 0 或 捡物地址 = 0)

信息框 (“自动更新失败”, 0, )

结束 ()

.如果真结束

置入代码 ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 })

.子程序 __启动窗口_可否被关闭, 逻辑型

置入代码 ({ 235, 16, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 98, 101, 103, 105, 110, 0 })

.如果真 (句柄是否有效 (目标进程.取操作句柄 ()) 且 信息框 (“退出将会关闭游戏,要退出么?”, #是否钮, “警告”) = #是钮)

目标进程.结束进程 ()

返回 (真)

.如果真结束

返回 (假)

置入代码 ({ 235, 14, 86, 77, 80, 114, 111, 116, 101, 99, 116, 32, 101, 110, 100, 0 })

c语言写辅助基址是进程名,本人纯小白问下,知道基址,有辅助源码,怎么更新辅助中的基址...相关推荐

  1. C语言/C++程序员大神打造纯C的电子时钟(加图形库+源码)

    C语言/C++程序员大神打造纯C的电子时钟,每天看时间再也不麻烦了 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进 ...

  2. greenplum 源码解析 FTS辅助进程工作主流程

    1 简介   FTS(Fault Tolerance Service)是greenplum提供的对于子节点的故障检测与恢复的服务.其隶属于master的一个子进程,通过定期轮询每个primary的状态 ...

  3. 编写代码、打印图4-2所示的图形python_Python之turtle库画各种有趣的图及源码(更新中)_一个超会写Bug的程序猿的博客-CSDN博客...

    原文作者:一个超会写Bug的安太狼 原文标题:Python之turtle库画各种有趣的图及源码(更新中) 发布时间:2021-02-09 03:35:11 Turtle库是Python语言中一个很流行 ...

  4. 150行代码写个低配版WPS?:手把手教你实现+附完整源码

    前言:通过一个简单实例来实现Java的GUI编程,对于新手较为友好,且有一定的实用性,正在学习Java的同学看过来!!包教包会,如有疑问欢迎私信询问! 目录 实例展示 一.GUI编程基本概念 二.布局 ...

  5. C语言项目:别踩白块游戏(双人版),450行源码分享+详细思路

    每天一个C语言小项目,提升你的编程能力! <别踩白块儿>是一款非常耐玩的休闲益智游戏,就像它的名字一样,别踩白块儿,这就是这个游戏的一个规则. 我们只需要不断踩着黑色方块前进即可,很简单吧 ...

  6. 用html语言制作表白动画,抖音很火的卡通做我女朋友表白html源码

    资源使用说明: 纯HTML的源码,上传就可以打开使用啦! 右键index.html记事本可修改你要表白的内容.名字等. HTML是用来做网站的一种语言哈.这样吧.你打开一个网页百.然后再网页任何一个地 ...

  7. c语言小游戏跳一跳代码及注释,如何获得微信小游戏跳一跳源码以及源代码组合包括哪些...

    原标题:如何获得微信小游戏跳一跳源码以及源代码组合包括哪些 很多小游戏都是由源代码编写而成的,那大家知道源代码组合包括哪些吗?手机游戏源代码怎么使用的呢?还有,如何获得微信小游戏跳一跳源码?下面就由奇 ...

  8. 本人亲测精选推荐最新10个优秀源码下载网站超值收藏

    以下十个网站是经本人精心收集,亲身体验过,才推荐给大家的. 1.果核网 https://www.guohew.cn  新兴的源码下载站,下载速度快.,源码更新速度较快.源码较全,还有模板.素材下载及一 ...

  9. c语言/c++大作业基于easyx图形库自制RPG类型小游戏代码(附源码)

    目录 一.游戏玩法 二.完整代码 三.部分细节 透明化人物背景 关于easyx库中怎样贴出透明图片 地图的链表实现 移动检测 碰撞检测 总结 前言: 花两天边看easyx文档边学边写的期末小作业. 学 ...

最新文章

  1. 并行计算与分布式计算
  2. MySQL8.0 - 新特性 - 临时表改进
  3. Android Studio 多渠道打包
  4. sublime text 3设置快捷键让html文件在浏览器打开
  5. 二、用FTP同步服务器
  6. git如何上传所有的新文件
  7. oracle 数据库字段名与实体类字段名称不匹配的处理方法
  8. Refactoring Connection To Sql
  9. spring 导出csv_Spring批处理CSV处理
  10. H264 解码耗时分析
  11. 哈希表存在的问题及解决方案
  12. ZooKeeper食谱(八)
  13. POI合并单元格,赋值
  14. 动手学树莓派第1章:先唠叨两句
  15. 有关密钥的最全总结都在这了
  16. 【日常折腾】Y7000P触控板失灵这件事
  17. ccsa安学网小程序_CCSA安学网题库及答案
  18. 肠道菌群检测粪便样本的采集保存方法
  19. 2020互联网大厂的薪资职级一览
  20. 数字大小写转换:如何把“0123456789”转换成“零一二三四五六七八九”?

热门文章

  1. CDQ分治学习及例题总结
  2. 怎样让拿着画笔对着白纸不敢下手的成年人开始画画
  3. 在线手动制做字体子集(少量字的字体裁剪、抽取、提取)
  4. 画恐龙--通过OpenGL
  5. Java基础入门(25天) 毕向东
  6. 移动硬盘分区及正确使用方法
  7. 将List集合中的符合条件的元素放到List第一个
  8. 告别搜狐拥抱腾讯,搜狗会不会再次撬动搜索江湖?
  9. 输入URL之后会执行什么流程?
  10. Qt数据库---图书管理系统