Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 03.09.2020, 19:54   #1
Новичок
 
Регистрация: 31.07.2019
Сообщений: 4
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
0day пока неопределено
По умолчанию Критует с л2 когда хукаю Engine.dll

Привет всем. Вопрос возник, работаю в данный момент с интерлюдом, есть dll с помощью которой ставлю хуки, с чистой engine.dll - у меня проблем нет.

Когда возьму какую-то engine.dll из патча игрового сервера с защитой типа SG или чето ещё. То при открытии клиента, у меня вылазит крит с таким содержимым:

General protection fault!

History: UGameEngine::Init <- InitEngine



Есть идеи что я делаю не так? Или мне стоит так же ставить хук на функцию Init из класса UGameEngine?
0day вне форума   Ответить с цитированием
Старый 04.09.2020, 10:10   #2
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,213
Сказал Спасибо: 4
Имеет 225 спасибок в 178 сообщенях
SeregaZ пока неопределено
По умолчанию

так в том то и суть - ежели чистая, значит времен царя гороха, когда про хуки слыхом не слыхивали. и поэтому там все работает. а берешь от сервера - значит свежую, то там то уже прознали где собака зарыта и понавешали всякое разное поверх - вот и лезут эти ошибки. где что искать - не скажу. я в танке в смысле ничо не знаю.
__________________
хочу картинку в подпись!
SeregaZ вне форума   Ответить с цитированием
Старый 04.09.2020, 13:18   #3
Местный
 
Аватар для ScythLab
 
Регистрация: 24.10.2014
Сообщений: 187
Сказал Спасибо: 4
Имеет 40 спасибок в 38 сообщенях
ScythLab пока неопределено
По умолчанию

>типа SG
SG - это SmartGuard? Если да, то очень интересно было бы посмотреть как ты подгружаешь dll в клиент с SG, и при этом SG по какой-то непонятной причине не блокирует эту подгрузку.

>Есть идеи что я делаю не так?
Из разряда "у меня машина как-то странно работает, как ее можно починить?".
Ты не описываешь что именно ты делаешь и когда. Что ты хукаешь на чистом клиенте, что ты хукаешь на защищенном клиенте? На сколько ты уверен в правильности места хука? Как ты проверяешь, что хук успешно прошел и что хук корректен? Расшифрована ли engine.dll в момент твоего хука? Не пытается ли потом защита поверх твоего хука поставить свой хук? Не портит ли твоя функция-перехватчик какие-либо данные из-за которых крашится клиент, да и вообще получает ли она управление перед крашем или нет? Есть ли проверки в защите на изменение кода engine.dll (хотя судя по ошибке, до этой проверки защита не доходит)?

>Когда возьму какую-то engine.dll из патча игрового сервера с защитой типа SG или чето ещё
Еще раз внимательно перечитал. Ты выдергиваешь одну единственную dll, засовываешь ее в свой чистый клиент и хочешь чтобы это работало? Или все-таки ты запускаешь клиент с защитой, и в нем пытаешься патчить?
__________________
Хобби: разработка бота для Lineage.
ScythLab вне форума   Ответить с цитированием
Старый 04.09.2020, 16:36   #4
Новичок
 
Регистрация: 31.07.2019
Сообщений: 4
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
0day пока неопределено
По умолчанию

По правде говоря, мы начали одну дискуссию на другом форуме. Подумав что там не особо много людей знающих об программировании, поэтому начал топик здесь.

Есть какие-то контакты с тобой, кроме как форума этого или другого?

Я взял за основу сурцы тавера, подправив ихние хуки под интерлюд. Адреса всех используемых функций верны, и работают. (Хотя мб я чуть не прав, и стоит не много поработать с L2ParamStack, но это не важно)

Проблема возникает лишь при запуске клиента, когда длл уже непосредственно находится в процессе.

На счёт защит SG / ACC есть подозрения что это один и тот же человек (акума). Однажды копаясь в дампе л2, снятым с ядра, нашел удивительное сходство с SG, и пару строчек, оставленных Акуму.

Добавлено через 3 минуты
[
>Когда возьму какую-то engine.dll из патча игрового сервера с защитой типа SG или чето ещё
Еще раз внимательно перечитал. Ты выдергиваешь одну единственную dll, засовываешь ее в свой чистый клиент и хочешь чтобы это работало? Или все-таки ты запускаешь клиент с защитой, и в нем пытаешься патчить?[/quote]

Если я тебя правильно понял, стоит попробовать сделать Delay Import ? Ибо я пытаюсь поставить все эти хуки до того момента, как сделает это защита.

Последний раз редактировалось 0day, 04.09.2020 в 16:36. Причина: Добавлено сообщение
0day вне форума   Ответить с цитированием
Старый 04.09.2020, 20:38   #5
Местный
 
Аватар для ScythLab
 
Регистрация: 24.10.2014
Сообщений: 187
Сказал Спасибо: 4
Имеет 40 спасибок в 38 сообщенях
ScythLab пока неопределено
По умолчанию

>Есть какие-то контакты с тобой, кроме как форума этого или другого?
Я думаю здесь общаться вполне нормально.

>Delay Import
Я не уверен, что под этим термином мы подразумеваем одно и тоже.

Используй мои вопросы в предыдущем посте как контрольные точки, которые необходимо проверить. Так найдешь в какой момент и что крашится.
Также могу посоветовать вначале откатать свой механизм на реальном сервере с разрешенным ботом и добейся видимого эффекта (например перехват чата или пакета с движением перса), когда этот этап будет пройден, можно перейти к простеньким защитам, например на l2ultra_ru, хоть там хроники заявлены С4, но по факту используется клиент ИТ. И уже в самом конце можно переходить на Smart или AAC.
__________________
Хобби: разработка бота для Lineage.
ScythLab вне форума   Ответить с цитированием
За это сообщение ScythLab нажился спасибкой от:
Старый 20.09.2020, 23:42   #6
Новичок
 
Регистрация: 31.07.2019
Сообщений: 4
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
0day пока неопределено
По умолчанию

ScythLab, попытался накатить патч C4 на IL, и он не встал((

В общем я решил проблему с запуском, сейчас критов нет при запуске. В общем суть такая, ввожу логин, пароль, жму тыкаю "Войти в игру" и сразу хлопается клиент, без каких-либо критов и ошибок.

Были моменты когда я не правильно хукал AddNetworkQueue и при попытке тыкнуть на кнопку Войти в Игру, меня сразу критовало. Вроде бы сейчас критов нет, но клиент сразу закрывается.

Полгода назад я вытаскивал дампы, включая дамп памяти Engine.dll,
сегодня дошли руки чтобы почистить его, и привести в порядок.

Так как я не особо понимаю описание функций, возможно что-то изменилось за последнее время.
Но меня очень интересуют такие функции как:

Код:
	  ??0UNetworkHandler@@QAE@XZ
	  ??0UNetworkHandler@@QAE@ABV0@@Z
	  ??2UNetworkHandler@@SAPAXIPAVUObject@@VFName@@K@Z
	  ??_7UNetworkHandler@@6BFExec@@@
	  ??_7UNetworkHandler@@6BUObject@@@
	  ?RL@UNetworkHandler@@UAEHXZ
	  ?SAP@UNetworkHandler@@UAEXXZ
	  ?EW@UNetworkHandler@@UAEXH@Z
	  ?MTL@UNetworkHandler@@UAEXPAVAActor@@VFVector@@10H@Z
Хотелось бы получить какое-то описание этим функциям.
0day вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Основные форумы > Программинг


Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 01:53.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!