能力值:
( LV7,RANK:110 )
|
-
-
2 楼
会改写那个游戏本身的线程的EIP不?填写需要的参数,然后采用改写EIP的方式强制调用线程就行!
|
能力值:
( LV3,RANK:20 )
|
-
-
3 楼
czcqq
会改写那个游戏本身的线程的EIP不?填写需要的参数,然后采用改写EIP的方式强制调用线程就行!
谢谢回复,jmp call 都能改EIP吧,但是如何选择恰当的线程EIP,不太会!
|
能力值:
( LV3,RANK:20 )
|
-
-
4 楼
有些Jass函数只能主线程调用,最好让主线程执行实现功能的汇编代码. 在主线程随便找一个循环调用的作弊hook点(比如1.24e绘制英雄路线时的hook点game.dll+0x362BF1)hook,在hook函数中根据判断是否需要跳转到自定义汇编代码,判断条件可以是某一游戏不使用的基址或自己申请一段内存的值. 伪代码大概如下:
__asm
{
pushad
pushfd
mov eax,0x12345678 //通过地址0x12345678的值判断是否需要执行作弊代码, 0不执行 1需要执行 2正在执行
cmp [eax],1
jne End
mov [eax],2
//作弊代码
mov [eax],0
End:
popfd
popad
//执行Hook点原始代码
//跳回hook点
jmp HookRet
}
作弊插件将War3.exe进程0x12345678地址写入1就可以执行了.
|
能力值:
( LV3,RANK:20 )
|
-
-
5 楼
洪荒之力
有些Jass函数只能主线程调用,最好让主线程执行实现功能的汇编代码.在主线程随便找一个循环调用的作弊hook点(比如1.24e绘制英雄路线时的hook点game.dll+0x362BF1)hook,在 ...
谢谢“洪荒之力”的回复,war3联网下比如平台游戏环境下,修改主线程的代码并执行,会不会导致掉线了?我主要是用来判断选取单位是否为本地玩家单位,别人的war3下并没修改主线程代码? 还有一点疑问,war3的循环执行接口,是如何利用CE找到的呢?我之前是按照教程找的一个循环检测游戏时间的接口? 辛苦大哥了!如此详细的回帖!
|
能力值:
( LV3,RANK:20 )
|
-
-
6 楼
小木鱼
谢谢“洪荒之力”的回复,war3联网下比如平台游戏环境下,修改主线程的代码并执行,会不会导致掉线了?我主要是用来判断选取单位是否为本地玩家单位,别人的war3下并没修改主线程代码?
还有一点疑问 ...
掉线有两种,数据不同步被主机踢掉和修改了游戏进程内存被平台检测到踢线. 你举的例子修改经验无论什么方法执行联网下肯定都会由于数据不同步掉线的. 判定自己选中单位是否为本地玩家单位不会引起数据不同步,但是游戏平台对调用jass call可能会有堆栈的调用地址检测,非法地址的调用可能会被检测到踢线;修改代码的检测可以重载game.dll然后hook,或者挂起线程修改eip或者使用硬件断点触发异常执行等等,不同的平台检测手段不同. 判断本地玩家选中的单位是否为视野外单位使用IsUnitInvisible就可以,判断其他玩家是否因为选中了视野外单位作弊由于网络延迟的原因会有一定概率判断失误. war3的循环执行函数可以通过函数功能去下断点尝试获取,比如获取单位坐标,获取玩家金币数量等函数肯定会经常被执行的. 游戏timer相关操作的jass函数肯定也会被高频执行的.
|
能力值:
( LV3,RANK:20 )
|
-
-
7 楼
对于各类平台的检测手段,应该是很高深的话题,暂时我的水平达不到,应该是很难的吧,涉及到的知识也很高深?
“war3的循环执行函数可以通过函数功能去下断点尝试获取”,我之前逆向过war3,发现触发中函数的调用都经过 call ebx这条语句,并没有走向某个函数专门的代码段,请恕我愚笨,我的意思是每个函数调用的代码段不是独立的,不是函数1有函数1的代码段,函数2有函数2的代码,都是call ebx指向并调用函数,然而ebx来源于上面的call返回,返回的是函数的地址,比如game.2C38D0。 如果我想找到绘制英雄路线时的hook点game.dll+0x362BF1,要具体怎么操作了,我不理解“循环执行函数可以通过函数功能”下断并获取?不明晰找到对应的函数(这个函数是JASS函数还是访问CE中找到英雄路线坐标的汇编语句),说的不专业,希望您能明白我描述的。
6F6AD884 FFD3 CALL EBX ; 各函数分支,如:"AddHeroXP"
6F6AD886 8B4D FC MOV ECX, DWORD PTR SS:[EBP-0x4]
6F6AD889 8B51 20 MOV EDX, DWORD PTR DS:[ECX+0x20]
6F6AD88C 8B4D F8 MOV ECX, DWORD PTR SS:[EBP-0x8]
6F6AD88F 2991 8C000000 SUB DWORD PTR DS:[ECX+0x8C], EDX
6F6AD895 8DA5 6CFFFFFF LEA ESP, DWORD PTR SS:[EBP-0x94]
6F6AD89B 5F POP EDI
6F6AD89C 5E POP ESI
6F6AD89D 5B POP EBX ; Game.6F2C38D0
6F6AD89E 8BE5 MOV ESP, EBP
6F6AD8A0 5D POP EBP
6F6AD8A1 C2 0400 RETN 0x4
堆栈中出现参数
0018DD9C 00100013
0018DDA0 000003E8
0018DDA4 00000001
0018DDA8 0A69CF08 ASCII "AddHeroXP"
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
嗯。
|
能力值:
( LV3,RANK:20 )
|
-
-
9 楼
|
能力值:
( LV13,RANK:240 )
|
-
-
10 楼
木鱼,我记得当年我写dota外挂的时候就眼熟你这个id了,过了这么久了水平咋看起来没有进步啊。
|
能力值:
( LV13,RANK:240 )
|
-
-
11 楼
要找绘制点,你要想清楚游戏制作者的思路。 https://bbs.pediy.com/thread-187625.htm 看一下第三个小地图绘制吧
|
能力值:
( LV3,RANK:20 )
|
-
-
12 楼
谢谢大家的回复 祝愿大家过一个好新年
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
请问怎么实现魔兽的物品添加和瞬移?
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
小木鱼
谢谢大家的回复 祝愿大家过一个好新年
@小木鱼 请问这些地址要怎么编写ce脚本,我编写了几次都是崩溃?
|
能力值:
( LV1,RANK:0 )
|
-
-
15 楼
你们在官方平台能调试魔兽吗 用od断下来游戏就崩溃了
|
|
|