VB Decompiler Forum Index VB Decompiler
Hosted by TheAutomaters.com
 
  MemberlistMemberlist
 

ObjectInfo

 
   VB Decompiler Forum Index -> Structures
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
   VB Decompiler Forum Index -> Structures All times are GMT
Page 1 of 1

 
You can post new topics in this forum
You can reply to topics in this forum
You can edit your posts in this forum
You can delete your posts in this forum
You can vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group