Как я могу обнаружить файл .exe, созданный vb6, и распознать разные файлы vb6 друг от друга? - PullRequest
2 голосов
/ 11 октября 2010

Я пишу программу, чтобы определить, какой файл .exe генерируется программой Visual Basic6.Я обнаружил, что в «точке входа» каждого файла VB есть адрес со смещением 1 от «точки входа», который указывает на местоположение, содержащее строку: «vb5!», Это определенная подпись?Могу ли я быть уверен, что в каждом vb-файле есть эта строка?Затем я хочу найти определенный адрес начала кода, чтобы я мог распознать каждый VB-файл из другого VB-файла.

1 Ответ

1 голос
/ 16 октября 2010

Не совсем уверен, что вы пытаетесь достичь, но каждый VB6 EXE, DLL или OCX будет содержать импорт в MSVBVM60.dll.Если он содержит это, вы можете быть уверены, что это VB6 exe.

Об этом

Затем я хочу найти определенный адрес начала кода, так чтоЯ могу распознать каждый VB-файл из другого VB-файла.

VB6 не встраивает метаданные того же типа в исполняемый файл, что и .net, поэтому будет невозможно извлечь любой VBКод »из исполняемого файла.В зависимости от того, как он был скомпилирован, вы МОЖЕТЕ иметь возможность получать имена функций и тому подобное, но это только в том случае, если PDB (база данных программы) была встроена в exe и не скомпилирована в отдельный файл PDB.Существует множество инструментов для сжатия exe-файлов (любых exe-файлов), и если это будет сделано, вы почти не сможете определить, откуда появился exe-файл, по крайней мере, не просто просмотрев содержимое exe-файла..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...