 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
kalibr3 How do I cheat?
Reputation: 0
Joined: 11 Dec 2004 Posts: 3
|
Posted: Sat Dec 11, 2004 11:19 pm Post subject: Viewing the pointers for a previously made trainer? |
|
|
After I made my trainer using CE 4.4, I stupidly forgot to save the pointer information I had before I closed the program.
Now all I have is the trainer. How do I view what pointer I used in my trainer? (I'm new to all of this DMA/memory hacking stuff:) so please be gentle)
thanks  |
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25807 Location: The netherlands
|
Posted: Sat Dec 11, 2004 11:23 pm Post subject: |
|
|
It's propably easier to just find the pointer(s) again.
If you know a little hex you could look at the trainer you made and find out thwt way what your pointers are. (And I gues I could someday write a tool that extracts the info for you) _________________
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 |
|
 |
kalibr3 How do I cheat?
Reputation: 0
Joined: 11 Dec 2004 Posts: 3
|
Posted: Sat Dec 11, 2004 11:35 pm Post subject: |
|
|
I have since forgotten how I found the pointer. I've been messing around with hex, and I have no idea what I'm looking at, lol.
So far what I've done is decompressed the trainer with upx, and disassembled it. Though it may sound like I know what i'm doing, I truly don't. (What I got from the disassembly boggles my mind!)
what i'm trying to do next is make a fake trainer with a fake pointer, and see if I can disassemble that and find out where this "pointer" is. Maybe that will do it...?
Anyway, thanks for the quick reply Just curious, what would I be looking for in the hex? |
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25807 Location: The netherlands
|
Posted: Sat Dec 11, 2004 11:49 pm Post subject: |
|
|
You don't have to decompile, the trainer data is appended at the end of the file.
Here's the code that loads the addresses+pointer part.
| Code: |
//address entrys
trainerfile.ReadBuffer(temp,4);
setlength(trainerdata[i].addressentrys,temp);
for j:=0 to length(trainerdata[i].addressentrys)-1 do
begin
trainerfile.readBuffer(trainerdata[i].addressentrys[j].address,sizeof(trainerdata[i].addressentrys[j].address));
trainerfile.readBuffer(trainerdata[i].addressentrys[j].ispointer,sizeof(trainerdata[i].addressentrys[j].ispointer));
trainerfile.ReadBuffer(tempi,4);
setlength(trainerdata[i].addressentrys[j].pointers,tempi);
for k:=0 to tempi-1 do
begin
trainerfile.readBuffer(trainerdata[i].addressentrys[j].pointers[k].address,sizeof(trainerdata[i].addressentrys[j].pointers[k].address));
trainerfile.readBuffer(trainerdata[i].addressentrys[j].pointers[k].offset,sizeof(trainerdata[i].addressentrys[j].pointers[k].offset));
end;
trainerfile.ReadBuffer(trainerdata[i].addressentrys[j].bit,sizeof(trainerdata[i].addressentrys[j].bit));
trainerfile.readBuffer(trainerdata[i].addressentrys[j].memtyp,sizeof(trainerdata[i].addressentrys[j].memtyp));
trainerfile.readbuffer(trainerdata[i].addressentrys[j].frozen,sizeof(trainerdata[i].addressentrys[j].frozen));
trainerfile.readbuffer(trainerdata[i].addressentrys[j].frozendirection,sizeof(trainerdata[i].addressentrys[j].frozendirection));
trainerfile.readbuffer(trainerdata[i].addressentrys[j].setvalue,sizeof(trainerdata[i].addressentrys[j].setvalue));
trainerfile.readbuffer(trainerdata[i].addressentrys[j].userinput,sizeof(trainerdata[i].addressentrys[j].userinput));
trainerfile.ReadBuffer(temp,4);
getmem(x,temp+1);
trainerfile.ReadBuffer(pointer(x)^,temp);
x[temp]:=#0;
trainerdata[i].addressentrys[j].value:=x;
freemem(x);
trainerdata[i].addressentrys[j].valuelength:=length(trainerdata[i].addressentrys[j].value);
end;
|
in short:trainersata:[number of addresses,addressentries:[address,ispointer,pointercount,pointers:[address,offset],bit,memtype,....]
Pointer count should be called offsetcount.
(looking at it I gues I also could have removed saving the address for each individual offset as it is thrown away anyhow) _________________
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 |
|
 |
kalibr3 How do I cheat?
Reputation: 0
Joined: 11 Dec 2004 Posts: 3
|
Posted: Sun Dec 12, 2004 12:02 am Post subject: |
|
|
Sorry, but all of what you just said went WAAAY over my head :)
When you say end of the file, how do I even get there?
I probably have this all wrong, but... this is the "end" of my trainer opened in hex workshop
| Code: | | V.E.R.S.I.O.N._.I.N.F.O.............................?.................................S.t.r.i.n.g.F.i.l.e.I.n.f.o...b.....0.4.1.3.0.4.E.4...".....C.o.m.p.a.n.y.N.a.m.e.........*.....F.i.l.e.D.e.s.c.r.i.p.t.i.o.n.........0.....F.i.l.e.V.e.r.s.i.o.n.....1...1...0...0...J.....I.n.t.e.r.n.a.l.N.a.m.e...C.h.e.a.t. .E.n.g.i.n.e. .T.r.a.i.n.e.r.....&.....L.e.g.a.l.C.o.p.y.r.i.g.h.t.......*.....L.e.g.a.l.T.r.a.d.e.m.a.r.k.s.........*.....O.r.i.g.i.n.a.l.F.i.l.e.n.a.m.e.......".....P.r.o.d.u.c.t.N.a.m.e.........,.....P.r.o.d.u.c.t.V.e.r.s.i.o.n...1...1.........C.o.m.m.e.n.t.s.........1...C.h.e.a.t.E.n.g.i.n.e.H.o.m.e.p.a.g.e.....h.t.t.p.:././.m.e.m.b.e.r.s...c.h.e.l.l.o...n.l./.~.p...h.e.i.j.e.n./.C.h.e.a.t. .E.n.g.i.n.e./.....D.....V.a.r.F.i.l.e.I.n.f.o.....$.....T.r.a.n.s.l.a.t.i.o.n.............<?xml version="1.0" encoding="UTF-8" standalone="yes"?>....<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">.. <assemblyIdentity.. .type="win32".. name="DelphiApplication".. version="1.0.0.0" .. .processorArchitecture="*"/>.. <dependency>.. <dependentAssembly>.. <assemblyIdentity.. type="win32".. name="Microsoft.Windows.Common-Controls".. version="6.0.0.0".. publicKeyToken="6595b64144ccf1df".. language="*".. processorArchitecture="*"/>.. </dependentAssembly>.. </dependency>..</assembly>..................F...F...............F...F...............G...F...............G...F.............. G...F..............*G...F..............7G...F..............CG...F..............NG...F......................ZG..hG..xG.......G.......G.......G.......G.......G.......G.......G.......G......KERNEL32.DLL.advapi32.dll.comctl32.dll.comdlg32.dll.gdi32.dll.oleaut32.dll.shell32.dll.user32.dll.version.dll...LoadLibraryA..GetProcAddress..ExitProcess...RegCloseKey...ImageList_Add...GetOpenFileNameA..SaveDC..VariantCopy...ShellExecuteA...GetDC...VerQueryValueA............""..............SIT....Ctrl+AA......................a..................1..............MapleStory.exe...........f.......o.......U....... |
|
|
| Back to top |
|
 |
Dark Byte Site Admin
Reputation: 470
Joined: 09 May 2003 Posts: 25807 Location: The netherlands
|
Posted: Sun Dec 12, 2004 12:18 am Post subject: |
|
|
it's after the SIT part _________________
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 |
|
 |
|
|
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
|
|