ningmeng 發表於 2022-4-16 01:02:14

技能注入求助

代码是我自己拼接的,找了个hook点,使用后,游戏直接闪退了。
小弟想求助各位大佬
1.帮忙看一下这一段代码错在了哪里?
2.是不是要alloc一块内存,然后 lea rsp,[申请的内存]?
3.类似mov ,r12d 这种,是不是可以直接写成  mov ,00000000,不再从 r12d中取值了?//TwMS V242.1
SkillIn:
push eax
push r8d
push r9
call 143978B80
mov r8d,eax
sub r8d,
cmp r8d,
jl SkillInMY_Exit
mov ,eax

mov rbx,
mov rcx,
call 143B8A960
mov r8d,
mov dword ptr ,r8d
mov r8d,
lea r9,
mov rcx,
mov rdx,r15
mov ,00000001
mov ,r12d
mov ,r12d
mov ,r12d
mov ,r12
call 1407F74D0
mov rdx,
xor r9d,r9d
mov ,r12l
mov r8d,edi
mov ,r12
mov rcx,rbx
mov ,r12l
mov ,r12d
mov ,r12d
mov ,r12l
mov ,r12d
mov ,r12d
mov ,r12l
mov ,r12d
mov ,r12d
mov ,r12d
mov ,r12d
mov ,r12d
mov ,r12
mov ,r12d
mov ,r12d
mov ,r12d
call 14372C730

SkillInMY_Exit:
pop eax
pop r8d
pop r9
jmp 原地址

仁二 發表於 2022-4-26 11:19:16

push eax
push r8d
push r9
sub rsp,118 // 这里先申请一段rsp空间 因为你下面调用的call需要
//开始调用你需要的内容
mov rcx,//在这里你就要确保一下rsp是否 16字节对齐了 不然可能调用到一些会飞游戏
call 技能攻击//
add rsp,118 //还原rsp
pop eax //还原摆放顺序错了。。这里应该放pop r9
//(还有eax一般情况下不需要保护 除非hook的位置需要)
pop r8d
pop r9 //这里是你首次push的 则pop eax(现在一般都是rax你push eax默认也会帮你改成rax?)


回复一下 第二个问题
2.是不是要alloc一块内存,然后 lea rsp,[申请的内存]?
这个的话 我有尝试过 似乎不用游戏范围内的rsp另外有检测 不能乱写。。
就按照上面说的sub rsp,xx来申请空间就行 用完记得add回来

頁: [1]
查看完整版本: 技能注入求助