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

ExternalTable

 
   VB Decompiler Forum Index -> Structures
Author Message
sarge
Moderator


Joined: 24 Sep 2002
Posts: 194

Posted: Sat Dec 14, 2002 3:05 pm     Post subject: ExternalTable

Parent: Project Info

Code:
Type ExternalTable
Flag as long '0x00
aExternalLibrary as long '0x04
End Type

Code:
Type ExternalLibrary
aLibraryName as long '0x00 points to NTS
aLibraryFunction as long '0x04 points to NTS
End Type
Back to top
Anonymous
New User


Joined: 10 Feb 2008
Posts: 0

Posted: Sun Dec 15, 2002 4:59 pm     Post subject:

[="Sarge":36buui6m]
'if Flag = 0x00000006
(ExampleCode)
{
23 2D FB FC FA A0 68 10 A7 38 08 00 2B 33 71 B5
}

Some comments about this Code:
1. It starts at $1B98, the first of a pair of <something>, the second entry
of the pair starts at $1BA8 and probably ends at $1BB7
3. Why is only one of the two indicated here (the $D34C address is in the
middle of text), but the pair is indicated at $1BBC? This may be a rhetorical question = if we figure out what it does, the question may be answered.

Note that this particular usage of the Declaration function is not the
same as the actual declaration call made in a module. In this high level
(Project level) table, all of the declarations in the entire exe are
"registered" (for lack of a better word) before they are used. In the
modules themselves, links (handles? reference numbers? addresses?) are used.

Sarge
[/:36buui6m]
AAARGGHHH F*CKING B*STARDS. I just wrote a huge reply to this Sarge, but Internet Explorer crashed so unfortunately you cannot have it.

Basically, it went:

@ Yeah, I agree with those (I cant be bothered to re-argue my points because they were so minor, its not worth the text hehe)

@ I treat your "ExampleCode" just as I would with the 07 - as strings for the moment, and then just ignore them.

@ I've been looking for that link from the pcode reference to this reference for ages, and still havent been able to find it. I did go into great depth of my methods, but now I cannot be bothered. If I find anything, i'll let you all know... (I was basically looking up the files, loading them and getting the EntryPoints of the functions and comparing to no avail)

@ At the moment, i've got another structure:
Private Type ExternalInfoFinal
LibraryName As String
FunctionName As String

EntryPoint As Long
DeclareString As String
End Type

That pulls all the information together, ready for when that link becomes apparent (?). .DecareString is obtained (at the moment), by loading a database file stolen from the win32api viewer program and gets the definitions from there. I was thinking about interfacing it to the real windows sdk header files and doing a conversion routine - that'd keep it really up to date, but its useless for the moment

PS.

Private Type ExternalHeader
Unknown1 As Integer ' 06 for internal VB one? 07 for real external?
Unknown2 As Integer
aExternalInfo As Long
End Type

Private Type ExternalInfo
aLibraryName As Long ' Null-terminated ansi string defining the name of the library
aFunctionName As Long ' Null-terminated ansi string defining the name of the function
End Type[/]


Last edited by Anonymous on Sun Dec 15, 2002 5:46 pm; edited 1 time in total
Back to top
sarge
Moderator


Joined: 24 Sep 2002
Posts: 194

Posted: Sun Dec 15, 2002 5:26 pm     Post subject:

Understood, and thanks for the effort. But don't kill yourself over it. As long as we keep/post what we know, even if it's only half the info, we're making progress. So make/post the struct info as you see fit, maybe with caveats....or not. Maybe someone else will give us so info (hint to the couple of you out there that I know probably know this!!)

As usual, I only want to make the info available; it seemed that there was no data whatsoever on the declaration stuff anyplace here, so I though I'd give it a starting point. We can, of course, continue on with other stuff, including more clean-up, while this particular subject simmers. But hey, its nearing holiday time, so let's not forget there's more to life than this [ but, not much more:) ]

I'll keep looking for the declaration link, of course, as you are.

Sarge
Back to top
Anonymous
New User


Joined: 10 Feb 2008
Posts: 0

Posted: Sun Dec 15, 2002 5:48 pm     Post subject:

Sarge, can you make a new topic instead of adding to the "Requests and Changes" topic. Then add a link in that section to the new topic. I think that is the way that the "Requests and Changes" topic was intended Plus, its hell trying to split the topics and fix the user names etc. Oh, and Merry Christmas hehe

Ta very much,
moog
Back to top
MrUnleaded
Site Admin


Joined: 21 Sep 2002
Posts: 385
Location: California

Posted: Wed Dec 18, 2002 4:26 pm     Post subject: its a guid

[="moogman":302n1blx][="Sarge":302n1blx]
'if Flag = 0x00000006
(ExampleCode)
{
23 2D FB FC FA A0 68 10 A7 38 08 00 2B 33 71 B5
}

Some comments about this Code:
1. It starts at $1B98, the first of a pair of <something>, the second entry
of the pair starts at $1BA8 and probably ends at $1BB7
3. Why is only one of the two indicated here (the $D34C address is in the
middle of text), but the pair is indicated at $1BBC? This may be a rhetorical question = if we figure out what it does, the question may be answered.

[/:302n1blx][/:302n1blx]

i dont know if you guys realized but the above string of bytes is the GUID for VB6.olb
_________________
-MrU


Last edited by MrUnleaded on Tue Jan 06, 2004 12:22 am; edited 1 time in total
Back to top
sarge
Moderator


Joined: 24 Sep 2002
Posts: 194

Posted: Wed Dec 18, 2002 5:42 pm     Post subject:

Well, I sort of half thought of something like that...the 23 is the number sign "#", which is alway a flag to me. But, I hadn't gotten that far with GUID's yet. Ok, then, so why would there be a reference to the OLB, rather than a reference to some operation inside the OLB? Maybe there's more info needed that we haven't found yet? Or doesn't it work that way?
(Just rhetorical, to start the juices flowing)

Cool, let's add it to our knowledge....oh, we already did!

Sarge
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