ПолезностиИсключительно для полезных тем из других разделов. Темы тут не создаются!
Темы сюда перемещаются из других разделов, и на их старых местах остаются постоянные перенаправления.
Автор выкладывал где-то пример. Я надеюсь, он будет не против, если я его залью сюды.
э... и что демонстрирует данный пример? у меня он 1 раз подвесил тачку, 2 раза запорол клиента, 2 раза просто не запустился(файл занят) и еще пару раз незапустился с другой ошибкой. и ехе и длл лежали в папке систем клиента.
Murdoc, там написано, что это POC (proof of concept). Он тестировался на конкретном клиенте С6, и его надо дорабатывать напильником чтобы он заработал на другом клиенте. Кроме того, т.к. это POC, никакой полезной функциональности там нет, а есть только пример работы с API клиента напрямую.
перед тем как отправить пакет от имени engine.dll надо еще заполнить стек отправки
вчера стал ковырять функцую отправки пакета на сдачу манора - в принципе механизм тот же, что и в других функциях Л2, можно разбить на следующую цепочку:
1. преварительные действия, нас не интересуют в общем-то. Могут интересовать, чтобы подобрать место для перехода на наш код.
2. чтение из стека Л2, подготовка параметров для обработки - самая интересная часть, нас интересует больше всего. Именно в этот момент нам доступны внутренние данные пакетов при получении и перед отправкой, именно этот код нужно дублировать в нашей программе.
3. последующие действия клиента, как правило, не представляют интереса.
Murdoc, у меня этот пример убил клиент Ц4, хотя я почитал как он переписывается под Ц4. Но именно он подтолкнул меня к написанию собственного аналога, и дал кое-какое понимание о внутренней работе клиента и том, что и как надо в нём перехватывать. После чего был написан аналог по механизму работы для Ц4, который опробован на конкретном клиенте, на вин XP и Висте, сама ДЛЛка работает стабильно, программа-приемник периодически вылетает. Сейчас обдумываю как лучше сделать отправку пакета от имени клиента... вариантов два - или создать свой стек и заполнить его, после чего вызвать нужную функцию с указателем на мой стек, или же внедриться в функцию и внаглую прописывать в нужных местах значения(ессно передаются через переменные). Сами проги на дельфи, код, отвечающий за перехват функций клиента - ассемблер... без ассемблера никак вообще тут.
перед тем как отправить пакет от имени engine.dll надо еще заполнить стек отправки
вчера стал ковырять функцую отправки пакета на сдачу манора - в принципе механизм тот же, что и в других функциях Л2, можно разбить на следующую цепочку:
1. преварительные действия, нас не интересуют в общем-то. Могут интересовать, чтобы подобрать место для перехода на наш код.
2. чтение из стека Л2, подготовка параметров для обработки - самая интересная часть, нас интересует больше всего. Именно в этот момент нам доступны внутренние данные пакетов при получении и перед отправкой, именно этот код нужно дублировать в нашей программе.
3. последующие действия клиента, как правило, не представляют интереса.
<SKIP>.
Если заинтересовался этой темой пиши в ПМ мне или Sherman - у
Есть небольшие наработки, как раз по С4 и возможен обмен знаниями
Последний раз редактировалось dmitry501, 05.06.2009 в 06:00.
Причина: Добавлено сообщение
что найти? функцию? или ДЛЛ? если ДЛЛ - то поройся в папке с игрой, если функцию - поройся в ДЛЛке с помощью текстового просмотрщика (типа того, что в тотал командере)