Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Разработка
Войти через OpenID

Разработка Раздел для совместной разработки/доработки программы

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 14.01.2013, 15:01   #1
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

Цитата:
Сообщение от St1mul Посмотреть сообщение
Я бросил уже затею с получением потока.
ThreadID можно получить с помощью WinSpy (в атаче ) Переводим из 16ричной системы в 10 и записываем в екзешник в константу ThreadId
очень умно задавать переменную ядра ОС как константу

Добавлено через 5 минут
Цитата:
Сообщение от maxilam Посмотреть сообщение
так и есть. но этого достаточно для работы с ними.
[code]

Сразу видно что в качестве параметра нужно передать указатель на L2ParamStack. А что там выполняется с ним дальше, для написания бота знать не обязательно

Вкладка IDA View-A, откуда и берем декорированое имя функции для импорта в нашу длл
Вложение 2793
там почти все функции принимают единственный агрумент - парамстек) это чето типа класса-обертки для массива параметров.
__________________
читернуть бы ништяг

Последний раз редактировалось mira, 14.01.2013 в 15:01. Причина: Добавлено сообщение
mira вне форума   Ответить с цитированием
За это сообщение mira нажился спасибкой от:
Старый 13.01.2013, 13:54   #2
Пользователь
 
Регистрация: 27.10.2009
Сообщений: 63
Сказал Спасибо: 6
Имеет 21 спасибок в 19 сообщенях
Demion пока неопределено
По умолчанию

Собрал "на коленке" только что. Вроде все работает, клиента ла2 проверить нет. Путь нужно указывать полный ("C:\\Library.dll") либо длл должна находится в Working Directory приложения (обычно около самого приложения). А так вообще готовых решений и примеров полно в интернете. Тема не редкая.
http://pastebin.com/y6q88adp

Последний раз редактировалось Demion, 13.01.2013 в 13:56.
Demion вне форума   Ответить с цитированием
За это сообщение Demion нажился спасибкой от:
Старый 13.01.2013, 23:10   #3
Местный
 
Аватар для goodvin1709
 
Регистрация: 13.02.2011
Сообщений: 506
Сказал Спасибо: 121
Имеет 100 спасибок в 83 сообщенях
goodvin1709 пока неопределено
По умолчанию

Жаль что все исходники в С++ а не делфе( может делфи наброски будут?
__________________
---------------------------__--------__-----
---____- ___--____--- ___/'- /__ ___-(__)-____
--/-___-/-__-\/-__--\ /-__--'/--|-/--//---//--__--\
-/-/_/ -/-/_/--/-/_/--/-/_/--/|--|/--'//---//--/-/--/
-\___-/\____/\____/\____/-|____//__'//_'/-/__/
/_-__/
goodvin1709 вне форума   Ответить с цитированием
Старый 14.01.2013, 04:53   #4
Пользователь
 
Регистрация: 27.10.2009
Сообщений: 63
Сказал Спасибо: 6
Имеет 21 спасибок в 19 сообщенях
Demion пока неопределено
По умолчанию

Не сильно то отличается от сишного кода

http://pastebin.com/0b43ha6d
Demion вне форума   Ответить с цитированием
Старый 14.01.2013, 06:29   #5
Местный
 
Аватар для St1mul
 
Регистрация: 03.12.2011
Сообщений: 133
Сказал Спасибо: 63
Имеет 19 спасибок в 16 сообщенях
St1mul пока неопределено
По умолчанию

Еще один вопрос специалистам: как вы выковыриваете функции
Вот хоть убейте IDA не может найти UnetworkHandler::Say2
она как бы его видит и показывает в списках экспорта, но на месте которое указано какие то левые байты.
Я так предполагаю, что это из за TheMida компресии
Есть ли какие то особые настройки у гуру? или же плагины?
St1mul вне форума   Ответить с цитированием
Старый 14.01.2013, 06:40   #6
Пользователь
 
Регистрация: 27.10.2009
Сообщений: 63
Сказал Спасибо: 6
Имеет 21 спасибок в 19 сообщенях
Demion пока неопределено
По умолчанию

А что ты именно хочешь узнать? Параметры экспортируемой функции?
Demion вне форума   Ответить с цитированием
Старый 14.01.2013, 06:46   #7
Местный
 
Аватар для St1mul
 
Регистрация: 03.12.2011
Сообщений: 133
Сказал Спасибо: 63
Имеет 19 спасибок в 16 сообщенях
St1mul пока неопределено
По умолчанию

Цитата:
А что ты именно хочешь узнать? Параметры экспортируемой функции?
нет, я хочу узнать действия совершаемые этой функцией
параметры написаны в скобочках, че их искать
еще бы мне кто объяснил мне боту, как посмотреть древо вызовов: откуда могут совершать jmp и помещать в стек адрес начала функции
St1mul вне форума   Ответить с цитированием
Старый 14.01.2013, 07:16   #8
Пользователь
 
Регистрация: 27.10.2009
Сообщений: 63
Сказал Спасибо: 6
Имеет 21 спасибок в 19 сообщенях
Demion пока неопределено
По умолчанию

Я думал, что экспортные функции отображены в декорированном виде (?Foooo@@YAXXZ).

Адрес возврата лежит в стеке над параметрами (EBP + 4). Функции вызываются с помощью call, не jmp, если я правильно понял о чем речь.

Полагаю, чтобы работать с длл в дизассемблере, она должна быть распакована.
http://fyyre.ivory-tower.de/ - здесь можно поискать некоторые распакованные библиотеки некоторых хроник.
В принципе имплементация каких-то основных методов, может не меняться от хроник в хроники.
Demion вне форума   Ответить с цитированием
Старый 14.01.2013, 08:40   #9
Пользователь
 
Регистрация: 27.08.2010
Сообщений: 46
Сказал Спасибо: 6
Имеет 19 спасибок в 12 сообщенях
maxilam пока неопределено
По умолчанию

Цитата:
Сообщение от Demion Посмотреть сообщение
Я думал, что экспортные функции отображены в декорированном виде (?Foooo@@YAXXZ).
так и есть. но этого достаточно для работы с ними.
Код:
GetNextCreature_Original:= GetProcAddress(hMod,'?GetNextCreature@UNetworkHandler@@UAEPAUUser@@MH@Z');
все экспортируемые функции и их параметры можно посмотреть в IDAPro не снимая защиты с длл

Вкладка Exports в IDAPro
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 80
Размер:	120.8 Кб
ID:	2792
Сразу видно что в качестве параметра нужно передать указатель на L2ParamStack. А что там выполняется с ним дальше, для написания бота знать не обязательно

Вкладка IDA View-A, откуда и берем декорированое имя функции для импорта в нашу длл
Нажмите на изображение для увеличения
Название: 2.jpg
Просмотров: 75
Размер:	127.6 Кб
ID:	2793

Последний раз редактировалось maxilam, 14.01.2013 в 09:24.
maxilam вне форума   Ответить с цитированием
Старый 14.01.2013, 14:39   #10
Местный
 
Аватар для St1mul
 
Регистрация: 03.12.2011
Сообщений: 133
Сказал Спасибо: 63
Имеет 19 спасибок в 16 сообщенях
St1mul пока неопределено
По умолчанию

maxilam, у тебя какая IDA?
проблема в том, что во в вкладке View A левые байты
залей твой engine.dll сюда если не сложно, и ссылку на твою IDA

Попробую по другому написать рукописную программу считывающую байты с адресса функции и потом записывающую в txt файл

Последний раз редактировалось St1mul, 14.01.2013 в 14:43.
St1mul вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Разработка



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

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


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

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

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