Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
ASM или как сделать хук l2.exe
#21
Вообщем продолжаю извращения. Написал DLL такого типа:
[SRC="pascal"]library test;

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

procedure MyFirstDLLProc(Reason: Integer);
begin
if Reason = DLL_PROCESS_ATTACH then
begin
showmessage('Hello World!');
end;
if Reason = DLL_PROCESS_DETACH then
begin
showmessage('Bye World!');
end;
end;
begin
end.[/SRC]
В итоге имею:
[Изображение: 01e2b6ac81568a3428058c3a45b9.png]
Что делать - без понятия...
Ответ
#22
Graphics, Forms, etc etc

why?

О чем мы с тобой говорили сегодня.. :redlol:
Ответ
#23
Да пока это не имеет значения особого пейн). Сам факт того, что exe после добавления импорта просто повреждается и не хочет запускаться....
Ответ
#24
[SRC="pascal"]library test;

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

procedure MyFirstDLLProc(Reason: Integer);
begin
if Reason = DLL_PROCESS_ATTACH then
begin
showmessage('Hello World!');
end;
if Reason = DLL_PROCESS_DETACH then
begin
showmessage('Bye World!');
end;
end;
begin DLLProc := @EntryPoint;
EntryPoint(DLL_PROCESS_ATTACH);
end.[/SRC]


Замени EntryPoint на MyFirstDLLProc
Ответ
#25
Zubastic Написал:Да пока это не имеет значения особого пейн). Сам факт того, что exe после добавления импорта просто повреждается и не хочет запускаться....

ты в библиотеке своей объявил экспортную функцию (заглушку)?
Код:
extern "C" void __declspec(dllexport) __stdcall function1()
{
}
она обязательно должна быть, иначе модифицируемый exe рухнет.

в PETools выбирай именно уже готовую dll чтобы оффсет был верным, иначе также крах exe файла.

Добавлено через 5 минут
Zubastic Написал::eek:

Теперь улучшим задачку: хотелось бы возможность копировать/вставить в клиент l2. Безопасность все-таки повыше будет. Данная вещь реализована на астериосе. Однако у них клиент криптован, нужно либо снять крипт, либо сделать аналогичную вещь. Если не трудно - залейте оригинальную папку систем клиента HF с снятой темидой, а то у меня только грязные Sad


немного непонял вопроса, но как я понял твой вопрос , это чтобы не было видно внешней (нашей) dll ?

тогда все просто, используем MoleBox и ваш exe+dll станет просто exe Big Grin
Ответ
#26
MHard, пишу на делфе, поэтому даже незнаю, объявил я ее или нет Smile
[SRC="pascal"]begin DLLProc := @EntryPoint;
EntryPoint(DLL_PROCESS_ATTACH);
end.[/SRC]
По идее вот это и есть оно.
В PETools выбирал готовую. l2.exe просто не открывается....

Не так вопрос был: я хотел написать либу, которая давала бы возможность вставлять в окно логина/чата текст с буфера обмена Windows...
Ответ
#27
Zubastic Написал:...
Не так вопрос был: я хотел написать либу, которая давала бы возможность вставлять в окно логина/чата текст с буфера обмена Windows...
Зачем тогда библиотека, когда хватит и findwindow and sendmessage

А по поводу падения. Его бы не было как раз при инжекте dll, а не при "жёстком" прикручивании.

PHP код:
<?php 
STARTUPINFO si
;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb =sizeof(si);
if(
CreateProcess( ".\\l2.exe",
"",
0,
0,
0,
CREATE_SUSPENDED,
0,
".\\",
&
si,
&
pi))
{
DWORD Process = (DWORD)pi.hProcess;
printf("Process: %d\n", Process);

if(!
InjectLibrary(Process, "my_lib.dll"))
{
printf("InjectLibrary ERROR: %d\n", GetLastError());
}
else
{
printf("InjectLibrary OK: %d\n", GetLastError());
ResumeThread(pi.hThread);
}
}
else
{
printf("CreateProcess ERROR: %d\n", GetLastError());
}
Ответ
#28
s2lx Написал:Зачем тогда библиотека, когда хватит и findwindow and sendmessage

