wxbdf 发表于 2012-6-20 00:13:45

选怪了昨选不了啊这代吗高手看下

.版本 2

汇编指令 = “mov eax,”
汇编指令 = “mov eax,”
汇编指令 = “lea edi,”
汇编指令 = “mov ecx,”
汇编指令 = “push ecx”
汇编指令 = “mov ecx,”
汇编指令 = “mov eax,007F04F0”
汇编指令 = “call eax”
调用指令 (进程, 汇编指令)

a15759 发表于 2012-6-21 08:52:34

在这里很少有人理你滴。你试试这个
汇编指令 = “mov eax,”“mov eax,”这里你换成“mov eax,”

a15759 发表于 2012-6-21 08:53:59

唉技能数组值找了一阵没一个人提示的。我估计可能是游戏初始化的时候。把这个数据放到了一个地方去了。

wosch2 发表于 2012-6-21 09:34:32

{:1_99:} 就算 能选怪 也 是 乱选的 而且还是 老是选 那 一个   

先遍历出怪物在传入 EDI

eggfun 发表于 2012-6-21 10:06:56

eggfun 发表于 2012-6-21 10:08:12

貌似不好使 不知道是不是代码注入器有问题

wosch2 发表于 2012-6-21 21:08:39

{:1_99:}这样的 写法      是 需要 模块的

去找个 清风汇编 或者 用内联汇编

lookonstop 发表于 2012-6-22 01:50:16

“mov eax,”
“mov eax,”
“lea edi,”
上面这段是东西,别乱搞说。。怪物ID要么遍历得来,要么在调用选怪call前中断,然后copy过来,测试用可以,
这是个旧版的选怪call:

_asm{
        mov edi,0x188AF5A4//怪物基址
        mov ecx,     //貌似新版本ID偏移是0f8
        push ecx
        mov esi,0xC5DD24//--基址 CE搜
        mov esi,
        mov ecx,esi
        mov eax,0x04F5FD0 //选怪call
        call eax
}

clong 发表于 2012-6-25 11:56:19

楼上这是哪年的旧版?晕~
不过原理是一样的,先根据怪物基址得到怪物随机ID,压入怪物ID,然后是一个寄存器,最后是CALL。

wosch2 发表于 2012-6-25 23:45:04

.版本 2

.子程序 选怪call, , 公开
.参数 怪物ID, 整数型



怪物ID = 内存读整数 (进程, 遍历.目标地址 + 十六到十 (“0f8”))

置代码 ({})
pushad ()
mov_ecx_常数 (怪物ID)
push_ecx ()
mov_esi_ptr (十六到十 (”0118ac64“)               值传入 ESI
mov_esi_dword_esi ()                                        相当于 mov esi,    读esi 的值   在传进 esi
mov_ecx_esi ()
mov_eax_常数 (十六到十 (“007F04F0”)
call_eax ()
popad ()
ret ()
调用函数 (进程, _取代码 ())

syfo9 发表于 2012-6-26 19:26:45

补充一下,首先要遍历身边的人物物品等,然后判断遍历的是怪物还是物品还是NPC等等。如果是怪物,才能传地址+F8的值(也就是怪物的ID)进call,才能选中怪。像楼主这样传的值不一定是怪物的id,所以不一定会成功的。
页: [1]
查看完整版本: 选怪了昨选不了啊这代吗高手看下