007be110 push ebp
007be111 mov ebp,esp
007be113 mov ecx,fs[0x2c] tls_slot (learned from this forum..thanks
007be11a mov eax,[0x135D9Fc] tls_slot_number
007be11f mov edx,[ecx+eax*4] tls_pointer
007be122 mov ecx,[edx+0x10] ecx=?? Not sure yet...first object address?
007be128 sub esp,0x8 something about stack pointer? Should i read about stack pointer(s)?
007be12b test ecx,ecx
007be12d je short 0x007Be15C if ecx=0 call BadSpot15C
007be12f mov eax,[ebp+0x8]
007be132 mov edx,[ebp+0xC]
007be135 push esi
007be136 mov esi,eax
007be138 or esi,edx
007be13a pop esi
007be13b je short 0x007Be15C 'what is the condition for this jump??
007be13d mov [ebp-0x4],edx
007be140 lea edx,[ebp-0x8]
007be143 push edx
007be145 mov [ebp-0x8],eax
007be148 call 007BDF10 'this has no condition...goto and copy source..need to do*
007be14d test eax,eax
007be14f je short 0x007Be15E if eax==0 goto badspot
007be151 mov ecx,[eax+0x8] 'wtf? ECX wasn't used before this and is now being over-written..so the call to 007BDF10 must use it??
007be154 mov edx,[ebp+0x10]
007be157 test [ecx+0x8],edx
007be15a jnz short 0x007Be15E
007be15c xor eax,eax --------------- eax = 0 not good..so the calls to this line = bad ??
007be15e mov esp,ebp standard
007be160 pop ebp standard
007be161 retn standard
007be162 int3
I set a breakpoing on my health's memory address and then checked for code accessing that location. I got an address, 5c4e1C: mov [esi+F90],edx
where esi+0xF90 = my_health_location
In the line RIGHT AFTER the call to 007be110 (the asm above) is move esi,eax SO the EAX is being returned from the 007be110 function. and it's the base_address to my player..so 007be110 is like 'getPlayerBaseBy****' where **** is eithor Guid...or, not sure? Maybe it's like..getLocalPlayerBase and not as important to me (though that would be..something nice to know)
I see the line 007be15c xor eax,eax eax=0..so the code i didn't show(that puts my health into health memoryloc) doesn't check for esi==0, so..?that confuses me?
..but i don't know asm well enough..can anyone help explain it if they ..aren't busy?If you are too busy..close this thread and PLZ don't reply w/ 'go read' lol..for real, i'd rather it got 0 replies
Thanks in Advance,
Andrew
ps. I wrote down the other section of asm..so here are both parts..the one below is the one that actually change my health on the bottom line of asm. Thanks agin.
5c4def int3
5c4df0 push ebp
5c4df1 mov ebp,esp
5c4df3 mov eax,[ebp+0xC]
5c4df6 push ebx
5c4df7 mov ebx,[ebp+0x8]
5c4dfa push esi
5c4dfb push edi
5c4dfc push 0x2DC
5c4e01 push 0x9A21Bc
5c4e06 push 0x8
5c4e08 push eax
5c4e09 push ebx
5c4e0a call 0x007Be110 ------SEE ASM ABOVE-----
5c4e0f mov esi,eax
5c4e11 mov ecx,[esi+0xD0]
5c4e17 mov edx,[ecx+0x44]
5c4e1a mov eax,ecx
5c4e1c mov [esi+0xF90],edx esi+f90 = my_health_location, esi=player_base_address???*Most important question* I think