Полезности Исключительно для полезных тем из других разделов.
Темы тут не создаются!
Темы сюда перемещаются из других разделов, и на их старых местах остаются постоянные перенаправления.
10.05.2010, 21:29
#1
Пользователь
Регистрация: 03.11.2008
Сообщений: 60
Сказал Спасибо: 3
Имеет 107 спасибок в 21 сообщенях
xkor , на wasm.ru/forum периодически проскакивает, вот этот например (выглядит правда страшно)
http://wasm.ru/forum/viewtopic.php?id=36993
А чем LoadLibrary плоха? Особенно если инжектить длл при создании процесса.
Вообще если дллка простенькая, без наворотов, (без TLS, импортов, file align = 0x1000) то ей надо только релоки настроить, а это несложно.
За это сообщение GoldFinch нажился спасибкой от:
10.05.2010, 23:19
#2
Admin!
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
Цитата:
Сообщение от
GoldFinch
А чем LoadLibrary плоха? Особенно если инжектить длл при создании процесса.
да мне не для инжектов а для кое каких других извращений)
__________________
Я здесь практически не появляюсь!, Skype - ikskor
11.05.2010, 10:07
#3
Местный
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
GoldFinch , непойму все таки как отлаживать мою dll. Сейчас пишу тв Delphi. Точнее как запустить отладку нашгел, но каждый раз после перекомпиляции dll получается прийдется перезагружать l2?
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
11.05.2010, 10:47
#4
Admin!
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
Yegor , именно, а кто говорил что будет просто)
__________________
Я здесь практически не появляюсь!, Skype - ikskor
11.05.2010, 20:08
#5
Пользователь
Регистрация: 03.11.2008
Сообщений: 60
Сказал Спасибо: 3
Имеет 107 спасибок в 21 сообщенях
Yegor , напиши в длл код который позволит выгрузить себя и загрузить новую версию длл, если надо
11.05.2010, 21:34
#6
Новичок
Регистрация: 11.05.2010
Сообщений: 19
Сказал Спасибо: 0
Имеет 10 спасибок в 6 сообщенях
Цитата:
Сообщение от
GoldFinch
Yegor , напиши в длл код который позволит выгрузить себя и загрузить новую версию длл, если надо
Это как-то мудрено очень. К тожу-же, чуть напортачишь в
подгружаемой dll и клиент вылетает с ошибкой.
Я инжектируемую dll пишу, чтоб была возможно более простая.
Только перехват команд от клиента и от сервера и отсылка в основной
модуль программы. Связь между dll и модулем делал раньше через
mapped file а сейчас по IP(UDP).
На будущее, это позволит собирать инфу с нескольких клиентов запущеных на разных компах в один коммандный центр.
За это сообщение Эдвадко нажился спасибкой от:
12.05.2010, 00:09
#7
Местный
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
GoldFinch , это то я напишу, но вот Delphi для отладки dll хочет сама запускать процесс в который её будет загружать.
Эдвадко , в l2ext от Alexteamа похоже сделано так же, начну сначала с общения через message а потом и tcp\ip задействую.
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
12.05.2010, 07:44
#8
Новичок
Регистрация: 11.05.2010
Сообщений: 19
Сказал Спасибо: 0
Имеет 10 спасибок в 6 сообщенях
[quote=Yegor;88284]GoldFinch , это то я напишу, но вот Delphi для отладки dll хочет сама запускать процесс в который её будет загружать.
Я например отладчик не пользую - ну так получилось.
В качестве отладчика использую ту-же внедряемую dll
Удалось перехватить какую функцию - хук начинает логировать
адреса вызова этой функции и параметры вызова.
Потом ползаю по дизассемблированой engine.dll по соотв. адресам и смотрю че и как.
static DWORD HookProcAdr;
void __declspec(naked) __stdcall HookProcE9()
{
static DWORD SavedRetAddr,SavedArg0,SavedArg4,SavedArg8;
__asm push ebp
__asm mov ebp,esp
__asm pushad
__asm mov eax,[ebp+4] //RetAddr
__asm mov SavedRetAddr,eax
__asm mov eax,[ebp+8] //Arg0
__asm mov SavedArg0,eax
__asm mov eax,[ebp+12] //Arg4
__asm mov SavedArg4,eax
__asm mov eax,[ebp+16] //Arg8
__asm mov SavedArg8,eax
static char str[100];
_snprintf(str,100,"%u",*(PBYTE)SavedArg0);
MappedText(str,0xFFFFFF00);
fprintf(LogFile,"HookE9 %x %x %x %x %02x\n",SavedRetAddr,SavedArg0,SavedArg4,SavedArg8 ,*(PBYTE)SavedArg0);
__asm popad
__asm pop ebp
__asm push HookProcAdr
__asm retn
}
Последний раз редактировалось Эдвадко, 12.05.2010 в 07:46 .
За это сообщение Эдвадко нажился 2 спасибками от:
14.05.2010, 20:18
#9
Местный
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
GoldFinch , ты ранее писал переходник для вызова с++ функций с соглашением ThisCall из делфи. А можно сделать переодник дял того чтобы функция делфи вызывалась как ThisCall?
Добавлено через 2 часа 51 минуту
Вопрос снят, получилось
__________________
Продажа чистых аккаунтов 4G, L2 EU, AARu, AA EU, Aion EU, Tera RU, Tera EU (ICQ 594297609)
Продажа VK авторег аккаунтов (ICQ 594297609)
Последний раз редактировалось Yegor, 14.05.2010 в 20:18 .
Причина: Добавлено сообщение
Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
Часовой пояс GMT +4, время: 10:28 .
vBulletin style designed by
MSC Team .
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод:
zCarot
Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!