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 


Pointer Help
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
kucing13
Newbie cheater
Reputation: 0

Joined: 09 Dec 2013
Posts: 15

PostPosted: Mon Dec 28, 2015 8:23 am    Post subject: Pointer Help Reply with quote

Merry Belated Xmas everyone. I'm here today with a need for assistance of the pointer scan.

Game: Killing Floor 1 (Steam version)

Target: To find pointers so i could create table for it and no hassle to find the address again everytime the map change. Ive used it for solo gameplay.

Found : health - 4 byte,Money - float (they both change and works ingame,freezed etc)

Issues :

The first issue that i stumbled upon was
>i found the adress
>right click "find out what write to this adress"
>refer attachment 1


ive checked back from some of the tutorial here and they shown some address or offset but in my case there is no address/offset number in there besides ebx in the bracket.


So ive decided to do multilevel pointer scan and ive ended up with this at second level . I didnt restart the game, changing the map itself will reset the dynamic address.

>refer attachment 2

was it normal when you do it second time, the pointercount still high as that?

Ive tried changing several 5-6 map and i still have another 10k pointercounts,after trying both method repeatedly for two hours .i finally give up afterwards lol XD.

In any case, can somebody out there shed some light to this noobish person. Appreciate it very much :3



kf 1.PNG
 Description:
 Filesize:  130.34 KB
 Viewed:  9473 Time(s)

kf 1.PNG



kf2.PNG
 Description:
 Filesize:  93.96 KB
 Viewed:  9473 Time(s)

kf2.PNG


Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4699

PostPosted: Mon Dec 28, 2015 9:44 am    Post subject: Reply with quote

Yeah, it's pretty common to get this many possible pointer paths. To get this lower, you should restart the game first and rescan. Then restart your computer and rescan. If you can, get another computer and rescan the same list on that one.

The point of getting pointers to certain addresses is so that you don't have to find that address every time you restart the game. As such, you should be restarting the game in order to check which pointers are still valid after that.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
kucing13
Newbie cheater
Reputation: 0

Joined: 09 Dec 2013
Posts: 15

PostPosted: Mon Dec 28, 2015 8:32 pm    Post subject: Reply with quote

Thanks parkour penguin,
can you explain about the first image btw on why the address/offset didn't showed?
is there any way i can find out the offset from there?
thanks Smile
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4699

PostPosted: Mon Dec 28, 2015 9:19 pm    Post subject: Reply with quote

If it doesn't show an offset, then it's implied that the offset is 0.
The address is the value of ebx, or 4C03F480. Search for that 4-byte value (as a hex obviously). Anything that pops up could be a pointer to that.

However, the actual pointer you're looking for doesn't have to follow what the instruction says. It could be doing something like calculating the resulting address of your health/money beforehand and storing that on the stack. Something like this, for example:
Code:
// Let's say this function is run when you take damage.
// 1st argument = address of pointer to structure of health
push ebp
mov ebp,esp
mov edx,[ebp+8]  // moves the base address of a structure containing health into edx (edx is the address you should search for)
lea edx,[edx+24] // shifts edx forward 24 bytes (24 = the offset)
push edx         // stores your health's address on the stack for later
...              // does other stuff (i.e. calculating and pushing damage dealt)
mov ebx,[esp+1C] // takes address of health back off the stack
mov eax,[ebx]    // gets the value of your health
mov edx,[esp+10] // gets damage to deal to health
sub eax,edx      // subtracts health
mov [ebx],eax    // stores new health back into the address
...              // does other stuff

So as you might see, it could calculate the offset from the address of the real pointer long before it actually does anything with the address's value. Because of this, it's good to always use the pointer scanner to find pointers to addresses. It just makes life much easier.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
kucing13
Newbie cheater
Reputation: 0

Joined: 09 Dec 2013
Posts: 15

PostPosted: Tue Dec 29, 2015 12:57 am    Post subject: Reply with quote

That being said, ive had better chance with using pointer scan correct? Also,since i have only 1 PC, the least i can do is restart the PC to decrease down the pointer counter .

btw, once i restart the PC,how am i supposed to resume the pointer scan from last result?
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4699

PostPosted: Tue Dec 29, 2015 1:40 am    Post subject: Reply with quote

Yes, you do have a much better chance of finding a good pointer with the pointer scanner compared to doing it manually. There are several other reasons why the pointer scanner is better, but I won't list those (mostly because I don't know those).

When you try to start a pointer scan, it'll ask you where you want to save the pointer scan. This is saved to a file on disc that you can reopen later (i.e. after you restart the computer).
To do so, open up the pointer scanner window again (Memory View -> Tools -> Pointer Scan), then go to File -> Open. Navigate it to wherever you saved the pointer scan file, then select it to load it up into the window again.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
kucing13
Newbie cheater
Reputation: 0

Joined: 09 Dec 2013
Posts: 15

PostPosted: Tue Dec 29, 2015 2:40 am    Post subject: Reply with quote

Thanks for the assistance so far PPenguin. I'll try again tonight after im off from the office. Cheers Wink

Update:

Okay so i did the pointer scan. and here how i stuck again.

>refer attachment

As you can see i managed to slim down the counter from 100k's to 4k.
Thats' the result from 14times scanning with 4 times restarting my computer.

Why i stuck at 4k? because no matter what i do afterwards, even with restarting, the pointer will not decrease. In fact i always ended up scanning the same address over and over again which is why the counter doesn't change probably.

Holy Mcnuggets,for an old game this game sure is hard for a noob like me to even find a pointer . zzzzzzzzzzzzzzzzzzzzzzzzzzz

Is there other option for me where i can create table for this game besides using pointer. Crying or Very sad



kf 3.PNG
 Description:
 Filesize:  74.14 KB
 Viewed:  9334 Time(s)

kf 3.PNG


Back to top
View user's profile Send private message
deama1234
Master Cheater
Reputation: 3

Joined: 20 Dec 2014
Posts: 328

PostPosted: Tue Dec 29, 2015 9:12 am    Post subject: Reply with quote

You can either just pick one of those pointers and use it. Or you can try messing with the assembly. Most of us here just use assembly instead of pointers; pointers are too much like trying to find a hay in a needle stack...
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4699

PostPosted: Tue Dec 29, 2015 9:13 am    Post subject: Reply with quote

At this point, you could pick any one of those, and you'll have your pointer. If you're planning on releasing this table, then you'll almost have to rescan it on another computer to narrow down the results more. If you ask, someone might help if they also have the game.

There are other options besides pointers. IMO scripts are a much better way of making cheats:
You don't have to worry about CE not writing to a value fast enough when it's frozen. If you're just freezing an address, you could be 1 hit KO'd; however, if you modify the instructions that write to your health, you'll never die.
AoB scans also have a much lower chance of breaking between game updates if you write the signature you're searching for correctly.
With a pointer, you have to do everything yourself. With a script, you can have everything done for you automatically if you know how to write it.

Here's a basic tutorial on making scripts:
http://forum.cheatengine.org/viewtopic.php?t=570083

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
kucing13
Newbie cheater
Reputation: 0

Joined: 09 Dec 2013
Posts: 15

PostPosted: Tue Dec 29, 2015 10:16 am    Post subject: Reply with quote

deama1234 wrote:
You can either just pick one of those pointers and use it. Or you can try messing with the assembly. Most of us here just use assembly instead of pointers; pointers are too much like trying to find a hay in a needle stack...

ParkourPenguin wrote:
At this point, you could pick any one of those, and you'll have your pointer. If you're planning on releasing this table, then you'll almost have to rescan it on another computer to narrow down the results more. If you ask, someone might help if they also have the game.

There are other options besides pointers. IMO scripts are a much better way of making cheats:
You don't have to worry about CE not writing to a value fast enough when it's frozen. If you're just freezing an address, you could be 1 hit KO'd; however, if you modify the instructions that write to your health, you'll never die.
AoB scans also have a much lower chance of breaking between game updates if you write the signature you're searching for correctly.
With a pointer, you have to do everything yourself. With a script, you can have everything done for you automatically if you know how to write it.



I follow both of you guys suggestion and i just pick random pointers from the result and it turns out to be working. Mother of neptune i made my first table >.< . Thanks guys .
Well ive done this for personal use since not every game you play have their own trainer or cheat table for that matter. Plus acquiring new knowledge is good on its own. You need to be independent sometimes and not always relying to others right

So right now ive managed to save pointers for health and money. So this is another question if i may ask.

How do people find pointers for Ammo as a whole. When i tried to find address for the ammo, the address that i found only link to that particular weapon i equip. Example :

I equip smg>I found the address>change number/freeze etc.
Then i swap to pistol and the pistol have its own ammo address which i need to search again. So how exactly can i find the address for ammo that applied to all weapon before proceeding to find its pointer.

Thanks again, I almost give up lol Surprised
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4699

