2010-10-11 2 views
2

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

+0

Просто из любопытства: почему вы хотите это сделать? –

+0

Я хочу обнаружить malwares, созданные с помощью vb, я пытаюсь написать приложение, которое может автоматически распознать их. – rain

+0

Errmm, не каждая программа, написанная на VB6, является вредоносным ПО! В VB6 имеется много полезных программ. Неужели вы должны просто получить хороший антивирус/антишпионский пакет? Существует [множество бесплатных пакетов] (http://www.google.co.uk/search?sourceid=navclient&aq=1&oq=free+an&ie=UTF-8&rlz=1T4GGLL_en-GBGB320GB324&q=free+antivirus) – MarkJ

ответ

1

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

Об этом

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

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

Хуже того, есть множество инструментов для сжатия exe (любой exe), и если это будет сделано, вы почти не сможете сказать, откуда пришел exe, по крайней мере, не просто глядя в содержимом файла exe.

+0

Вы правы, PDB недоступен почти в 100% файлов! В программах, написанных в VSC++ (например), есть вызов к началу основного кода, который не является частью компилятора, но в VB я до сих пор ничего не нашел :(, я не хочу, чтобы все файлы , время для меня так важно. И я знаю, что я только могу обнаружить файлы, которые не упакованы, сжаты или зашифрованы ..., но для меня это достойно. – rain

Смежные вопросы