| View previous topic :: View next topic |
| Author |
Message |
aikoncwd Grandmaster Cheater
Reputation: 23
Joined: 21 Dec 2012 Posts: 591 Location: Spain (Barcelona)
|
Posted: Mon Jan 28, 2013 1:30 pm Post subject: Can't create a trainer because exename is random |
|
|
I have a game that the processname.exe is random every time you launch the game.
I can make a woking table, but can't generate a trainer because the processname is always random. What can I do to generate a working trainer with this scenenario?
As you can see, I'm launching "Heavy Weapon Deluxe.exe" and this process generate a new program with a random name (pop80E5.exe) and this is the real process.
btw, it's not very important, because I'm having fun making trainers for myself, but I'm scared if I get this scenario on the future
_________________
Hey Hitler
Test here your skill with CheatEngine, I coded a challenge for you. Try to beat it!
HERE |
|
| Back to top |
|
 |
daspamer Grandmaster Cheater Supreme
Reputation: 54
Joined: 13 Sep 2011 Posts: 1588
|
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 471
Joined: 09 May 2003 Posts: 25815 Location: The netherlands
|
Posted: Mon Jan 28, 2013 1:47 pm Post subject: |
|
|
Extend the generated lua code
Instead of only using the autoattach start your own timer.
In there look through the processlist and check if a processname matches the characteristics you're looking for.
basic idea:
| Code: |
function ontimer(t)
plist=createStringlist()
getProcesslist(plist)
--check the plist object for a XXXX-popYYY.tmp
--if found extract the XXXX part and call openProcess(0xXXXX) or call openProcess("popYYY.tmp")
object_destroy(plist)
end
|
_________________
Do not ask me about online cheats. I don't know any and wont help finding them.
Like my help? Join me on Patreon so i can keep helping |
|
| Back to top |
|
 |
aikoncwd Grandmaster Cheater
Reputation: 23
Joined: 21 Dec 2012 Posts: 591 Location: Spain (Barcelona)
|
Posted: Mon Jan 28, 2013 1:52 pm Post subject: |
|
|
hummm interesting, didn't know that CE (lua) can do this. I will investigate
The hack is only for me, so a table is fine. I only asked this because maybe in the future someone else demand a trainer for a game like that
_________________
Hey Hitler
Test here your skill with CheatEngine, I coded a challenge for you. Try to beat it!
HERE |
|
| Back to top |
|
 |
ablonevn Advanced Cheater
Reputation: 1
Joined: 02 Oct 2011 Posts: 59
|
Posted: Wed Jan 30, 2013 9:27 am Post subject: |
|
|
| AikonCWD wrote: | hummm interesting, didn't know that CE (lua) can do this. I will investigate
The hack is only for me, so a table is fine. I only asked this because maybe in the future someone else demand a trainer for a game like that |
here is another idea but it com...plex abit . using lua to create a suspend process of the game and then hooking CreateProcess function to get execute name, if you are lucky, then you never miss process execute name, if you want more complex you can hooking BaseThreadInitThunk too hope popcap dont put too much protection for their game
|
|
| Back to top |
|
 |
mgr.inz.Player I post too much
Reputation: 222
Joined: 07 Nov 2008 Posts: 4438 Location: W kraju nad Wisla. UTC+01:00
|
Posted: Wed Jan 30, 2013 10:42 am Post subject: |
|
|
Something like this:
| Code: |
function openRightProcess()
local processlist=createStringlist()
local entry=nil
local name=nil
getProcesslist(processlist)
for i=0,strings_getCount(processlist)-1 do
entry = strings_getString(processlist,i)
name = entry:sub(10)
if (name:sub(1,3)=="pop") and (name:sub(-4)==".tmp") then
timer_setEnabled(timer1,false)
openProcess(name)
break
end
end
object_destroy(processlist)
end
if timer1~=nil then object_destroy(timer1);timer1=nil;end --not needed in final release
timer1 = createTimer(nil,false)
timer_onTimer(timer1,openRightProcess)
timer_setInterval(timer1,1000)
timer_setEnabled(timer1,true) |
_________________
|
|
| Back to top |
|
 |
|