Writing to an address/object

Discussion of Inner Space

Moderators: Lavish Software Team, Moderators

Post Reply
kram337
Non-Subscriber
Posts: 10
Joined: Wed Dec 27, 2006 2:56 pm

Writing to an address/object

Post by kram337 » Tue Oct 27, 2009 6:57 am

I've used IS for years now and love it, I'm looking to take my knowledge of the system a bit further than before. It is in this regard that I have a question about the possibilities of IS. I'm not sure if IS is the right conduit for what I want and that is the intention of this post, to find out.

Question:
IS has the ability to peek and poke the variables of a game, correct?

Example:
If I were in EverQuest and I wanted to poke/write to the address that holds my my "Breath" variable, I could do so with inner space? (I know most variables of this nature cannot be modified)

If that is possible, is there anything I can read on the wiki/documentation to help guide me forward?

eqjoe
GamingTools Subscriber
Posts: 221
Joined: Wed Oct 13, 2004 2:34 pm

Re: Writing to an address/object

Post by eqjoe » Tue Oct 27, 2009 9:50 am

kram337 wrote:I've used IS for years now and love it, I'm looking to take my knowledge of the system a bit further than before. It is in this regard that I have a question about the possibilities of IS. I'm not sure if IS is the right conduit for what I want and that is the intention of this post, to find out.

Question:
IS has the ability to peek and poke the variables of a game, correct?


Example:
If I were in EverQuest and I wanted to poke/write to the address that holds my my "Breath" variable,nnot be modified)

If that is possible, is there anything I can read on the wiki/documentation to help guide me forward?
NO... IS can not do this. You could load an extension (ISXGenHack comes to mind) or write your own IS extension.


-j

kram337
Non-Subscriber
Posts: 10
Joined: Wed Dec 27, 2006 2:56 pm

Post by kram337 » Tue Oct 27, 2009 10:16 am

Thats what I needed to know. Thanks!

Lax
Owner
Posts: 6634
Joined: Fri Jun 18, 2004 6:08 pm

Post by Lax » Tue Oct 27, 2009 10:39 am

You technically can, using LavishScript pointer types.

It is documented under [[LavishScript:Data_Sequences#Type_Casting|LavishScript Data Sequences]] -- see the part about Type Casting. This particular topic is kind of advanced and you can crash the game if you don't know what you're doing, but for example ${Int[123456](intptr):Inc} will increment the value at memory address 123456 (note that if you're looking at "offsets" in hexadecimal, e.g. 0x401234, you need to either convert it to decimal yourself, or use ${Math.Dec[401234]} to convert it to decimal, e.g. ${Int[${Math.Dec[401234]}](intptr):Inc} (will increment the value at memory address 0x401234)

Post Reply