Как разобрать файл вывода DumpBin.exe с регулярным выражением или LinqToText - PullRequest
1 голос
/ 26 января 2012

Я пишу служебную оболочку вокруг dumpbin.exe и вывожу экспорты и зависимости для exe-файлов, ocx-файлов и dllfiles. Помимо информации о зависимостях, мне также нужно получить информацию об экспорте, например, если файл саморегистрации. Кто-нибудь знает, как делать что-то подобное?

Вот пример выходного файла: Примечание. Строки Deserialize, DoServiceCall и Serialize, представленные ниже, отображаются в виде переноса. Заштрихованные области - это те части, которые мне нужны для захвата.

Также я заметил, что в некоторых отчетах раздел зависимостей может отображаться как над, так и под экспортом.

Дамп файла Secadmin.dll

Тип файла: DLL

Изображение имеет следующие зависимости: A1Mgr.dll KERNEL32.dll USER32.dll aDVAPI32.dll ole32.dll Oleaut32.dll

Раздел содержит следующие экспорты для SecAdmin.dll

00000000 characteristics
3C4DD9F4 time date stamp Tue Jan 22 16:30:28 2002
    0.00 version
       1 ordinal base
       7 number of functions
       7 number of names

ordinal hint RVA      name

      5    0 000153E0 ?Deserialize@CSecTuxClient@@AAEPATas_SecurityFunctions@@PAUtagSAFEARRAY@@PA_N@Z
      6    1 00015843 ?DoServiceCall@CSecTuxClient@@IAEPATas_SecurityFunctions@@PAT2@PAH@Z
      7    2 00014805 ?Serialize@CSecTuxClient@@AAEPAUtagSAFEARRAY@@PATas_SecurityFunctions@@H@Z
      1    3 0000CDA3 DllCanUnloadNow
      2    4 0000CDB8 DllGetClassObject
      3    5 0000CDD5 **DllRegisterServer**
      4    6 0000CE58 DllUnregisterServer

Резюме

   29000 .data
    6000 .rdata
    4000 .reloc
    8000 .rsrc
   3B000 .text
...