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 


Can't create a trainer because exename is random

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
aikoncwd
Grandmaster Cheater
Reputation: 23

Joined: 21 Dec 2012
Posts: 591
Location: Spain (Barcelona)

PostPosted: Mon Jan 28, 2013 1:30 pm    Post subject: Can't create a trainer because exename is random Reply with quote

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
View user's profile Send private message
daspamer
Grandmaster Cheater Supreme
Reputation: 54

Joined: 13 Sep 2011
Posts: 1588

PostPosted: Mon Jan 28, 2013 1:42 pm    Post subject: Reply with quote

I use this for Flash Games, I'm lazy..
Its open the Foreground Process (The processor you have focus on..)
Very useful and easy Smile
For the long that new processor is on top..If not.. then you'll probably need to attach to it child processor, for doing that you'd probably need ask for help from dark byte.
Code:
local fore=getForegroundProcess()
openProcess(fore)
end
createHotkey(attaching, VK_F6)

_________________
I'm rusty and getting older, help me re-learn lua.
Back to top
View user's profile Send private message Visit poster's website
Dark Byte
Site Admin
Reputation: 471

Joined: 09 May 2003
Posts: 25815
Location: The netherlands

PostPosted: Mon Jan 28, 2013 1:47 pm    Post subject: Reply with quote

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
View user's profile Send private message MSN Messenger
aikoncwd
Grandmaster Cheater
Reputation: 23

Joined: 21 Dec 2012
Posts: 591
Location: Spain (Barcelona)

PostPosted: Mon Jan 28, 2013 1:52 pm    Post subject: Reply with quote

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
View user's profile Send private message
ablonevn
Advanced Cheater
Reputation: 1

Joined: 02 Oct 2011
Posts: 59

PostPosted: Wed Jan 30, 2013 9:27 am    Post subject: Reply with quote

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 Very Happy. 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 Very Happy hope popcap dont put too much protection for their game Smile
Back to top
View user's profile Send private message
mgr.inz.Player
I post too much
Reputation: 222

Joined: 07 Nov 2008
Posts: 4438
Location: W kraju nad Wisla. UTC+01:00

PostPosted: Wed Jan 30, 2013 10:42 am    Post subject: Reply with quote

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
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine 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