Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


need some help making a script

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
HiSaZuL
Expert Cheater
Reputation: 6

Joined: 09 Aug 2011
Posts: 245

PostPosted: Tue Oct 11, 2011 5:44 am    Post subject: need some help making a script Reply with quote

So after frustrating attempts to get pointer i gave up... no pointers survive reload... and i tried going as far as lvl 7 pointer scan... tried 10 canceled after 3 hours i think... 300gigs and that much time and it still didnt finish was overkill.
I tried making an injection script... failed miserably i dont understand auto assembly script at all.
what im trying to do is freeze a value in e.y.e. divine subermancy update 1... it uses half-life engine so im stuck dealing with dll modules.
what i need is to freeze auxiliary power which is stamina in eye.
finding address w/o even a visual value became something of an automated process for me takes about 10 seconds to get address -_- so you can imagine i spent a while with this.

heres script i used... like i mentioned i don't know/understand AA so its going to be broken in a lot of places and id appreciate any input and pointers in right direction.
Code:

[ENABLE]
alloc(stamina,2048) //2kb should be enough
label(returnhere)

"server.dll"+1E196B:
jmp stamina
nop
returnhere:

stamina:
mov [edi], (float)100
fstp dword ptr [edi]
jmp returnhere

[DISABLE]
dealloc(stamina}
"server.dll"+1E196B:
fstp dword ptr [edi]

fstp dword ptr [edi] is what CE is pointing me to... as far as i understood it stores float pointer value so before it does that i shoved in mov [edi], (float)100
not entirely sure on the whole use of nop function but i guess i need it to make space for the code line im injecting?
anyhoo would like some input on this >_> my head hurts enough from wasting a month trying to get my new rig to work w/o seeing vgu driver crash reports as soon as i try playing games lol
Back to top
View user's profile Send private message
HiSaZuL
Expert Cheater
Reputation: 6

Joined: 09 Aug 2011
Posts: 245

PostPosted: Tue Oct 11, 2011 7:39 pm    Post subject: Reply with quote

heres the portion where code get executed i just copied whole thing that looks relevant:
Code:

162A195A - 5E                         - pop esi
162A195B - 5D                         - pop ebp
162A195C - 74 0F                      - je 162A196D
162A195E - 8B 57 FC                   - mov edx,[esi-04]
162A1961 - 8B 02                      - mov eax,[edx]
162A1963 - 8D 4F FC                   - lea ecx,[esi-04]
162A1966 - 57                         - push edi
162A1967 - FF D0                      - call eax
162A1969 - D9 03                      - fld dword ptr [ebx]
162A196B - D9 1F                      - fstp dword ptr [edi] //This is where CE is pointing me to if i use what writes to address.
162A196D - 8B C7                      - mov eax,edi
162A196F - 5F                         - pop edi
162A1970 - 5B                         - pop ebx
162A1971 - C2 0400                    - ret 0004

if anyone got half-life 2 auxiliary script that i can look at it would probably work too i think.
Back to top
View user's profile Send private message
haunted5
Cheater
Reputation: 1

Joined: 23 Aug 2011
Posts: 35

PostPosted: Wed Oct 12, 2011 5:52 am    Post subject: This post has 1 review(s) Reply with quote

Hi,

Im sure you already know this, but if the game is online, it wont work. Also once you have found the value in cheat engine Im assuming freezing it works.

What happens when you run the script?

The only thing I would change is:


mov [edi], (float)100

to:

mov dword ptr [edi], (float)100

Also you could try:

stamina:
fstp st(0) //This is basically a nop for floats on the stack,it pops the
//value so it wont be stored
jmp returnhere
Back to top
View user's profile Send private message
unknown_k
Expert Cheater
Reputation: 5

Joined: 24 May 2011
Posts: 211

PostPosted: Wed Oct 12, 2011 9:33 am    Post subject: Reply with quote

this should be working.

Code:
162A196B - D9 1F - fstp dword ptr [edi]
162A196D - 8B C7 - mov eax,edi
162A196F - 5F    - pop edi

jmp need at least 5 bytes, and these are exactly 5 bytes. so nop not needed.

Code:
[ENABLE]
alloc(stamina,2048)
label(returnhere)

"server.dll"+1E196B:
jmp stamina
//nop
returnhere:

stamina:
fstp dword ptr [edi]
mov [edi],(float)100.0  //put your code after not before
mov eax,edi             //rest of the code occupied by jmp
pop edi                 //same
jmp returnhere

[DISABLE]
dealloc(stamina)        //"}" typo

"server.dll"+1E196B:
fstp dword ptr [edi]
mov eax,edi
pop edi
//alt: db D9 1F 8B C7 5F


good luck!
Back to top
View user's profile Send private message
HiSaZuL
Expert Cheater
Reputation: 6

Joined: 09 Aug 2011
Posts: 245

PostPosted: Wed Oct 12, 2011 2:05 pm    Post subject: Reply with quote

haunted its not online :p
unknown_k i did after much tweaking get it to work by some miracle i guess. just didnt post anything because it was very early in the morning today. i gave up on getting it to work at first but i still couldnt understand why after disabling original op codes were getting replaced by something that didnt even look like AA code... so after adding removing stuff i ended up with:

Code:

[ENABLE]
alloc(stamina,2048)
label(returnhere)

stamina:
fstp dword ptr [edi]
mov [edi],(float)100
mov eax,edi
pop edi
jmp returnhere

"server.dll"+1E196B:
jmp stamina
returnhere:

[DISABLE]
dealloc(stamina)
"server.dll"+1E196B:
fstp dword ptr [edi]
mov eax,edi
pop edi

this seems to work... so going go to go try getting skills and borouzoufs to work with script too and will post a table later... since out of 4 trainers floating around only 1 is for version im using and that trainer doesn't even start.
im guessing bytes taken by jump code were the reason for messing up original code so i had to take out enough bytes of code to equal that of jump since jump was something like ?? ????????
also thank you very much for explanations Razz it still looks like jibberish to me


Last edited by HiSaZuL on Wed Oct 12, 2011 4:03 pm; edited 1 time in total
Back to top
View user's profile Send private message
haunted5
Cheater
Reputation: 1

Joined: 23 Aug 2011
Posts: 35

PostPosted: Wed Oct 12, 2011 3:01 pm    Post subject: Reply with quote

Ah I see, yes the opcode bytes were not same. CE can create a Template for you so the bytes will be automatically the same. It is in Tools>Auto Assemble, then when the AA window opens choose 'Template' menu, select 'Cheat Table framework code' followed by 'Code Injection'.
Back to top
View user's profile Send private message
HiSaZuL
Expert Cheater
Reputation: 6

Joined: 09 Aug 2011
Posts: 245

PostPosted: Wed Oct 12, 2011 4:03 pm    Post subject: Reply with quote

yeah... but that got too many labels and i get confused more with that heh

on side note was too happy last night that it worked seems like any sort of map change crashes game unless i disable script before it happens -_-
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites