Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
ASM или как сделать хук l2.exe
#31
PaINN Написал::eek: боже.

Что за убогий кодинг на С++. Читать не возможно
Очки купиWink Хотя....если в трёх строчках разобраться не можешь то они не помогут.
Видимо не доходит, что это вырезалось - копировалось на скорую руку и никак не для повторения(у ТСа делфи).:Olen':
Вместо 20 сообщений тролинга в теме уже своё написал ПРЕКРАСНО отформатированное. Вот это бы было действительно ценное сообщение и без лишнего флуда.
Ответ
#32
Zubastic Написал:MHard, пишу на делфе, поэтому даже незнаю, объявил я ее или нет Smile
[SRC="pascal"]begin DLLProc := @EntryPoint;
EntryPoint(DLL_PROCESS_ATTACH);
end.[/SRC]
По идее вот это и есть оно.
В PETools выбирал готовую. l2.exe просто не открывается....

я не особо силен в синтаксисе паскаля попробуй почитать хоть бы тут

http://www.helloworld.ru/texts/comp/lang.../les23.htm

там както так делается
procedure ExportByName; export;

но еще лучше начинай писать на c++

Добавлено через 5 минут
s2lx Написал:Зачем тогда библиотека, когда хватит и findwindow and sendmessage

в таком случае это внешнее приложение. а тут задача по ctrl+v чтобы работало
надо клавиатуру хукать в процессе.

или я неправильно вас понял?
Ответ
#33
Код:
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 := @MyFirstDLLProc;
  MyFirstDLLProc(DLL_PROCESS_ATTACH);
end.


Вот же.
Ответ
#34
а и забыл сказать сразу если конкретно под l2 надо просто либу свою назови entry.dll и не парься
клиент сам загрузит ее. по крайней мере так было до GoD как сейчас незнаю не проверял
Ответ
#35
Влезу не в свое дело, но бинарник мб ломается из за того что не снята темида с него? Ну это я так, на всякий спросил. Tongue
[Изображение: 61b684.png]
Ответ
#36
Zubastic Написал:Просто это было бы только начало Smile. Как разобрался бы с этим, начал бы писать следующее.
...
так в том то и дело, что с библиотекой это
PHP код:
<?php 
которая давала бы возможность вставлять в окно логина
/чата текст с буфера обмена Windows...
сделать сложнее чем в отдельной програмке.
Вернее не сложнее, если знать какую функцию клиента использовать.
А там мы уже "лезем" в ту библиотеку которая имеет эту функцию.
Для Engine так HMODULE hEngine = LoadLibraryA("Engine.dll"); и используем функции этой библиотеки.
С отдельной прогой сделать без знаний(для начала) проще так
PHP код:
<?php 
Function GetLineageWnd: HWnd;
Begin
result
:= FindWindow('l2UnrealWWindowsViewportWindow', 'Lineage II');
End;

Procedure PostKeysToLineAge(keys: String; addEnter: boolean);
Var
h : HWnd;
i : Integer;
Begin
h
:= GetLineageWnd;
If
h = 0 Then exit;
SetForegroundWindow(h);
For
i := 1 To length(keys) Do
Begin
SendMessage
(h, WM_CHAR, word(keys[i]), 0);
End;
If
addEnter Then
Begin
SendMessage
(h, WM_KEYDOWN, VK_RETURN, 0);
SendMessage(h, WM_KEYUP, VK_RETURN, 0);
End;
End;
Писал не я. Только копировал. Если не понравится - PaINN тебе оформатирует.
Ответ
#37
s2lx Написал:так в том то и дело, что с библиотекой это
PHP код:
<?php 
которая давала бы возможность вставлять в окно логина
/чата текст с буфера обмена Windows...
сделать сложнее чем в отдельной програмке.
Вернее не сложнее, если знать какую функцию клиента использовать.
А там мы уже "лезем" в ту библиотеку которая имеет эту функцию.
Для Engine так HMODULE hEngine = LoadLibraryA("Engine.dll"); и используем функции этой библиотеки.
С отдельной прогой сделать без знаний(для начала) проще так
PHP код:
<?php 
Function GetLineageWnd: HWnd;
Begin
result
:= FindWindow('l2UnrealWWindowsViewportWindow', 'Lineage II');
End;

Procedure PostKeysToLineAge(keys: String; addEnter: boolean);
Var
h : HWnd;
i : Integer;
Begin
h
:= GetLineageWnd;
If
h = 0 Then exit;
SetForegroundWindow(h);
For
i := 1 To length(keys) Do
Begin
SendMessage
(h, WM_CHAR, word(keys[i]), 0);
End;
If
addEnter Then
Begin
SendMessage
(h, WM_KEYDOWN, VK_RETURN, 0);
SendMessage(h, WM_KEYUP, VK_RETURN, 0);
End;
End;
Писал не я. Только копировал. Если не понравится - PaINN тебе оформатирует.
Баттхерт? Big Grin
Ответ
#38
s2lx Написал:Я привязывал только через CFF Explorer, незнаю что там в LordPE, но скорее всего из-за неправильно установленой точки входа или экспортируемой фун-ции. Не шарю я в дельфиWink
Вот рабочий пример на сях. Работает и с лоадером, что выше и с привязкой.
Наверное буду тогда писать на сях...В LordPE работает, а вот в PE Tools клиент крашится...
Ответ
#39
Zubastic Написал:Наверное буду тогда писать на сях...В LordPE работает, а вот в PE Tools клиент крашится...

А какая разница на СИ или Делфи?

На делфи примеров больше.

Добавлено через 1 минуту
darkevil Написал:Влезу не в свое дело, но бинарник мб ломается из за того что не снята темида с него? Ну это я так, на всякий спросил. Tongue

Думаю бинарник ломался из за того что в его DLL не был обьявлен EntryPoint (точка входа) , DLL могло прогружаться в память процесса , однако делать ничего не будет.


Я уже написал ему фикс, но процесс все равно ломается. Видимо дело в методе инжекта LordPE.
Ответ
#40
MHard Написал:а и забыл сказать сразу если конкретно под l2 надо просто либу свою назови entry.dll и не парься
клиент сам загрузит ее. по крайней мере так было до GoD как сейчас незнаю не проверял
Да хотелось бы уникальную, чтобы не было конфликтов....

Добавлено через 1 минуту
PaINN Написал:Думаю бинарник ломался из за того что в его DLL не был обьявлен EntryPoint (точка входа) , DLL могло прогружаться в память процесса , однако делать ничего не будет.

Я уже написал ему фикс, но процесс все равно ломается. Видимо дело в методе инжекта LordPE.
Нет). Там проблема была именно в том, что PE Tools ломал бинарик, а Lord PE нормально присоединял, но всеравно ошибка с памятью. Пробовал присоединить другой бинарик - получал такую же ошибку....
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Как сделать защиту от кликеров? 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,881 03-21-2013, 07:51 PM
Последний пост: Zubastic
  как сделать из активного скила пассивный Sensation 8 3,005 02-09-2013, 02:41 PM
Последний пост: ExLite
  Как сделать питомца ездовым? Double 5 2,778 08-28-2012, 05:19 PM
Последний пост: Double
  Необходимо сделать инекцию в фаил l2.bin don1500 1 5,825 05-15-2011, 11:38 PM
Последний пост: Smiler
  помогите сделать патч Соник™ 12 5,189 09-07-2010, 05:42 PM
Последний пост: Соник™
  Как сделать zoom для Эпилога Финал? Rus. 0 2,939 07-19-2010, 01:14 PM
Последний пост: Rus.

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


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