婆罗门
精华
|
战斗力 鹅
|
回帖 0
注册时间 2014-9-17
|
楼主 |
发表于 2023-8-7 20:35
|
显示全部楼层
是的。比如我遇到一个失效脚本,大致这样:
- [ENABLE]
- {$lua}
- if (process ~= nil) then
- if not loadingmono then
- loadingmono=true
- LaunchMonoDataCollector()
- end
- while not monoSymbolList do sleep(10) end --monoSymbolList could be nil
- while not monoSymbolList.FullyLoaded do sleep(10) end
- end
- {$asm}
- NightScene.EventUtility.EventManager.LoseAllCombo:
- db 90 C3
- aobscanmodule(Combo_Get_AOB,GameAssembly.dll,8B 6E 20 8B DD) // should be unique
- alloc(newmem,$1000,Combo_Get_AOB)
- label(code)
- label(return)
- newmem:
- cmp [rsi+20],#76
- jge code
- mov [rsi+20],#76
- code:
- mov ebp,[rsi+20]
- mov ebx,ebp
- jmp return
- Combo_Get_AOB:
- jmp newmem
- return:
- registersymbol(Combo_Get_AOB)
- [DISABLE]
- NightScene.EventUtility.EventManager.LoseAllCombo:
- db 40 56
- Combo_Get_AOB:
- db 8B 6E 20 8B DD
- unregistersymbol(Combo_Get_AOB)
- dealloc(newmem)
- {
- // ORIGINAL CODE - INJECTION POINT: GameAssembly.dll.il2cpp+2E40A6
- GameAssembly.dll.il2cpp+2E4093: 48 8D 0D CE 6E 86 02 - lea rcx,[GameAssembly.dll.data+D3F68]
- GameAssembly.dll.il2cpp+2E409F: C6 05 1E 7A A1 02 01 - mov byte ptr [GameAssembly.dll+3040AC4],01
- // ---------- INJECTING HERE ----------
- GameAssembly.dll.il2cpp+2E40A6: 8B 6E 20 - mov ebp,[rsi+20]
- // ---------- DONE INJECTING ----------
- GameAssembly.dll.il2cpp+2E40AB: 8B CF - mov ecx,edi
- }
复制代码 我想把它改回能用的状态,起码得读懂它的思路吧,比如搜索什么特征、如何从多个符合特征的调用中筛出目标调用、在什么位置注入修改内容、实现目标功能的注入内容应该怎么写…
这些内容,我不认为零基础的人能2小时掌握。
|
|