Тема: L2PacketHack 3.5.x
Показать сообщение отдельно
Старый 10.01.2010, 01:03   #1137
Местный
 
Аватар для Yegor
 
Регистрация: 05.04.2009
Сообщений: 1,436
Сказал Спасибо: 306
Имеет 122 спасибок в 98 сообщенях
Yegor пока неопределено
По умолчанию

В модуле uglobalfuncs.pas есть процедура
procedure GetProcessList(var sl: TStrings);

в ней есть строки:
GetModuleFileNameEx(ph, mh, ModName, sizeof(ModName));
tmp:=LowerCase(ExtractFileName(string(ModName)));

Так вот, функция GetModuleFileNameEx не для всех процессов возвращает имя. И если имени нет, то в буфере ModName остается прошлая строка или вообще мусор. Поэтому предлагаю изменить так:

var cnt: integer

....

cnt:= GetModuleFileNameEx(ph, mh, ModName, sizeof(ModName));
ModName[cnt]:= #0;
tmp:=LowerCase(ExtractFileName(string(ModName)));

Если так не сделать то пакет хак пытается инжектить не те процессы.

Например первый процесс найден нужный l2.bin. Потом идет какой то процесс без имени. А в списке опять таки получаем имя l2.bin.

Добавлено через 9 часов 8 минут
alexteam, каким образом ты реализовал возможность не обрабатывать трафик в каком то из направлений?
Ты просто читаешь с сокета сколько пришло и пересылаешь по назначению?

Последний раз редактировалось Yegor, 10.01.2010 в 01:03. Причина: Добавлено сообщение
Yegor вне форума   Ответить с цитированием
За это сообщение Yegor нажился спасибкой от: