Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Artjemka
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 16
#1

Довольно сложная задачка (как можно добыть функцию?) - C++

29.12.2012, 21:30. Просмотров 527. Ответов 11
Метки нет (Все метки)

Вопрос заключается в следующем: как можно добыть функцию? Допустим есть он-лайн игра (многим известная, Point Blank), мне надо порыскать в клиенте, и поискать функции... С чего начинать и чем рыть?


Вот к примеру код функции (вставляемый в заголовочный файл *.h), он же как-то и кем-то был изначально найден вручную. Мне нужно узнать, как искать подобного рода функции?


P.s. это антиотдача...

C++
1
2
DWORD ADDRES_Antioda_1=(DWORD)GetModuleHandleA("PointBlank.exe")+0x6371DA;
DWORD ADDRES_Antioda_2=(DWORD)GetModuleHandleA("PointBlank.exe")+0x63733A;
Добавлено через 2 часа 7 минут
Не уж то ли никто не знает?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2012, 21:30     Довольно сложная задачка (как можно добыть функцию?)
Посмотрите здесь:

C++ Довольно странно.
добыть цифру из числа C++
подскажите, как можно написать функцию полного сокращения рационального числа. C++
C++ Как решается эта сложная задача
г-но код или можно ли передать метку (от гоуту) в функцию как параметр? C++
Как можно функцию описаную в одном файле включить во все файлы проекта C++
Можно ли как-то передавать в функцию то поле, какое нужно печатать C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
7066 / 5243 / 263
Регистрация: 10.12.2010
Сообщений: 23,070
Записей в блоге: 17
29.12.2012, 21:50     Довольно сложная задачка (как можно добыть функцию?) #2
Вопрос идиотский ...

У тя что исходники игры есть ?
Artjemka
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 16
29.12.2012, 21:54  [ТС]     Довольно сложная задачка (как можно добыть функцию?) #3
Цитата Сообщение от Avazart Посмотреть сообщение
Вопрос идиотский ...

У тя что исходники игры есть ?
Нет, но есть волшебная программка IDA PRO, которая может открыть клиент игры...
Avazart
7066 / 5243 / 263
Регистрация: 10.12.2010
Сообщений: 23,070
Записей в блоге: 17
29.12.2012, 21:59     Довольно сложная задачка (как можно добыть функцию?) #4
А определение ф-ции её сигнатуру как вы собираетесь вытащить ?

Если если ф-ции находятся не в секции экспорта то их в ряд ли можно вытащить по крайней мере таким образом.
Nagdiel
114 / 114 / 3
Регистрация: 23.12.2012
Сообщений: 195
29.12.2012, 22:22     Довольно сложная задачка (как можно добыть функцию?) #5
Ну разве что перехватывать вызовы системных функций, для них сигнатура известна.
Avazart
7066 / 5243 / 263
Регистрация: 10.12.2010
Сообщений: 23,070
Записей в блоге: 17
29.12.2012, 22:24     Довольно сложная задачка (как можно добыть функцию?) #6
Цитата Сообщение от Nagdiel Посмотреть сообщение
для них сигнатура известна.
Откуда ?
Nagdiel
114 / 114 / 3
Регистрация: 23.12.2012
Сообщений: 195
29.12.2012, 22:35     Довольно сложная задачка (как можно добыть функцию?) #7
Avazart, из Win API. Грубо говоря, следующий пример. Допустим знаем, что программа где-то выкидывает MessageBox. Перехватываем вызов соответсвующей API и смотрим, что там рядом. Вообщем все равно нужны какие-то априорные знания о том, как работает программа.
Avazart
7066 / 5243 / 263
Регистрация: 10.12.2010
Сообщений: 23,070
Записей в блоге: 17
29.12.2012, 22:37     Довольно сложная задачка (как можно добыть функцию?) #8
Ну так как узнаешь сколько там параметров и какой тип этих параметров... а что если там пользовательский тип в параметрах ?
Nagdiel
114 / 114 / 3
Регистрация: 23.12.2012
Сообщений: 195
29.12.2012, 22:43     Довольно сложная задачка (как можно добыть функцию?) #9
Avazart, мне показалось из поста топикстартера, что нужны адреса функций. А с тем, что определить их сигнатуру едва ли будет легко, я полностью согласен.
Artjemka
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 16
29.12.2012, 22:57  [ТС]     Довольно сложная задачка (как можно добыть функцию?) #10
Цитата Сообщение от Nagdiel Посмотреть сообщение
Avazart, мне показалось из поста топикстартера, что нужны адреса функций. А с тем, что определить их сигнатуру едва ли будет легко, я полностью согласен.
Ну, мне кажется что сигнатуры мне не понадобятся, но это смотреть буду позже... Там есть метки, на некоторых адресах, типа "Weapon:damage", но я не уверен что там метки на каждой функции\адресе...
Nagdiel
114 / 114 / 3
Регистрация: 23.12.2012
Сообщений: 195
30.12.2012, 00:01     Довольно сложная задачка (как можно добыть функцию?) #11
Цитата Сообщение от Artjemka Посмотреть сообщение
Вопрос заключается в следующем: как можно добыть функцию? Допустим есть он-лайн игра (многим известная, Point Blank), мне надо порыскать в клиенте, и поискать функции... С чего начинать и чем рыть?
Artjemka, посмотрите книгу Криса Касперски Искусство дизасемблирования. Судя по ее оглавлению, там Вы найдете ответ на свой вопрос.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.12.2012, 15:19     Довольно сложная задачка (как можно добыть функцию?)
Еще ссылки по теме:

C++ Можно ли объявить дружественную функцию как шаблон?
C++ Добыть максимально длинную прогрессирующую последовательность
C++ Задачка, если можно с ответом, нужен только ответ)
C++ Как можно чуть отредактировать вспомогательную функцию?
C++ Как реализовать функцию-член, которую можно вызвать только один единственный раз?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Artjemka
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 16
30.12.2012, 15:19  [ТС]     Довольно сложная задачка (как можно добыть функцию?) #12
Цитата Сообщение от Nagdiel Посмотреть сообщение
Artjemka, посмотрите книгу Криса Касперски Искусство дизасемблирования. Судя по ее оглавлению, там Вы найдете ответ на свой вопрос.
Благодарю. Буду смотреть. Если не найду, снова обращусь на форум =) Единственный живой форум программистов...
Yandex
Объявления
30.12.2012, 15:19     Довольно сложная задачка (как можно добыть функцию?)
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru