ASM или как сделать хук l2.exe - Страница 3 - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Игровой клиент

Игровой клиент Есть вопросы по поводу редактирования dat, utx и других файлов клиента, пожалуйста, задавайте их здесь.

Ответ
Опции темы
Непрочитано 27.03.2013, 22:40   #21
Аватар для Zubastic
ZG troll squad

Автор темы (Топик Стартер) Re: ASM или как сделать хук l2.exe

Вообщем продолжаю извращения. Написал DLL такого типа:
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.
Code: Pascal
В итоге имею:

Что делать - без понятия...
Zubastic на форуме Ответить с цитированием
Непрочитано 27.03.2013, 23:15   #22
Аватар для Retired
Kernel hackz.

По умолчанию Re: ASM или как сделать хук l2.exe

Graphics, Forms, etc etc

why?

О чем мы с тобой говорили сегодня..
Retired вне форума Ответить с цитированием
Непрочитано 27.03.2013, 23:16   #23
Аватар для Zubastic
ZG troll squad

Автор темы (Топик Стартер) Re: ASM или как сделать хук l2.exe

Да пока это не имеет значения особого пейн). Сам факт того, что exe после добавления импорта просто повреждается и не хочет запускаться....
Zubastic на форуме Ответить с цитированием
Непрочитано 27.03.2013, 23:22   #24
Аватар для Retired
Kernel hackz.

По умолчанию Re: ASM или как сделать хук l2.exe

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.
Code: Pascal

Замени EntryPoint на MyFirstDLLProc
Retired вне форума Ответить с цитированием
Непрочитано 28.03.2013, 08:31   #25
Олдфаг

По умолчанию Re: ASM или как сделать хук l2.exe

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

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

Добавлено через 5 минут
Цитата:
Сообщение от Zubastic Посмотреть сообщение


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

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

тогда все просто, используем MoleBox и ваш exe+dll станет просто exe

Последний раз редактировалось Smiler; 28.03.2013 в 08:39. Причина: Добавлено сообщение
Smiler вне форума Ответить с цитированием
Сказали спасибо:
Непрочитано 28.03.2013, 11:17   #26
Аватар для Zubastic
ZG troll squad

Автор темы (Топик Стартер) Re: ASM или как сделать хук l2.exe

MHard, пишу на делфе, поэтому даже незнаю, объявил я ее или нет
begin   DLLProc := @EntryPoint;
  EntryPoint(DLL_PROCESS_ATTACH); 
end.
Code: Pascal
По идее вот это и есть оно.
В PETools выбирал готовую. l2.exe просто не открывается....

Не так вопрос был: я хотел написать либу, которая давала бы возможность вставлять в окно логина/чата текст с буфера обмена Windows...
Zubastic на форуме Ответить с цитированием
Непрочитано 28.03.2013, 11:25   #27
Пользователь

По умолчанию Re: ASM или как сделать хук l2.exe

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

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

PHP код:
    STARTUPINFO si;
    
PROCESS_INFORMATION pi;
    
ZeroMemory(&sisizeof(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());
   } 

Последний раз редактировалось s2lx; 28.03.2013 в 12:00.
s2lx вне форума Ответить с цитированием
Непрочитано 28.03.2013, 12:20   #28
Аватар для Zubastic
ZG troll squad

Автор темы (Топик Стартер) Re: ASM или как сделать хук l2.exe

Цитата:
Сообщение от s2lx Посмотреть сообщение
Зачем тогда библиотека, когда хватит и findwindow and sendmessage

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

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());
   }
 
Code: C++
Просто это было бы только начало . Как разобрался бы с этим, начал бы писать следующее.
Дык там не падение, а просто windows считает, что это не win32 приложение. Бинарик портится... Если через LordPE, то тогда ошибка памяти выдается.
Zubastic на форуме Ответить с цитированием
Непрочитано 28.03.2013, 12:29   #29
Пользователь

По умолчанию Re: ASM или как сделать хук l2.exe

Цитата:
Сообщение от Zubastic Посмотреть сообщение
Просто это было бы только начало . Как разобрался бы с этим, начал бы писать следующее.
Дык там не падение, а просто windows считает, что это не win32 приложение. Бинарик портится... Если через LordPE, то тогда ошибка памяти выдается.
Я привязывал только через CFF Explorer, незнаю что там в LordPE, но скорее всего из-за неправильно установленой точки входа или экспортируемой фун-ции. Не шарю я в дельфи
Вот рабочий пример на сях. Работает и с лоадером, что выше и с привязкой.

PHP код:
#include "dllmain.h"
//если прикручиваем к ехе - раскоментировать
/*__declspec(dllexport)*/ 
BOOL APIENTRY DllMainHMODULE hModuleDWORD  ul_reason_for_callLPVOID 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;

s2lx вне форума Ответить с цитированием
Непрочитано 28.03.2013, 12:33   #30
Аватар для Retired
Kernel hackz.

По умолчанию Re: ASM или как сделать хук l2.exe

боже.

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


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать l2.exe своими руками? Dementor Игровой клиент 17 21.03.2013 19:51
Необходимо сделать инекцию в фаил l2.bin don1500 Игровой клиент 1 15.05.2011 23:38
как сделать свой кх LineOFWar Lineage II 2 15.12.2010 15:08
Как сделать сделать перса админом? fiery Lineage II 4 18.10.2009 05:45
Помогите Общими усилиями Сделать кач. Сервак 2MB Lineage II 13 25.08.2008 03:47


© 2007–2019 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 03:03. Часовой пояс GMT +3.

Вверх