Просто учитывая сегодняшние ковыряние и слепые тыкания у меня сложилось впечатление что клиент имеет свою собственную функцию для чтения/записи в сокеты.
обнадежил, буду долбить дальше эту стену.
для начала - ловушку на креейт процес.. а потом в ловушке на креейт - сам инжект.
матрешка.. блин.
в общем - написана софтина инжектирующая длл в процесс линейки, позволяющая без создания прокси манипулировать тем что отсылает/принимает линейка, отсылать пакеты от имени процесса ла2 ну и в этом духе.
идеально работает на клиентах без гг.
единственная проблемма - сам гг. после старта он востанавливает таблицу импортов для некоторых функций процесса линейки, в перечень их входит сенд и рецв.
после очередных слепых тыканий уже в сторону гг было выяснено что
гг сканирует первые байты защищаемых функций на предмет фарджампов и восстанавливает функцию если находит джампы.
есть 4 метода для создания подобных руткитов.
1. перехватываются функции LoadLibrary и GetProcAddress библиотеки kernel32.dll - GetProcAddress выдает поинтер моей функции. (годится для приложений загружающих длл динамически, пробовал это на гг - потерпел крах. линейка тоже не использует динамику)
2. с модификацией таблицы импорта. без гг метод прекрасно работает. пока за дело не принимается гг - исправляющий фарджампы. тем не менее я все еще могу отсылать данные от клиента, хотя видеть что шлет/принимает клиент с запущенным гг - не могу -)
3. метод сочетающий первое и второе (был опробован. гг выдавался неверный адресс рецв и сенд, и одновременно модифицировалась таблица импорта в линейке. потерпел крах. гг не держал чужую длл в своем адресном пространстве дольше чем пару секунд. потом происходил деатач дллки. запретить фрилибрари и подобных не удалось)
4й метод. интересный. чемто похож на 2й. но записываеться не джамп а машинный код своей функции в начале/конце целевой функции. если я правильно понимаю гг не увидит джамп, и естественно не будет ничего править.
есть у кого нибудь информация по подобной вещи ?.
Ух, даже так, спасибо за эти новые сведения -)
как раз с установкой готового модуля проблемм РОВНО ноль -)
так же не вижу особых проблем с самой длл.
добавлено, спустя пару-тройку часов.
вот.. как то так.. в принципе, даже проще чем апихуки, намного проще. все те же возможность а гг не шевелится -)
осталось код по взаимодействию с основным приложением со старой длл добавить.
Последний раз редактировалось alexteam, 18.03.2009 в 23:48.
как раз с установкой готового модуля проблемм РОВНО ноль -)
а ты попробуй установить своего провайдера когда уже какойнить установлен, от проксифиера там или нод32)
если твой пров единственный кроме основного системного то да, проблем ноль)
__________________
Я здесь практически не появляюсь!, Skype - ikskor