Its not just a flag, if i check the adresses, only if i aim on them they become valid, and pop up in the Debugger, i tried tracing back and checked if there are a place where a check happens that push the adress into the code, but i wasn't lucky at all.
What about this?
i know, this is Sexy :p
I'm manipulating the max icon visibility distance
Can be found here:
Code: Select all
FC_m64.dll+109AB2A3 - F3 41 0F10 0C 24 - movss xmm1,[r12] <------------ Icon on World Map coordinates ;)
FC_m64.dll+109AB2A9 - 48 8D 4C 24 68 - lea rcx,[rsp+68]
FC_m64.dll+109AB2AE - F3 41 0F5C 0E - subss xmm1,[r14]
FC_m64.dll+109AB2B3 - F3 41 0F10 44 24 04 - movss xmm0,[r12+04]
FC_m64.dll+109AB2BA - 45 0F57 D2 - xorps xmm10,xmm10
FC_m64.dll+109AB2BE - F3 41 0F5C 46 04 - subss xmm0,[r14+04]
FC_m64.dll+109AB2C4 - 0FB6 D8 - movzx ebx,al
FC_m64.dll+109AB2C7 - 88 44 24 42 - mov [rsp+42],al
FC_m64.dll+109AB2CB - F3 0F11 8D 90000000 - movss [rbp+00000090],xmm1
FC_m64.dll+109AB2D3 - F3 0F59 C9 - mulss xmm1,xmm1
FC_m64.dll+109AB2D7 - F3 0F11 85 94000000 - movss [rbp+00000094],xmm0
FC_m64.dll+109AB2DF - F3 0F59 C0 - mulss xmm0,xmm0
FC_m64.dll+109AB2E3 - F3 0F58 C1 - addss xmm0,xmm1
FC_m64.dll+109AB2E7 - F3 44 0F51 D0 - sqrtss xmm10,xmm0
FC_m64.dll+109AB2EC - E8 EFFBC3F0 - call FC_m64.dll+15EAEE0
FC_m64.dll+109AB2F1 - 48 8D 4C 24 68 - lea rcx,[rsp+68]
FC_m64.dll+109AB2F6 - F3 44 0F10 40 60 - movss xmm8,[rax+60] <-------------- Offset 60 is holding the Max Distance for icon Visibility
FC_m64.dll+109AB2FC - E8 DFFBC3F0 - call FC_m64.dll+15EAEE0
FC_m64.dll+109AB301 - F3 0F10 78 5C - movss xmm7,[rax+5C]
FC_m64.dll+109AB306 - 80 FB 07 - cmp bl,07 { 7 }
FC_m64.dll+109AB309 - 0F85 C9000000 - jne FC_m64.dll+109AB3D8
FC_m64.dll+109AB30F - 48 8B 0D 926851F4 - mov rcx,[FC_m64.dll+4EC1BA8] { (24EC3030) }
FC_m64.dll+109AB316 - 48 89 4D 68 - mov [rbp+68],rcx
FC_m64.dll+109AB31A - 48 85 C9 - test rcx,rcx
Edit:
i seperated each icon Type with this:
RAX + 48 is holding a Pointer
From that Pointer +C you can seperate each Icon Type by their Name
I'm uploading it, spent the whole last night on that. Ready to Use i guess.
BTW, this code below only gets accessed when you aim on an Icon. Guess what? You can Teleport to the Icon you actually aim on
Code: Select all
FC_m64.dll+109AC4AF - 44 29 CA - sub edx,r9d
FC_m64.dll+109AC4B2 - 48 8D 4C 24 48 - lea rcx,[rsp+48]
FC_m64.dll+109AC4B7 - 41 89 D0 - mov r8d,edx
FC_m64.dll+109AC4BA - 4C 89 CA - mov rdx,r9
FC_m64.dll+109AC4BD - E8 6E1079EF - call FC_m64.dll+13D530
FC_m64.dll+109AC4C2 - 41 B7 01 - mov r15l,01 { 1 }
FC_m64.dll+109AC4C5 - EB 03 - jmp FC_m64.dll+109AC4CA
FC_m64.dll+109AC4C7 - 45 30 FF - xor r15l,r15l
FC_m64.dll+109AC4CA - 45 84 E4 - test r12l,r12l
FC_m64.dll+109AC4CD - 74 15 - je FC_m64.dll+109AC4E4
FC_m64.dll+109AC4CF - 80 BE A4020000 00 - cmp byte ptr [rsi+000002A4],00 { 0 } <------------ This becomes 1, when you aim on a Icon in the world, each icon that is able to show meters above their symbol is affected by this :)
FC_m64.dll+109AC4D6 - 75 0C - jne FC_m64.dll+109AC4E4
FC_m64.dll+109AC4D8 - 41 0F28 CA - movaps xmm1,xmm10
FC_m64.dll+109AC4DC - 48 89 F1 - mov rcx,rsi
FC_m64.dll+109AC4DF - E8 DCCE90F1 - call FC_m64.dll+22B93C0
FC_m64.dll+109AC4E4 - 80 7D 70 00 - cmp byte ptr [rbp+70],00 { 0 }
FC_m64.dll+109AC4E8 - 74 05 - je FC_m64.dll+109AC4EF
FC_m64.dll+109AC4EA - 45 84 E4 - test r12l,r12l
FC_m64.dll+109AC4ED - 75 08 - jne FC_m64.dll+109AC4F7
FC_m64.dll+109AC4EF - 48 89 F1 - mov rcx,rsi
FC_m64.dll+109AC4F2 - E8 39C18DF1 - call FC_m64.dll+2288630
FC_m64.dll+109AC4F7 - 80 BE CC020000 00 - cmp byte ptr [rsi+000002CC],00 { 0 }
I use it like this, because if i directly compared the Value at the place where i hooked (
FC_m64.dll+109AB2A3 in my case), the cmp fails with directly comparing RSI+2A4 equals 1. So i made it like this:
Code1
Code: Select all
aobscanmodule(BaseIconAimedOn,FC_m64.dll,80 BE A4 02 00 00 00 75)
...
...
BaseIconAimedOnMem:
mov [_pAimedOnIcon],rsi = Getting Pointer for current aimed Icon
codeBaseIconAimedOn:
cmp byte ptr [rsi+000002A4],00
jmp returnBaseIconAimedOn
Code2
Code: Select all
aobscanmodule(_RandomMapIconLocation,FC_m64.dll,F3 41 0F 10 0C 24 48)
...
...
...
TeleToAimedAtIcon:
cmp rsi,[_pAimedOnIcon]
jne codeRandomMapIcon
push rbx
mov rbx,[r12]
mov [_MapIconX],rbx
mov rbx,[r12+04]
mov [_MapIconY],rbx
mov rbx,[r12+08]
mov [_MapIconZ],rbx
pop rbx
codeRandomMapIcon:
movss xmm1,[r12]
jmp returnRandomMapIcon
Now simply use the symbols in your teleporter code