| Author | Message | 
	
		| _aLfa_ Site Admin
 
 
 Joined: 21 Sep 2002
 Posts: 233
 Location: Aveiro, Portugal
 
 | 
				
					| Posted: Sun Sep 29, 2002 2:40 pm
							    Post subject: ObjectInfo |  
					| 
 |  
					| Parents: 
 
 
  	  | Code: |  	  | Public Type tObjectInfo iConst1           As Integer '0x00 (00d)
 iObjectIndex      As Integer '0x02 (02d) Index of the Object in the Project
 aObjectTable      As Long    '0x04 (04d) Pointer to Object Table
 lNull1            As Long    '0x08 (08d)
 aObjectDescriptor As Long    '0x0C (12d) Set to -1 if module after compile
 lConst2           As Long    '0x10 (16d)
 lNull2            As Long    '0x14 (20d)
 aObjectHeader     As Long    '0x18 (24d) Pointer to Object Header
 aObjectData       As Long    '0x1C (28d) Pointer to in-memory Object Data
 ' the next members are only 100% valid on P-Code executables
 iMethodCount      As Integer '0x20 (32d) Number of Methods
 iNull3            As Integer '0x22 (34d)
 aMethodTable      As Long    '0x24 (36d) Pointer to Method Table
 iConstantsCount   As Integer '0x28 (40d) Number of Constants
 iMaxConstants     As Integer '0x2A (42d) Maximum Constants to allocate
 lNull4            As Long    '0x2C (44d)
 lFlag1            As Long    '0x30 (48d)
 aConstantTable    As Long    '0x34 (52d) Pointer to Constants Table
 '0x38 (56d) <-- Structure Size
 End Type
 | 
 
 Notes:
 * iConst1 is the reference count before compilation.
 * lNull1, iNull3, lNull4 and lFlag1 are temporary values only used in the IDE.
 * lConst2 is set to -1 by the compiler (maybe some reserved value).
 * lNull2 is never written/readed by the compiler/runtime.
 
 Pointers:
 Object Table
 Object Descriptor
 
 -> aObjectData
 http://vb-decompiler.com/viewtopic.php?t=20:37z2oooe]MethodTable->MethodPointer
 
 Last edited by _aLfa_ on Tue Aug 31, 2004 7:27 am; edited 7 times in total
 |  | 
	
		| Back to top |  | 
	
		|  |  | 
	
		| _aLfa_ Site Admin
 
 
 Joined: 21 Sep 2002
 Posts: 233
 Location: Aveiro, Portugal
 
 | 
				
					| Posted: Sun Sep 29, 2002 2:43 pm
							    Post subject: |  
					| 
 |  
					| this is my view of object info, at least the way i use it in my decompiler if u dont agree, feel free to post here, so i can edit
 
 we ve reached one of the best important structures of a VB compiled EXE, so ill stop in here for a while to discuss this structure and the parents
 _________________
 One thing only I know, and that is that I know nothing. (Socrates)
 |  | 
	
		| Back to top |  | 
	
		|  |  | 
	
		| MrUnleaded Site Admin
 
 
 Joined: 21 Sep 2002
 Posts: 385
 Location: California
 
 | 
				
					| Posted: Mon Sep 30, 2002 1:56 am
							    Post subject: |  
					| 
 |  
					| can u add in addresses? 0x00....0x04...0x08...etc 
 2byte=int
 4byte=long
 
 and references should be sub objects not related
 |  | 
	
		| Back to top |  | 
	
		|  |  | 
	
		| Anonymous New User
 
 
 Joined: 10 Feb 2008
 Posts: 0
 
 
 | 
				
					| Posted: Mon Sep 30, 2002 1:03 pm
							    Post subject: |  
					| 
 |  
					| Yeah, this is what I ws on about when I was discussing aout hte ObjectType and OptionalObjectType. Feel free to add the stuff from mine into your post alfa |  | 
	
		| Back to top |  | 
	
		|  |  | 
	
		| MrUnleaded Site Admin
 
 
 Joined: 21 Sep 2002
 Posts: 385
 Location: California
 
 | 
				
					| Posted: Mon Sep 30, 2002 6:22 pm
							    Post subject: Updated |  
					| 
 |  
					| OK i slightly modified your post alfa.....i added in hex addresses and renamed some of the unknowns properties to const\address\flag.... 
 and i split one of your variables(a long) into two integers
 _________________
 -MrU
 |  | 
	
		| Back to top |  | 
	
		|  |  | 
	
		| MrUnleaded Site Admin
 
 
 Joined: 21 Sep 2002
 Posts: 385
 Location: California
 
 | 
				
					| Posted: Fri Oct 04, 2002 6:00 pm
							    Post subject: hey moog |  
					| 
 |  
					| moog: i was wondering what your current size on the ObjectInfo was....does it match mine(0x38)? 
 how bout you alfa?
 |  | 
	
		| Back to top |  | 
	
		|  |  | 
	
		| _aLfa_ Site Admin
 
 
 Joined: 21 Sep 2002
 Posts: 233
 Location: Aveiro, Portugal
 
 | 
				
					| Posted: Fri Oct 04, 2002 6:21 pm
							    Post subject: |  
					| 
 |  
					| mine is 3C, ive the form/designer thing _________________
 One thing only I know, and that is that I know nothing. (Socrates)
 |  | 
	
		| Back to top |  | 
	
		|  |  | 
	
		| Anonymous New User
 
 
 Joined: 10 Feb 2008
 Posts: 0
 
 
 | 
				
					| Posted: Sat Oct 05, 2002 2:41 pm
							    Post subject: |  
					| 
 |  
					| 0x38. No more, no less. Im pretty confident about this because they are all progressively after another... So with >0x38, we get overlaps and <0x38 we get gaps. Same with OptionalObjectInfo which I believe is 0x48 long |  | 
	
		| Back to top |  | 
	
		|  |  | 
	
		| _aLfa_ Site Admin
 
 
 Joined: 21 Sep 2002
 Posts: 233
 Location: Aveiro, Portugal
 
 | 
				
					| Posted: Sat Oct 05, 2002 7:01 pm
							    Post subject: |  
					| 
 |  
					| moog i forget bout overlaps, but mru reminded me, and now i c that im wrong.... 
 its 0x38 size (ive made a small routine to c the overlap thing, and it overlaps in a project ive somewhere here  )
 _________________
 One thing only I know, and that is that I know nothing. (Socrates)
 |  | 
	
		| Back to top |  | 
	
		|  |  | 
	
		| Anonymous New User
 
 
 Joined: 10 Feb 2008
 Posts: 0
 
 
 | 
				
					| Posted: Sun Oct 06, 2002 10:24 am
							    Post subject: |  
					| 
 |  
					| Yeah no worries. I had the sizes of a lot of the structures wrong too before I made one of those doo-hickeys  Im glad we all agree... |  | 
	
		| Back to top |  | 
	
		|  |  | 
	
		| MrUnleaded Site Admin
 
 
 Joined: 21 Sep 2002
 Posts: 385
 Location: California
 
 | 
				
					| Posted: Wed Dec 04, 2002 3:55 pm
							    Post subject: changes |  
					| 
 |  
					| i made a change to +0x34    i changed it from aVariablePool to aConstantPool.....since all the items at the addresses are constant _________________
 -MrU
 |  | 
	
		| Back to top |  | 
	
		|  |  | 
	
		| sarge Moderator
 
 
 Joined: 24 Sep 2002
 Posts: 194
 
 
 | 
				
					| Posted: Wed Dec 18, 2002 9:18 pm
							    Post subject: |  
					| 
 |  
					| You guys are gonna love this!!! 
 
 The address at offset 0x34 should be renamed to something like aExecutionReferenceTable.  It is a pointer to an array of addresses, whose values are the "flow control" for those procedures who are called as "external" to a given procedure.  Like this example:
 
 goto Opcode(0x0A)
 
 Sarge
 |  | 
	
		| Back to top |  | 
	
		|  |  | 
	
		| _aLfa_ Site Admin
 
 
 Joined: 21 Sep 2002
 Posts: 233
 Location: Aveiro, Portugal
 
 | 
				
					| Posted: Mon Aug 02, 2004 5:35 pm
							    Post subject: |  
					| 
 |  
					| Again, I changed from Proc to Method for the very same reason as the parent structure _________________
 One thing only I know, and that is that I know nothing. (Socrates)
 |  | 
	
		| Back to top |  | 
	
		|  |  | 
	
		| _aLfa_ Site Admin
 
 
 Joined: 21 Sep 2002
 Posts: 233
 Location: Aveiro, Portugal
 
 | 
				
					| Posted: Wed Aug 04, 2004 8:31 am
							    Post subject: |  
					| 
 |  
					| Can someone verify if Flag3 (+0x28) is the number of Constants in constant pool? _________________
 One thing only I know, and that is that I know nothing. (Socrates)
 |  | 
	
		| Back to top |  | 
	
		|  |  | 
	
		| _aLfa_ Site Admin
 
 
 Joined: 21 Sep 2002
 Posts: 233
 Location: Aveiro, Portugal
 
 | 
				
					| Posted: Thu Aug 26, 2004 3:18 pm
							    Post subject: |  
					| 
 |  
					| I changed the name of Flag3 to iConstantsCount, I verified myself and there is no overlaps in any project _________________
 One thing only I know, and that is that I know nothing. (Socrates)
 |  | 
	
		| Back to top |  | 
	
		|  |  | 
	
		| MrUnleaded Site Admin
 
 
 Joined: 21 Sep 2002
 Posts: 385
 Location: California
 
 | 
				
					| Posted: Thu Aug 26, 2004 3:36 pm
							    Post subject: |  
					| 
 |  
					| [="_aLfa_":2o7sqq65]I changed the name of Flag3 to iConstantsCount, I verified myself and there is no overlaps in any project [/:2o7sqq65]Ahh yes very good _________________
 -MrU
 |  | 
	
		| Back to top |  | 
	
		|  |  | 
	
		| _aLfa_ Site Admin
 
 
 Joined: 21 Sep 2002
 Posts: 233
 Location: Aveiro, Portugal
 
 | 
				
					| Posted: Sun Aug 29, 2004 12:14 pm
							    Post subject: |  
					| 
 |  
					| Another change to this _________________
 One thing only I know, and that is that I know nothing. (Socrates)
 |  | 
	
		| Back to top |  | 
	
		|  |  | 
	
		| _aLfa_ Site Admin
 
 
 Joined: 21 Sep 2002
 Posts: 233
 Location: Aveiro, Portugal
 
 | 
				
					| Posted: Tue Aug 31, 2004 7:29 am
							    Post subject: |  
					| 
 |  
					| Fixed some typos. _________________
 One thing only I know, and that is that I know nothing. (Socrates)
 |  | 
	
		| Back to top |  | 
	
		|  |  | 
	
		|  |  |