Сообщений: 14
Тем: 0
Зарегистрирован: Mar 2013
Репутация:
0
PaINN Написал::eek: боже.
Что за убогий кодинг на С++. Читать не возможно Очки купи Хотя....если в трёх строчках разобраться не можешь то они не помогут.
Видимо не доходит, что это вырезалось - копировалось на скорую руку и никак не для повторения(у ТСа делфи).:Olen':
Вместо 20 сообщений тролинга в теме уже своё написал ПРЕКРАСНО отформатированное. Вот это бы было действительно ценное сообщение и без лишнего флуда.
Сообщений: 526
Тем: 28
Зарегистрирован: Oct 2009
Репутация:
7,209
03-28-2013, 12:50 PM
(Сообщение последний раз редактировалось: 03-28-2013, 12:55 PM Smiler.)
Zubastic Написал:MHard, пишу на делфе, поэтому даже незнаю, объявил я ее или нет
[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 чтобы работало
надо клавиатуру хукать в процессе.
или я неправильно вас понял?
Сообщений: 629
Тем: 14
Зарегистрирован: Feb 2013
Репутация:
4,073
Код: 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.
Вот же.
Сообщений: 526
Тем: 28
Зарегистрирован: Oct 2009
Репутация:
7,209
а и забыл сказать сразу если конкретно под l2 надо просто либу свою назови entry.dll и не парься
клиент сам загрузит ее. по крайней мере так было до GoD как сейчас незнаю не проверял
Сообщений: 2,267
Тем: 6
Зарегистрирован: Aug 2009
Репутация:
8,698
Влезу не в свое дело, но бинарник мб ломается из за того что не снята темида с него? Ну это я так, на всякий спросил.
Сообщений: 14
Тем: 0
Зарегистрирован: Mar 2013
Репутация:
0
Zubastic Написал:Просто это было бы только начало . Как разобрался бы с этим, начал бы писать следующее.
... так в том то и дело, что с библиотекой это
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 тебе оформатирует.
Сообщений: 629
Тем: 14
Зарегистрирован: Feb 2013
Репутация:
4,073
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 тебе оформатирует.
Баттхерт?
Сообщений: 5,863
Тем: 105
Зарегистрирован: Sep 2010
Репутация:
13,014
s2lx Написал:Я привязывал только через CFF Explorer, незнаю что там в LordPE, но скорее всего из-за неправильно установленой точки входа или экспортируемой фун-ции. Не шарю я в дельфи
Вот рабочий пример на сях. Работает и с лоадером, что выше и с привязкой. Наверное буду тогда писать на сях...В LordPE работает, а вот в PE Tools клиент крашится...
Сообщений: 629
Тем: 14
Зарегистрирован: Feb 2013
Репутация:
4,073
03-28-2013, 02:42 PM
(Сообщение последний раз редактировалось: 03-28-2013, 02:45 PM Retired.)
Zubastic Написал:Наверное буду тогда писать на сях...В LordPE работает, а вот в PE Tools клиент крашится...
А какая разница на СИ или Делфи?
На делфи примеров больше.
Добавлено через 1 минуту
darkevil Написал:Влезу не в свое дело, но бинарник мб ломается из за того что не снята темида с него? Ну это я так, на всякий спросил.
Думаю бинарник ломался из за того что в его DLL не был обьявлен EntryPoint (точка входа) , DLL могло прогружаться в память процесса , однако делать ничего не будет.
Я уже написал ему фикс, но процесс все равно ломается. Видимо дело в методе инжекта LordPE.
Сообщений: 5,863
Тем: 105
Зарегистрирован: Sep 2010
Репутация:
13,014
03-28-2013, 03:29 PM
(Сообщение последний раз редактировалось: 03-28-2013, 03:31 PM Zubastic.)
MHard Написал:а и забыл сказать сразу если конкретно под l2 надо просто либу свою назови entry.dll и не парься
клиент сам загрузит ее. по крайней мере так было до GoD как сейчас незнаю не проверял Да хотелось бы уникальную, чтобы не было конфликтов....
Добавлено через 1 минуту
PaINN Написал:Думаю бинарник ломался из за того что в его DLL не был обьявлен EntryPoint (точка входа) , DLL могло прогружаться в память процесса , однако делать ничего не будет.
Я уже написал ему фикс, но процесс все равно ломается. Видимо дело в методе инжекта LordPE. Нет). Там проблема была именно в том, что PE Tools ломал бинарик, а Lord PE нормально присоединял, но всеравно ошибка с памятью. Пробовал присоединить другой бинарик - получал такую же ошибку....
|