PostPosted: Tue Dec 29, 2015 10:27 am    Post subject: Reply with quote

That depends on how the game is written. Sometimes, I suppose there would be no way of doing that with pointers alone. You'd need to hook some instruction that only accesses something in your current weapon's structure and copy the base address of that structure to some other memory address that's a registered symbol. That way, you always have a reliable reference to your currently-equipped weapon.
Injection copies covered here.

If you want to try finding a pointer, you should usually be able to. You might need to mess around with the scan settings (i.e. increase max level & offset). Search for the address of the ammo of your current weapon. Then, change weapons, find the address of that ammo, and rescan the pointerlist for that address. Repeat after that until you're satisfied with the pointers you've found.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
kucing13
Newbie cheater
Reputation: 0

Joined: 09 Dec 2013
Posts: 15

PostPosted: Tue Dec 29, 2015 11:24 am    Post subject: Reply with quote

ParkourPenguin wrote:
That depends on how the game is written. Sometimes, I suppose there would be no way of doing that with pointers alone. You'd need to hook some instruction that only accesses something in your current weapon's structure and copy the base address of that structure to some other memory address that's a registered symbol. That way, you always have a reliable reference to your currently-equipped weapon.
[/url].

If you want to try finding a pointer, you should usually be able to. You might need to mess around with the scan settings (i.e. increase max level & offset). Search for the address of the ammo of your current weapon. Then, change weapons, find the address of that ammo, and rescan the pointerlist for that address. Repeat after that until you're satisfied with the pointers you've found.


About the second part, just to be clear is this the correct method based from your explanation

Equip weapon > find address > do a pointer scan
Then
Swap weapon>find address > do a pointer rescan with this new weapon address on top the first pointer scan

Or did you mean to do a separate pointer scan for each weapon and then sort it out later .
Pardon me if im bit slow :3
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4699

PostPosted: Tue Dec 29, 2015 11:44 am    Post subject: Reply with quote

  1. You have weapon 1 equipped.
  2. Find the address of your ammo for weapon 1.
  3. Right click that entry in the cheat table, select "Pointer scan for this address", and search.
  4. After that scan has completed, switch weapons to weapon 2.
  5. Find the address of your ammo for weapon 2 (I'm assuming it's different from weapon 1).
  6. In the pointer scan list for weapon 1, go to Pointer scanner -> Rescan Memory
  7. Type in the address of the ammo for weapon 2.
  8. Rescan the list.
  9. Repeat steps 4-8 for weapons 3, 4, etc.
  10. Restart the game and/or your computer, then repeat steps 4-9 using the same pointerscan file starting back at weapon 1.
  11. Once you're satisfied, pick a pointer from the list.

If you get to the point where there's nothing valid left in the list, then you can start over again with a higher max level and/or max offset in the initial scan (step 3).

_________________
I don't know where I'm going, but I'll figure it out when I get there.
Back to top
View user's profile Send private message
kucing13
Newbie cheater
Reputation: 0

Joined: 09 Dec 2013
Posts: 15

PostPosted: Tue Dec 29, 2015 9:18 pm    Post subject: Reply with quote

Understood ,will try it and update it later.
Also ive just found out that i cannot find any tutorial that teaches unlimited ammo universal for all weapon. Most of tutorial i have googled/youtube only shows how to search address for a single weapon ammo . So... nobody ever thought about this eh XD ..
Back to top
View user's profile Send private message
ParkourPenguin
I post too much
Reputation: 152

Joined: 06 Jul 2014
Posts: 4699

PostPosted: Tue Dec 29, 2015 10:28 pm    Post subject: Reply with quote

Sure, people have thought about this. That's just so specific that it isn't explicitly covered. The whole process of doing that is implicitly covered in more generic tutorials; for example, this one covering what pointers are, this one covering the pointer scanner, and this one covering basic ASM scripts.

It's like the saying "give a man a fish and you feed him for a day; teach a man to fish and you feed him for a lifetime."
In this case, if you're spoonfed how to make all weapons have infinite ammo for a specific game, you'll come back asking for help once you move on to another game with slightly different mechanics.
However, if you're taught the concepts behind making cheats, it's unlikely you'll ever need help again since you can do everything yourself.

Specific tutorials like the one you searched for are usually only good short-term. For the people who truly want to learn, the more generic, conceptual tutorials are invaluable compared to the tutorials that spoonfeed you.

_________________
I don't know where I'm going, but I'll figure it out when I get there.
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
Goto page 1, 2  Next
Page 1 of 2

 
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