Русский / Russian English / Английский

Сейчас на форуме: Mishar_Hacker (+1 невидимый пользователь)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 eXeL@B —› Крэки, обсуждения —› Перевести с Дельфи на Ассемблер. Help!
Посл.ответ Сообщение

Ранг: 0.0 (гость)
Статус: Участник

Создано: 5 июня 2005 23:32 · Поправил: Модератор New!
Цитата · Личное сообщение · #1

Помогите перевести на асм вот этот код:

Function InjectDll(Process: dword; ModulePath: PChar): boolean;
var
Memory:pointer;
Code: dword;
BytesWritten: dword;
ThreadId: dword;
hThread: dword;
hKernel32: dword;
Inject: packed record
PushCommand:byte;
PushArgumentWORD;
CallCommand:WORD;
CallAddrWORD;
PushExitThread:byte;
ExitThreadArg:dword;
CallExitThread:word;
CallExitThreadAddrWord;
AddrLoadLibrary:pointer;
AddrExitThread:pointer;
LibraryName:array[0..MAX_PATH] of char;
end;
begin
Result := false;
Memory := VirtualAllocEx(Process, nil, sizeof(Inject),
MEM_COMMIT, PAGE_EXECUTE_READWRITE);
if Memory = nil then Exit;

Code := dword(Memory);
//инициализация внедряемого кода:
Inject.PushCommand := $68;
inject.PushArgument := code + $1E;
inject.CallCommand := $15FF;
inject.CallAddr := code + $16;
inject.PushExitThread := $68;
inject.ExitThreadArg := 0;
inject.CallExitThread := $15FF;
inject.CallExitThreadAddr := code + $1A;
hKernel32 := GetModuleHandle('kernel32.dll');
inject.AddrLoadLibrary := GetProcAddress(hKernel32, 'LoadLibraryA');
inject.AddrExitThread := GetProcAddress(hKernel32, 'ExitThread');
lstrcpy(@inject.LibraryName, ModulePath);
//записать машинный код по зарезервированному адресу
WriteProcessMemory(Process, Memory, @inject, sizeof(inject), BytesWritten);
//выполнить машинный код
hThread := CreateRemoteThread(Process, nil, 0, Memory, nil, 0, ThreadId);
if hThread = 0 then Exit;
CloseHandle(hThread);
Result := True;
end;

Ранг: 103.2 (ветеран)
Статус: Участник
Нолик :)

Создано: 5 июня 2005 23:44 New!
Цитата · Личное сообщение · #2

pushad
invoke ban, OnikSS
popad
ret

Ранг: 495.3 (мудрец)
Статус: Участник

Создано: 6 июня 2005 00:48 New!
Цитата · Личное сообщение · #3

Zer0
Это точно.
Я в Дельфи не бум-бум, но слыхал, что она тоже Асмовый листинг генерит при сборке

Ранг: 40.9 (посетитель)
Статус: Участник
diProtector Software

Создано: 6 июня 2005 08:41 New!
Цитата · Личное сообщение · #4

OnikSS

возьми IDA и не парься
 eXeL@B —› Крэки, обсуждения —› Перевести с Дельфи на Ассемблер. Help!

Видеокурс ВЗЛОМ