А по поводу падения. Его бы не было как раз при инжекте dll, а не при "жёстком" прикручивании.

[SRC="c++"]STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb =sizeof(si);
if(CreateProcess( ".\\l2.exe",
"",
0,
0,
0,
CREATE_SUSPENDED,
0,
".\\",
&si,
&pi))
{
DWORD Process = (DWORD)pi.hProcess;
printf("Process: %d\n", Process);

if(!InjectLibrary(Process, "my_lib.dll"))
{
printf("InjectLibrary ERROR: %d\n", GetLastError());
}
else
{
printf("InjectLibrary OK: %d\n", GetLastError());
ResumeThread(pi.hThread);
}
}
else
{
printf("CreateProcess ERROR: %d\n", GetLastError());
}
[/SRC]
Просто это было бы только начало Smile. Как разобрался бы с этим, начал бы писать следующее.
Дык там не падение, а просто windows считает, что это не win32 приложение. Бинарик портится... Если через LordPE, то тогда ошибка памяти выдается.
Ответ
#29
Zubastic Написал:Просто это было бы только начало Smile. Как разобрался бы с этим, начал бы писать следующее.
Дык там не падение, а просто windows считает, что это не win32 приложение. Бинарик портится... Если через LordPE, то тогда ошибка памяти выдается.
Я привязывал только через CFF Explorer, незнаю что там в LordPE, но скорее всего из-за неправильно установленой точки входа или экспортируемой фун-ции. Не шарю я в дельфиWink
Вот рабочий пример на сях. Работает и с лоадером, что выше и с привязкой.

PHP код:
<?php 
#include "dllmain.h"
//если прикручиваем к ехе - раскоментировать
/*__declspec(dllexport)*/
BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved )
{
switch (
ul_reason_for_call)
{
case
DLL_PROCESS_ATTACH: /* тут свои функции
CreateConsole();
CreateHOOK();
PrintOnConsole("Directx Hook ... OK\n");
DisableThreadLibraryCalls(hModule);
CreateHook();
PrintOnConsole("Network packet Hook ... OK\n"); */
break;
case
DLL_THREAD_ATTACH:
break;
case
DLL_THREAD_DETACH:
case
DLL_PROCESS_DETACH: /* востанавливаем
EndHOOK();
EndHook();
DestroyConsole(); */
break;
}
return
TRUE;
}
Ответ
#30
:eek: боже.

Что за убогий кодинг на С++. Читать не возможно
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Как сделать защиту от кликеров? flopix 51 11,673 03-23-2018, 10:54 AM
Последний пост: jr__
  Сделать кнопку визуально неактивной. flopix 5 2,074 10-01-2017, 10:20 PM
Последний пост: Lorn
  Interlude как сделать патч самому под эти хроники. grinch 4 3,717 03-27-2013, 09:54 PM
Последний пост: grinch
  как сделать l2.exe своими руками? Dementor 17 9,865 03-21-2013, 07:51 PM
Последний пост: Zubastic
  как сделать из активного скила пассивный Sensation 8 2,999 02-09-2013, 02:41 PM
Последний пост: ExLite
  Как сделать питомца ездовым? Double 5 2,775 08-28-2012, 05:19 PM
Последний пост: Double
  Необходимо сделать инекцию в фаил l2.bin don1500 1 5,825 05-15-2011, 11:38 PM
Последний пост: Smiler
  помогите сделать патч Соник™ 12 5,182 09-07-2010, 05:42 PM
Последний пост: Соник™
  Как сделать zoom для Эпилога Финал? Rus. 0 2,938 07-19-2010, 01:14 PM
Последний пост: Rus.

Перейти к форуму:


Пользователи, просматривающие эту тему: 5 Гость(ей)