Страница: 1 |
Страница: 1 |
Вопрос: Что за PImage или как получить размер Progra Image
Добавлено: 16.07.05 19:20
Автор вопроса: Amor | ICQ: 1268198
Вот кусок кода на дельфи:
Size := PImageOptionalHeader(pointer(integer(Module) +
PImageDosHeader(Module)._lfanew + SizeOf(dword) +
SizeOf(TImageFileHeader))).SizeOfImage;
Как такоеже замутить на VB
Ответы
Всего ответов: 11
Номер ответа: 1
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #1
Добавлено: 17.07.05 08:44
Так, это берём дос-заголовок, находим положение PE и смотрим его... ага...
А тебе надо прямо из файла или именно по HINSTANCE? Из файла проще и понятнее.
А через HINSTANCE так:
.....
dim Size as long
getmem4 byval module + &h3c, size
getmem4 byval module + size + len(t) + &h18 + &h38, size
Номер ответа: 2
Автор ответа:
Amor
ICQ: 1268198
Вопросов: 31
Ответов: 101
Профиль | | #2
Добавлено: 17.07.05 09:27
Когда я этот код вставляю винда викидывает окно об отправке ошибки
вобщем чёте там глючит
А есть ли другой способ полумения размера PE Image
Номер ответа: 3
Автор ответа:
Amor
ICQ: 1268198
Вопросов: 31
Ответов: 101
Профиль | | #3
Добавлено: 17.07.05 09:29
Зачем мне это нужно?
А вот зачем
есть на дельфи замечательный сорец
function InjectThisExe(Process: dword; EntryPoint: pointer): boolean;
var
Module, NewModule: pointer;
Size, TID: dword;
hThread : dword;
BytesWritten: dword;
begin
Result := False;
Module := pointer(GetModuleHandle(nil));
Size := PImageOptionalHeader(pointer(integer(Module) +
PImageDosHeader(Module)._lfanew + SizeOf(dword) +
SizeOf(TImageFileHeader))).SizeOfImage;
NewModule := VirtualAllocEx(Process, Module, Size, MEM_COMMIT or
MEM_RESERVE, PAGE_EXECUTE_READWRITE);
if NewModule = nil then exit;
WriteProcessMemory(Process, NewModule, Module, Size, BytesWritten);
hThread := CreateRemoteThread(Process, nil, 0, EntryPoint, NewModule, 0, TID);
if hThread <> 0 then Result := True;
end;
Инекция те исполнение кода программы в другом процессе
Номер ответа: 4
Автор ответа:
Amor
ICQ: 1268198
Вопросов: 31
Ответов: 101
Профиль | | #4
Добавлено: 17.07.05 09:30
Подробнее: http://wasm.ru/article.php?article=apihook_2
Номер ответа: 5
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #5
Добавлено: 17.07.05 09:55
Ага...
Чел пишет внедрение в exe, не удосужившись поставить option explicit...
len(t) убрать.
Номер ответа: 6
Автор ответа:
Amor
ICQ: 1268198
Вопросов: 31
Ответов: 101
Профиль | | #6
Добавлено: 17.07.05 10:06
Серавно Сенд еррор или не сенд вылетает
Номер ответа: 7
Автор ответа:
Amor
ICQ: 1268198
Вопросов: 31
Ответов: 101
Профиль | | #7
Добавлено: 17.07.05 10:07
А мож у кого есть сорец внедрения exe в процесс
У меня тока dll в процесс есть
а нада exe
Номер ответа: 8
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #8
Добавлено: 17.07.05 10:37
Ошибка в твоём коде, а не в моём.
Мой правильно получает ImageSize.
Номер ответа: 9
Автор ответа:
Amor
ICQ: 1268198
Вопросов: 31
Ответов: 101
Профиль | | #9
Добавлено: 17.07.05 10:44
Ну я даже так просто в коде формы написал
option explicit
private declare function GetMem4 lib "msvbvm60" (pSrc as any, pDst as any) as long
Private Sub Form_Load()
dim Size as long
getmem4 byval module + &h3c, size
getmem4 byval module + size + &h18 + &h38, size '+ len(t) - hot s etim hot bez nego
End Sub
Номер ответа: 10
Автор ответа:
Amor
ICQ: 1268198
Вопросов: 31
Ответов: 101
Профиль | | #10
Добавлено: 17.07.05 10:44
Seravno vilitaet
Номер ответа: 11
Автор ответа:
GSerg
Вопросов: 0
Ответов: 1876
Профиль | | #11
Добавлено: 17.07.05 11:26
Ну и как ты смог это запустить, если стоит option explicit, а module не объявлена?