VB Decompiler Forum
 
 * Forums * Register * Reply * Search * Statistics *
VB decompiling Forum VB Decompiler Forum / VB decompiling Forum /

P-Code understanding

Author PierreB
Registered
#1 * Posted: 5 May 2011 16:28
Hi everyone,

Fresh owner of a pro version, I need some informations.
Could anyone help me on these topics?

1 If I understand the differences between global_12 (global variable) and var_12 (local variable), I cannot find a meaning to MemVar_7C906C . Is it a memory place allocated during execution?

2 Sometimes, I read this: var_94(1).Unknown . What's the meaning of the (1) ? Array ? and for .Unknown ?

3 what does this code mean (I have plenty of these) ? Call {FCFB3D22-A0FA-1068-A73808002B3371B5}.Method_arg_48 (&H41D, var_A8). Is it a call to an external procedure (dll) or an unresolved internal call ? What does Method_arg_48 refer to? and &H41D ? Looks like entry point.

4 What is the difference between Proc_214_80_6354FC(var_86, var_94) and Call Proc_207_67_678040(var_A8, var_86) ? Is it about the return value ?

5 Why so many CVar() in the code? They are not really usefull for understanding the flow, but complicates the reading.

Thanks for your help,
Pierre
Author Support
Admin
#2 * Posted: 6 May 2011 02:43
Quoting: PierreB

1 If I understand the differences between global_12 (global variable) and var_12 (local variable), I cannot find a meaning to MemVar_7C906C . Is it a memory place allocated during execution?


This type is absent in real VB and used in Decompiler for marking
pointers to variables in memory.

Quoting: PierreB

2 Sometimes, I read this: var_94(1).Unknown . What's the meaning of the (1) ? Array ? and for .Unknown ?


May be var_94 in this code is a object and decompiler don't recognize
property of this object. Look to the previous code, may be it contain:
Set var_94 = {some guid}
If decompiler show GUID, but not name of object, this object is
absent in VB Decompiler database and decompiler can't decompile it.

Quoting: PierreB

3 what does this code mean (I have plenty of these) ? Call {FCFB3D22-A0FA-1068-A73808002B3371B5}.Method_arg_48 (&H41D, var_A8). Is it a call to an external procedure (dll) or an unresolved internal call ? What does Method_arg_48 refer to? and &H41D ? Looks like entry point.


This is a unknown object. It may be internal UserControl or link to
external (but unknown in VB Decompiler) OCX control.

Quoting: PierreB

4 What is the difference between Proc_214_80_6354FC(var_86, var_94) and Call Proc_207_67_678040(var_A8, var_86) ? Is it about the return value ?


214 and 207 - number of form/module, 80 and 67 - number of proc in
this module, 6354FC and 678040 - Virtual Address of procedure in
memory. If procedure is not presented in VTable (private sub or
function) VB Decompiler can't decode type of proc (sub or function).

Quoting: PierreB

5 Why so many CVar() in the code? They are not really usefull for understanding the flow, but complicates the reading.


VB Decompiler only decode P-Code to VB code. If VB compiler set Cvar
to P-Code - VB Decompiler decompile this. Compiler set more
additional type conversions to code. This is normally and may be this
is no need to filter this.
VB decompiling Forum VB Decompiler Forum / VB decompiling Forum / P-Code understanding Top
Your Reply Click this icon to move up to the quoted message

» Username  » Password 
Only registered users are allowed to post here. Please, enter your username/password details upon posting a message, or register first.