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 


Getting list of objects

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

Joined: 19 Jan 2015
Posts: 25

PostPosted: Wed Mar 18, 2015 11:15 am    Post subject: Getting list of objects Reply with quote

Currently I use the following code to find 'stones' within a room in the game 'Binding of Isaac: Rebirth'.

Code:
[ENABLE]

aobscanmodule(FindStones,isaac-ng.exe,8B 43 20 8B 49 0C 99 F7 F9 8B 7D 08 6A 01 8D 74) // should be unique
alloc(newmem,$1000)

globalalloc(pStones,4)

label(code)
label(return)

newmem:

code:
  mov eax,[ebx+20]
  mov [pStones],ebx // Add the ebx value to pStones
  mov ecx,[ecx+0C]
  jmp return

FindStones:
  jmp code
  nop
return:
registersymbol(FindStones)

[DISABLE]

FindStones:
  db 8B 43 20 8B 49 0C 99 F7 F9 8B 7D 08 6A 01 8D 74

unregistersymbol(FindStones)
dealloc(newmem)


But the 'ebx' I put into 'pStones' here keeps changing (looping through all the stones in the room). Now I could like to save all the different addresses (ebx) of all the stones.

Is there a way to add an list of 'CheatEntries' beneath his code with all the base addresses of the stones. Like:

[X] FindStones
-- [ ] Stone1
---- [ ] X
-- [ ] Stone2
---- [ ] X

Etc
Back to top
View user's profile Send private message
justa_dude
Grandmaster Cheater
Reputation: 23

Joined: 29 Jun 2010
Posts: 891

PostPosted: Wed Mar 18, 2015 2:42 pm    Post subject: Reply with quote

Change your asm to have a counter that functions as an index into some reserved memory. It doesn't really have to be globally allocated, but it needs to be sufficiently large. Every time you read a value, increment the counter. Register a symbol that points to the beginning of allocated memory. Use the symbol name and some offset to display the stones. Use the counter to show the user how many of the stone entries are valid.

I believe you can programmatically add/remove table entries via Lua, but imho it's kinda' ugly.

_________________
A nagy kapu mellett, mindig van egy kis kapu.
----------------------
Come on...
Back to top
View user's profile Send private message
Zanzer
I post too much
Reputation: 126

Joined: 09 Jun 2013
Posts: 3278

PostPosted: Wed Mar 18, 2015 6:31 pm    Post subject: Reply with quote

Have you checked other registers while that code is executing?
Does one of them already seem to increment as the index while going through each stone?
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Wed Mar 18, 2015 7:24 pm    Post subject: Reply with quote

Not sure I understand, given the responses, but it would seem to me that dissecting the data structures might solve your problem. If you can find a reliable identifier, you should be able to segregate the stones and display their addresses/values accordingly.
Back to top
View user's profile Send private message
aikoncwd
Grandmaster Cheater
Reputation: 23

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

PostPosted: Wed Mar 18, 2015 8:10 pm    Post subject: Reply with quote

look into the registers or stackview, so you can dissect that shared coded and list all the stones with a few aasm lines.
_________________
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
Zanzer
I post too much
Reputation: 126

Joined: 09 Jun 2013
Posts: 3278

PostPosted: Wed Mar 18, 2015 8:48 pm    Post subject: This post has 1 review(s) Reply with quote

God, I must be bored. I found all 34 addresses. Not sure how it helps your C# program.


isaac-ng.CT
 Description:

Download
 Filename:  isaac-ng.CT
 Filesize:  17.27 KB
 Downloaded:  915 Time(s)

Back to top
View user's profile Send private message
Pwnmanship
Cheater
Reputation: 0

Joined: 19 Jan 2015
Posts: 25

PostPosted: Thu Mar 19, 2015 7:53 am    Post subject: Reply with quote

Zanzer wrote:
God, I must be bored. I found all 34 addresses. Not sure how it helps your C# program.


Thanks guys, and Zanzer for making the script! This helps alot, though now I need to make my C# Hardware debugger work.. Razz
Back to top
View user's profile Send private message
justa_dude
Grandmaster Cheater
Reputation: 23

Joined: 29 Jun 2010
Posts: 891

PostPosted: Thu Mar 19, 2015 9:11 am    Post subject: Reply with quote

Pwnmanship wrote:
Zanzer wrote:
God, I must be bored. I found all 34 addresses. Not sure how it helps your C# program.


Thanks guys, and Zanzer for making the script! This helps alot, though now I need to make my C# Hardware debugger work.. :P


There is absolutely nothing in that script that requires implementing a debugger.

_________________
A nagy kapu mellett, mindig van egy kis kapu.
----------------------
Come on...
Back to top
View user's profile Send private message
Zanzer
I post too much
Reputation: 126

Joined: 09 Jun 2013
Posts: 3278

PostPosted: Thu Mar 19, 2015 1:05 pm    Post subject: Reply with quote

justa_dude, don't know if you realize, but this is the same guy you're having a fight with in that other thread. Wink
Back to top
View user's profile Send private message
Pwnmanship
Cheater
Reputation: 0

Joined: 19 Jan 2015
Posts: 25

PostPosted: Thu Mar 19, 2015 4:36 pm    Post subject: Reply with quote

Zanzer wrote:
justa_dude, don't know if you realize, but this is the same guy you're having a fight with in that other thread. Wink

Let's not start about that.

But why this is helping me is because my other C# script could get 31 of 34 objects in that room. By knowing for sure that a script like yours can get 34 then I know that the current C# script is just wrong. I just finished my C# debugger which is working. Smile

Thanks alot mate!
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