А на c# нет случайно ни у кого примера конекта к серверу, без декодирования, просто чтобы первый пакет хотябы принял. В дельфи там сокет цеплялся на хэндл формы, посылал ей сообщения и было просто, с с# как-то по другому организуется, никак не могу разобраться
Добавлено через 3 часа 19 минут
а вообще вроде получилось
Только вот врятли переведу шифрацию с дельфи с#
Последний раз редактировалось cvillian, 08.12.2015 в 17:46.
Причина: Добавлено сообщение
Хуки путём патчинга кода функций и другие техники популярно (прям как для дебилов описывает даже я понял) описаны в книге по руткитам Хоглунда. Перевёл её в PDF фомат и нашёл английскую пдфку.
Руткиты. Внедрение в ядро Windows - Hoglund - 2007.djvu - русская дижавю с оглавлением
Руткиты. Внедрение в ядро Windows - Hoglund - 2007.pdf - русская отклеарсканеная (ClearScan) пдфка с оглавлением
Всё в одном архиве
хттпс://yadi.sk/d/dS-YVeYBs9oYL
Source Code к книге пока не нашёл
__________________
Играю по фэншую используя /allblock, созерцая красоту игрового мира, сосредоточившись на получении энергии Ци при убийстве мобов. icq=((2*3*(19^2)*37)-1)*9
Последний раз редактировалось mikser, 03.06.2016 в 10:12.
Есть такой вопросец. В общем попытался я перехватить эту функцию с помощью удаленных потоков и перезаписью таблицы импорта на asterios.tm, но обнаружил для себя - что такого метода в их версии Engine.dll - попросту нет. Либо они его переписали под себя(изменили название методов) либо еще что. Не суть важно. Попытался - посмотреть под отладчиком что там вообще происходит, l2 при виде отладчика сразу критует, судя по всему так задуманно, так как они используют у себя АПИ функцию IsDebuggerPresent, и в случае если она вернет истину - просто критуют клиента. Решил значит я с помощью перетирания таблицы импорта просто заменить эту функцию своей. Но пока что безуспешно, либо я где то ошибся, либо они вызывают ее по хитрому, и нужно копать глубже. Так вот возникает вопрос - может уже кто то колупался на клиенте астериоса с этим ? Знает кто то, на какие функции они поменяли исходные?
Последний раз редактировалось respown, 09.07.2016 в 10:37.
Есть такой вопросец. В общем попытался я перехватить эту функцию с помощью удаленных потоков и перезаписью таблицы импорта на asterios.tm, но обнаружил для себя - что такого метода в их версии Engine.dll - попросту нет. Либо они его переписали под себя(изменили название методов) либо еще что. Не суть важно. Попытался - посмотреть под отладчиком что там вообще происходит, l2 при виде отладчика сразу критует, судя по всему так задуманно, так как они используют у себя АПИ функцию IsDebuggerPresent, и в случае если она вернет истину - просто критуют клиента. Решил значит я с помощью перетирания таблицы импорта просто заменить эту функцию своей. Но пока что безуспешно, либо я где то ошибся, либо они вызывают ее по хитрому, и нужно копать глубже. Так вот возникает вопрос - может уже кто то колупался на клиенте астериоса с этим ? Знает кто то, на какие функции они поменяли исходные?
Есть там все, без этого метода игра не будет работать, и он есть в таблице экспорта engine.dll, потому что l2.exe его импортирует, нельзя его выкинуть.
Есть там все, без этого метода игра не будет работать, и он есть в таблице экспорта engine.dll, потому что l2.exe его импортирует, нельзя его выкинуть.
dumpbin говорит об обратном + ко всему GetProcAdress возвращает нулевой указатель. В игре есть папка system и asterios, в папке system - лежит Engine.dll и в ней такой метод есть, но эту библиотеку игра не грузит. Они грузят engine.dll из папки asterios, а там такого метода нет. Более того, там в одном месте только упоминается название класса, в котором этот метод реализован(UNetworkHandler) или как то так, даже конструкторы данного класса отсуствуют в таблице импорта. Хотя в оригинальной версии библиотеки - они есть.
Астериос не так прост как кажется. Нужно скрывать себя, чтобы нормально отлаживать...
Я уже пробовал качать олю, кучу плагинов на скрытие, ничего не помогло, хотя через API Monitor можно хукать АПИ вызовы. Отладчиком пока не получилось подцепится.
они используют у себя АПИ функцию IsDebuggerPresent
Эту функцию никто всерьез не использует, существует множество других способов обнаружения отладчика. Я в этой теме не силен, но могу посоветовать использовать для Ольки соответствующие плагины (типа Phantom), так же можно переименовать Ольку во что-нибудь другое (поищи в инете как это правильно делать), ну и на XP эти плагины работают лучше за счет драйверов плагинов. Также в ряде случаев лучше работает подключение к уже работающему клиенту, чем попытка запускать клиент непосредственно из Ольки.
Цитата:
Сообщение от respown
dumpbin говорит об обратном + ко всему GetProcAdress возвращает нулевой указатель
Они используют библиотеки от Ertheia, после какого-то обновления данных хроник большинство вкусных классов и методов были убраны из экспорта, и поэтому их через GetProcAddress не найдешь, хотя они всё равно все остались внутри библиотеки.
Цитата:
Сообщение от respown
Я уже пробовал качать олю, кучу плагинов на скрытие, ничего не помогло
Их еще нужно верно настроить, но я здесь плохой советчик
Они используют библиотеки от Ertheia, после какого-то обновления данных хроник большинство вкусных классов и методов были убраны из экспорта, и поэтому их через GetProcAddress не найдешь, хотя они всё равно все остались внутри библиотеки.
есть мысли как найти адреса этих функций? Нужно не для Астериоса а вообще для реализации бота на АПИ на последних L2 хрониках.
есть мысли как найти адреса этих функций? Нужно не для Астериоса а вообще для реализации бота на АПИ на последних L2 хрониках.
Общая мысль очень простая: ищешь в библиотеке ссылки на созданные объекты UNetworkHandler и UGameEngine, а от них уже достаточно легко найдешь все интересующие методы. Все изыскания лучше начинать с предыдущих хроник и дальше данный алгоритм перенести на свеженький клиент.
Реализацию озвучивать не буду: кто реально захочет (и ранее разбирался с HF и подобными хрониками) за денек найдет решение.