Сейчас на форуме: hgdagon, asfa, bartolomeo (+5 невидимых)

 eXeL@B —› Программирование —› PEiD Plugins
Посл.ответ Сообщение


Ранг: 111.1 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 24 сентября 2006 22:36 · Поправил: lumen
· Личное сообщение · #1

Всем привет!
В общем хочу в своей программе сделать поддержку плагинов от PEiD'а. С форматом экспортируемых функций вроде как разобрался, решил написать процедуру для загрузки плагинов (писал на VB). Но почему-то одни плагины хотят загружаться с помощью этой процедуры, а другие (в частности Generic OEP Finder и Krypto Analyzer) - не хотят. Помогите, пожалуйста разобраться, в чём дело...

На всякий случай вот моя процедура для загрузки плагинов.

Private Sub LoadPlugin(PlugPath As String)
Dim ll As Long, pa As Long
ll = LoadLibrary(PlugPath)
pa = GetProcAddress(ll, "DoMyJob")
CallWindowProc pa, Me.hwnd, fname, 0, 0
Freelibrary ll
End Sub

-----
The truth is out of there...





Ранг: 61.7 (постоянный)
Активность: 0.050
Статус: Участник
я

Создано: 24 сентября 2006 23:34 · Поправил: BaGiE
· Личное сообщение · #2

Generic OEP Finder'у еще какой то параметр надо передавать. точно не помню какой - посмотри в дизасме GenOEP.dll. Там третьим параметром вроде идет какой-то DWORD-константа, то только тогда он запускается.




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 25 сентября 2006 00:02
· Личное сообщение · #3

в SDK же всё написано!

DWORD DoMyJob(HWND hMainDlg, char *szFname, DWORD lpReserved, LPVOID lpParam)
{
//hMainDlg: HWND of PEiD window
//szFname: Filename
//lpReserved: PEiD passes 'PEiD' as the value
//lpParam: NULL passed, for future use

// Write your main code here

return 1;
}

т.е. кач-ве значения lpReserved ты должен передать dword 'PEiD'

-----
EnJoy!




Ранг: 47.2 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 25 сентября 2006 01:41
· Личное сообщение · #4

Для GenOEP.dll:
DoMyJob(0, FileName, $5852445A, $1C):DWORD;




Ранг: 111.1 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 25 сентября 2006 06:06 · Поправил: lumen
· Личное сообщение · #5

2MiHaN:
А 3-ий и четвёртый параметры - это константы или адреса какие-то? А то если 3-ий параметр это указатель на строку (как подсказывают), то он у меня-то он другой будет... Что-то типа StrPtr("PEiD")? (Это опять же на VB).

-----
The truth is out of there...





Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 25 сентября 2006 07:14
· Личное сообщение · #6

lumen пишет:
А то если 3-ий параметр это указатель на строку (как подсказывают)

нет. не указатель на строку. читай внимательно!

Jupiter пишет:
т.е. кач-ве значения lpReserved ты должен передать dword 'PEiD'

написал же: dword, т.е. 4 байта
в hex 'PEiD' будет: 50 45 69 44

-----
EnJoy!





Ранг: 111.1 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 25 сентября 2006 12:41
· Личное сообщение · #7

А-а-а, эврика!!!
Jupiter, спасибо!!! Вот уж не догадался бы, честное слово. Самое главное, что и SDK вроде перевёл правильно, типа третий параметр PEiD принимает, слово "PEiD" как значение (as value). Только я думал, что это указатель на строку, он же тоже dword... (ну во всяком случае, пока процессоры 32-битные). Вот и не мог понять в чём дело.
Ещё раз спасибо всем.

-----
The truth is out of there...





Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 25 сентября 2006 23:21
· Личное сообщение · #8

если что - смотри здесь на сайте в разделе Скачать/Дополнения мой загрузчик плагинов PEiD/PE Tools

Скачать PEiD and PE Tools Plugin Loader 1.0 (42 Кб). Версия скорее всего старая ;)

-----
EnJoy!



 eXeL@B —› Программирование —› PEiD Plugins
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати