PDA

Просмотр полной версии : как убить поток в процессе l2.bin


controller
16.10.2015, 19:48
Совбственно вопрос в теме.. возможно ли через делфи?
убить вот это dsetup.dll??0Cdsetup@@QAE@XZ+0x8100

Yegor
17.10.2015, 22:04
Чтобы убить поток нужно вычислить его PID.

Это dsetup.dll??0Cdsetup@@QAE@XZ+0x8100 по идее точка старта потока.

Получаем список потоков нужного процесса.
Находим тот из них который имеет нужную точку старта и киляем его.

controller
19.10.2015, 10:16
как получить список всех ID я понял, а как по ИД получить имя потока не подскажешь?

supernewbie
19.10.2015, 21:11
controller, возможно, так:

entry_point_ptr = GetProcAddress(GetModuleHandle('dsetup.dll'), '??0Cdsetup@@QAE@XZ') + 0x8100;
loop:
thread_entry_point_ptr = NtQueryInformationThread(thread_handle, ...);
if thread_entry_point_ptr == entry_point_ptr then
break;
thread_handle = get_next_thread_handle();
end_loop;

ссылка на функцию получения точки старта потока:
http://stackoverflow.com/questions/11147846/how-to-retrieve-starting-address-of-a-thread-in-windows

controller
20.10.2015, 02:37
ничего не понятно все равно

procedure test;stdcall;
var
lpStartAddress:Pointer;
begin
lpStartAddress:=GetProcAddress(GetModuleHandle('ds etup.dll'), '??0Cdsetup@@QAE@XZ');
//lpStartAddress:=GetProcAddress(GetModuleHandle('ds etup.dll'), '??0Cdsetup@@QAE@XZ')+$8190; это не работает делфи ругается
ShowMessage (IntToStr(Integer(lpStartAddress)));
end;
в итоге тут я получаю 0

Это правильно я сделал? просто пока я получаю 0, нет смысла дальше работать

Yegor
20.10.2015, 16:29
А GetModuleHandle('dsetup.dll') возвращает не ноль?

controller
22.10.2015, 14:24
код длл
function gethandle():thandle;stdcall;
var
dsetup:thandle;
begin
dsetup:=GetModuleHandle('dsetup.dll');
end;

код в программе после инжекта этой длл
begin
ds:=gethandle();
showmessage(inttostr(ds));
end;
тут возвращает не 0!
Я ведь правильно делаю?

Yegor
25.10.2015, 13:41
Правильно.

Значит '??0Cdsetup@@QAE@XZ' неверное название экспортируемой функции. В обычной dsetup у экспортируемых функций названия без кодирования.

controller
25.10.2015, 19:45
значит адрес узнать так:
код длл
function gethandle():pointer ;stdcall;
var
dsetup:thandle;
S t a r t Ad d r e s s : P o i n t e r
begin
dsetup:=GetModuleHandle ('dsetup.dll');
S t a r t Ad d r e s s : = G e t P r o c Ad d r e s s (dsetup,'??0Cdsetup@@QAE@XZ');
end;

код в программе после инжекта
этой длл
begin
startaddres:=gethandle();
showmessage(inttostr(integer(startaddres)));
end;

тогда это будет так? Если не обращать внимание на неверное название функции. Просто по синтаксису, все правильно? Просто пока нет возможности проверить да же. Доступ к компу будет только через неделю :( хоть тут пока в тексте подумать

Добавлено через 2 часа 46 минут
и еще. Нет ли примера на делфи, как подменить чужую функцию...

controller
27.10.2015, 15:22
RVA Ord. Hint Name
-------- ---- ---- ----
000010D0 1 0000 ??0Cdsetup@@QAE@XZ
000010B0 2 0001 ??4Cdsetup@@QAEAAV0@ABV0@@Z
000010C0 3 0002 ?fndsetup@@YAHXZ
0002788C 4 0003 ?ndsetup@@3HA


как можно запретить l2.exe использовать эти функции из dsetup.dll ?

supernewbie
27.10.2015, 22:03
controller, можно хукнуть эти функции сплайсом и в своей функции ничего не делать
https://ru.wikipedia.org/wiki/Перехват_(программирование)#.D0.A1.D0.BF.D0.BB.D0. B0.D0.B9.D1.81.D0.B8.D0.BD.D0.B3 (https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D1%85%D0%B2%D0%B0%D1%82_( %D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D 0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)#.D 0.A1.D0.BF.D0.BB.D0.B0.D0.B9.D1.81.D0.B8.D0.BD.D0. B3)
http://coderx.ru/showthread.php?t=3609

controller
27.10.2015, 22:52
Читал... но ничег оне понял, к сожалению ( спасибо за советы

controller
02.11.2015, 01:13
может кто знает как работает смарт гуард, общий смысл его работы, и поможет, а то теперь Да же если бота запустить через танцы с бубном, и бегать то через минуту вылетает сообщение о том что я использую кликер. Бот адреналин. Нид подсказку как определяется и как обмануть

Yegor
02.11.2015, 05:56
Если ты юзаешь адреналин так и обратись к его разработчику.
На сколько я знаю в нем есть обход всех распространенных защит.
Или у тебя ломаная старая версия бота?

controller
02.11.2015, 08:14
совершенно верно. Да и хотелось бы понять как работает защита

Yegor
02.11.2015, 13:24
Купи ключ на адреналин и не епи мозг, там все не так просто с теми защитами.

Макс Крюгер
21.11.2015, 19:32
Есть вопрос по поводу dsetup.dll ,этот файл блокирует использование сторонних интерфейсов. Есть ли вариант заставить его не делать этого?

Добавлено через 33 секунды
Купи ключ на адреналин и не епи мозг, там все не так просто с теми защитами.

Есть вопрос по поводу dsetup.dll ,этот файл блокирует использование сторонних интерфейсов. Есть ли вариант заставить его не делать этого?