Difference between revisions of "Finding Virtual Offsets"

From AlliedModders Wiki
Jump to: navigation, search
(New page: =Introduction= Finding virtual offsets provides us a way to access functions in the games that we otherwise would not be able access. Using either SDKCalls, Extentions, or MM:S Plugins, we...)
 
Line 2: Line 2:
 
Finding virtual offsets provides us a way to access functions in the games that we otherwise would not be able access. Using either SDKCalls, Extentions, or MM:S Plugins, we can make use of these virtual offsets to give us a massive amount of functionality that is not included with Sourcemod out of the box.
 
Finding virtual offsets provides us a way to access functions in the games that we otherwise would not be able access. Using either SDKCalls, Extentions, or MM:S Plugins, we can make use of these virtual offsets to give us a massive amount of functionality that is not included with Sourcemod out of the box.
  
For this example, you will need a copy of IDA Disassembler. We will be using IDA Pro 5.2 but any of the more recent versions should work fine. You will also need to grab this [http://hg.alliedmods.net/sourcemod-central/file/5f0dcfc72e44/editor/ida/linux_vtable_dump.idc linux_vtable_dump.idc] file and install it into your IDA/idc/ directory.
+
For this example, you will need a copy of IDA Disassembler. We will be using IDA Pro 5.2 but any of the more recent versions should work fine. You will also need to grab this [http://hg.alliedmods.net/sourcemod-central/file/5f0dcfc72e44/editor/ida/linux_vtable_dump.idc linux_vtable_dump.idc] file and install it into your IDA/idc/ directory. Lastly, you will need to get a copy of the linux server file for the game you want to find the offsets for. This will generally be in the 'bin' directory of your game folder and the file will be named server_i486.so along with some other similar files.
  
 
=Finding Offsets=
 
=Finding Offsets=
Now that your files are setup appropriately, you can start the IDA Disassembler.  
+
Now that your files are setup appropriately, you can start the IDA Disassembler. On the Welcome to IDA box that opens initially, you will want to click the 'New' button. This will allow us to add a new file for it to disassemble. After you initially disassemble the file, you will be able to reload it without any hassle by using the 'Previous' button and selecting the file on this screen.
 +
 
  
 
'''Position Vector''':
 
'''Position Vector''':

Revision as of 20:23, 11 November 2008

Introduction

Finding virtual offsets provides us a way to access functions in the games that we otherwise would not be able access. Using either SDKCalls, Extentions, or MM:S Plugins, we can make use of these virtual offsets to give us a massive amount of functionality that is not included with Sourcemod out of the box.

For this example, you will need a copy of IDA Disassembler. We will be using IDA Pro 5.2 but any of the more recent versions should work fine. You will also need to grab this linux_vtable_dump.idc file and install it into your IDA/idc/ directory. Lastly, you will need to get a copy of the linux server file for the game you want to find the offsets for. This will generally be in the 'bin' directory of your game folder and the file will be named server_i486.so along with some other similar files.

Finding Offsets

Now that your files are setup appropriately, you can start the IDA Disassembler. On the Welcome to IDA box that opens initially, you will want to click the 'New' button. This will allow us to add a new file for it to disassemble. After you initially disassemble the file, you will be able to reload it without any hassle by using the 'Previous' button and selecting the file on this screen.


Position Vector: