Сообщений: 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,862 
	Тем: 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,862 
	Тем: 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 нормально присоединял, но всеравно ошибка с памятью. Пробовал присоединить другой бинарик - получал такую же ошибку....
	  
	
	
	
	
 
 
	
 |