Hello guys, For a few days I`m trying to figure out how I can add some research point and I cant
So after some research I manage to find some address that is connected to research point but I dont know what to edit to work
Maybe someone with more knowledge than me can illuminate me
BTW: If game crash I cant use last founded address because is changed, and I must start again searching process :@
1St :
Code: Select all
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
aobscanmodule(researchpoint2,Disrupt_64.dll,48 89 81 80 00 00 00 48 83 79) // should be unique
alloc(newmem,$1000,researchpoint2)
label(code)
label(return)
newmem:
code:
mov [rcx+00000080],rax
jmp return
researchpoint2:
jmp newmem
nop 2
return:
registersymbol(researchpoint2)
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
researchpoint2:
db 48 89 81 80 00 00 00
unregistersymbol(researchpoint2)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Disrupt_64.dll+654EA27
Disrupt_64.dll+654EA0B: C3 - ret
Disrupt_64.dll+654EA0C: CC - int 3
Disrupt_64.dll+654EA0D: 48 89 5C 24 18 - mov [rsp+18],rbx
Disrupt_64.dll+654EA12: 57 - push rdi
Disrupt_64.dll+654EA13: 48 83 EC 20 - sub rsp,20
Disrupt_64.dll+654EA17: 48 8B 41 50 - mov rax,[rcx+50]
Disrupt_64.dll+654EA1B: 48 89 CF - mov rdi,rcx
Disrupt_64.dll+654EA1E: 48 85 C0 - test rax,rax
Disrupt_64.dll+654EA21: 74 0B - je Disrupt_64.dll+654EA2E
Disrupt_64.dll+654EA23: 48 8B 40 28 - mov rax,[rax+28]
// ---------- INJECTING HERE ----------
Disrupt_64.dll+654EA27: 48 89 81 80 00 00 00 - mov [rcx+00000080],rax
// ---------- DONE INJECTING ----------
Disrupt_64.dll+654EA2E: 48 83 79 58 00 - cmp qword ptr [rcx+58],00
Disrupt_64.dll+654EA33: 0F 84 01 01 00 00 - je Disrupt_64.dll+654EB3A
Disrupt_64.dll+654EA39: 80 B9 90 00 00 00 00 - cmp byte ptr [rcx+00000090],00
Disrupt_64.dll+654EA40: 75 19 - jne Disrupt_64.dll+654EA5B
Disrupt_64.dll+654EA42: 48 8B 81 88 00 00 00 - mov rax,[rcx+00000088]
Disrupt_64.dll+654EA49: 48 39 81 80 00 00 00 - cmp [rcx+00000080],rax
Disrupt_64.dll+654EA50: 0F 95 D0 - setne al
Disrupt_64.dll+654EA53: 84 C0 - test al,al
Disrupt_64.dll+654EA55: 0F 84 DF 00 00 00 - je Disrupt_64.dll+654EB3A
Disrupt_64.dll+654EA5B: 48 8B 51 60 - mov rdx,[rcx+60]
}
2nd.
Code: Select all
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
aobscanmodule(ReserCHPOint,Disrupt_64.dll,48 89 87 88 00 00 00 48 8B 5C 24 40) // should be unique
alloc(newmem,$1000,ReserCHPOint)
label(code)
label(return)
newmem:
code:
mov [rdi+00000088],rax
jmp return
ReserCHPOint:
jmp newmem
nop 2
return:
registersymbol(ReserCHPOint)
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
ReserCHPOint:
db 48 89 87 88 00 00 00
unregistersymbol(ReserCHPOint)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Disrupt_64.dll+654EB33
Disrupt_64.dll+654EB02: 48 8B 5C 24 38 - mov rbx,[rsp+38]
Disrupt_64.dll+654EB07: 48 89 C2 - mov rdx,rax
Disrupt_64.dll+654EB0A: 48 89 D9 - mov rcx,rbx
Disrupt_64.dll+654EB0D: E8 0D 85 8E FF - call Disrupt_64.dll+5E3701F
Disrupt_64.dll+654EB12: 48 8B 4F 08 - mov rcx,[rdi+08]
Disrupt_64.dll+654EB16: 48 8D 54 24 30 - lea rdx,[rsp+30]
Disrupt_64.dll+654EB1B: 48 89 5C 24 30 - mov [rsp+30],rbx
Disrupt_64.dll+654EB20: E8 E5 28 F3 FF - call Disrupt_64.dll+648140A
Disrupt_64.dll+654EB25: 48 8B 87 80 00 00 00 - mov rax,[rdi+00000080]
Disrupt_64.dll+654EB2C: C6 87 90 00 00 00 00 - mov byte ptr [rdi+00000090],00
// ---------- INJECTING HERE ----------
Disrupt_64.dll+654EB33: 48 89 87 88 00 00 00 - mov [rdi+00000088],rax
// ---------- DONE INJECTING ----------
Disrupt_64.dll+654EB3A: 48 8B 5C 24 40 - mov rbx,[rsp+40]
Disrupt_64.dll+654EB3F: 48 83 C4 20 - add rsp,20
Disrupt_64.dll+654EB43: 5F - pop rdi
Disrupt_64.dll+654EB44: C3 - ret
Disrupt_64.dll+654EB45: CC - int 3
Disrupt_64.dll+654EB46: CC - int 3
Disrupt_64.dll+654EB47: 48 89 5C 24 10 - mov [rsp+10],rbx
Disrupt_64.dll+654EB4C: 48 89 74 24 18 - mov [rsp+18],rsi
Disrupt_64.dll+654EB51: 57 - push rdi
Disrupt_64.dll+654EB52: 48 83 EC 20 - sub rsp,20
}
3Rd
Code: Select all
[ENABLE]
aobscanmodule(researchP,Disrupt_64.dll,48 89 43 28 48 83 65 DF 00) // should be unique
alloc(newmem,$1000,researchP)
label(code)
label(return)
newmem:
code:
mov [rbx+28],rax
and qword ptr [rbp-21],00
jmp return
researchP:
jmp newmem
nop 4
return:
registersymbol(researchP)
[DISABLE]
researchP:
db 48 89 43 28 48 83 65 DF 00
unregistersymbol(researchP)
dealloc(newmem)
{
// ORIGINAL CODE - INJECTION POINT: Disrupt_64.dll+5C76EF7
Disrupt_64.dll+5C76ED6: 74 23 - je Disrupt_64.dll+5C76EFB
Disrupt_64.dll+5C76ED8: 48 8B 86 30 04 00 00 - mov rax,[rsi+00000430]
Disrupt_64.dll+5C76EDF: 48 85 C0 - test rax,rax
Disrupt_64.dll+5C76EE2: 74 17 - je Disrupt_64.dll+5C76EFB
Disrupt_64.dll+5C76EE4: 4C 3B 70 58 - cmp r14,[rax+58]
Disrupt_64.dll+5C76EE8: 75 11 - jne Disrupt_64.dll+5C76EFB
Disrupt_64.dll+5C76EEA: 4C 89 F2 - mov rdx,r14
Disrupt_64.dll+5C76EED: 48 89 F1 - mov rcx,rsi
Disrupt_64.dll+5C76EF0: E8 60 FA 00 00 - call Disrupt_64.dll+5C86955
Disrupt_64.dll+5C76EF5: 89 C0 - mov eax,eax
// ---------- INJECTING HERE ----------
Disrupt_64.dll+5C76EF7: 48 89 43 28 - mov [rbx+28],rax
// ---------- DONE INJECTING ----------
Disrupt_64.dll+5C76EFB: 48 83 65 DF 00 - and qword ptr [rbp-21],00
Disrupt_64.dll+5C76F00: 48 83 65 E7 00 - and qword ptr [rbp-19],00
Disrupt_64.dll+5C76F05: 48 8D 96 80 05 00 00 - lea rdx,[rsi+00000580]
Disrupt_64.dll+5C76F0C: 48 8D 4D DF - lea rcx,[rbp-21]
Disrupt_64.dll+5C76F10: E8 1A 1E FF FF - call Disrupt_64.dll+5C68D2F
Disrupt_64.dll+5C76F15: 48 8B 7D E7 - mov rdi,[rbp-19]
Disrupt_64.dll+5C76F19: 48 8B 5D DF - mov rbx,[rbp-21]
Disrupt_64.dll+5C76F1D: 48 C1 EF 20 - shr rdi,20
Disrupt_64.dll+5C76F21: 0F BA F7 1F - btr edi,1F
Disrupt_64.dll+5C76F25: 48 C1 E7 04 - shl rdi,04
}
The 3rd one I tried something with 99 point, but it was only displayed after I consume some It goes back to originals EG: I have 6, put it 99, consume 4, remaining 2
PS: No bad words, I dont know nothing about coding or editing code or something else, What I`ve done is after watching some tut on YT