Author Topic: RosAsm PDB Dumper v1.0  (Read 11226 times)

guga

  • Moderator
  • Member
  • *****
  • Posts: 826
  • Assembly is a state of art.
    • RosAsm
Re: RosAsm PDB Dumper v1.0
« Reply #45 on: September 08, 2014, 04:34:33 PM »
So far it is working correctly. The symbols are being parsed, and i´m using M$ sample as a guidance for retrieving others symbols.

With IdaPro, take a look at DllRegisterServer and DllGetClassObject (called through call D@hpfDllGetClassObject) to you see what i mean. DllRegisterServer mainly sets onto the registry classes  like: DiaDataSourceCLSID, DiaAltSourceCLSID,  DiaStackWalkerCLSID which are the exact classes used/retrieved in DllGetClassObject CLSID_DiaSource, CLSID_DiaStackWalker, CLSID_DiaSourceAlt.

DllGetClassObject retrieve all necessary classes to be used by the library. Registering them is redundance.

The problem also relyes on the fact that, i´m not using msdia100 !!!. I´m using msdia120 (I provided the dll and the link on the 1st post). From what i read, Msdia100 is buggy, while msdia120 have some troubles fixed up. This is why i´m using the newer version and not the one that is inside my system32 folder
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com

ToutEnMasm

  • Member
  • *****
  • Posts: 1189
    • EditMasm
Re: RosAsm PDB Dumper v1.0
« Reply #46 on: September 08, 2014, 04:40:11 PM »

You are sure that all the initialistions are made with the DllRegisterServer function ,and only with that.
VSDllRegisterServer,
Using my searcher,i find how to use those functions:
http://bbs.pediy.com/showthread.php?t=103147
Fa is a musical note to play with CL

guga

  • Moderator
  • Member
  • *****
  • Posts: 826
  • Assembly is a state of art.
    • RosAsm
Re: RosAsm PDB Dumper v1.0
« Reply #47 on: September 08, 2014, 05:02:31 PM »
Thanks, i´ll dl it for later usage.

But...I really don´t understanding why use DllRegisterServer if DllGetClassObject (The one existent on msdia120) uses the exact same classes without the need to registering them.

I´m with IdaPro opened and i´m analyzing both functions, and the same classes that are settled onto the registry by DllRegisterServer are also used on DllGetClassObject. This seems to be what DllGetClassObject is for, it retrieve all necessary classes to be used in msdia. Since the symbols are being properly parsed on the same way as in M$ example, it seems pointless use DllRegisterServer. Well. at least for msdia. I´m not talking about others dlls, because i didn´t anallyzed them.

About the problems on the older version of msdia, i didn´t bookmared them to you see. But here is one example:
https://groups.google.com/forum/#!topic/google-breakpad-discuss/XixkXpEaS-I

Also, it seems that the server technique does not works for windows7 with msdia100
http://www.ask-coder.com/389202/windowsc-how-to-use-a-com-dll-which-is-not-registered

So, the better is use msdia120 that is the last version of msdia and avoid using DllRegisterServer
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com