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

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

Восстановить пароль Регистрация
 
Artjemka
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 16
29.12.2012, 21:30     Довольно сложная задачка (как можно добыть функцию?) #1
Вопрос заключается в следующем: как можно добыть функцию? Допустим есть он-лайн игра (многим известная, 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++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,604
Записей в блоге: 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
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,604
Записей в блоге: 17
29.12.2012, 21:59     Довольно сложная задачка (как можно добыть функцию?) #4
А определение ф-ции её сигнатуру как вы собираетесь вытащить ?

Если если ф-ции находятся не в секции экспорта то их в ряд ли можно вытащить по крайней мере таким образом.
Nagdiel
 Аватар для Nagdiel
114 / 114 / 3
Регистрация: 23.12.2012
Сообщений: 195
29.12.2012, 22:22     Довольно сложная задачка (как можно добыть функцию?) #5
Ну разве что перехватывать вызовы системных функций, для них сигнатура известна.
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,604
Записей в блоге: 17
29.12.2012, 22:24     Довольно сложная задачка (как можно добыть функцию?) #6
Цитата Сообщение от Nagdiel Посмотреть сообщение
для них сигнатура известна.
Откуда ?
Nagdiel
 Аватар для Nagdiel
114 / 114 / 3
Регистрация: 23.12.2012
Сообщений: 195
29.12.2012, 22:35     Довольно сложная задачка (как можно добыть функцию?) #7
Avazart, из Win API. Грубо говоря, следующий пример. Допустим знаем, что программа где-то выкидывает MessageBox. Перехватываем вызов соответсвующей API и смотрим, что там рядом. Вообщем все равно нужны какие-то априорные знания о том, как работает программа.
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,604
Записей в блоге: 17
29.12.2012, 22:37     Довольно сложная задачка (как можно добыть функцию?) #8
Ну так как узнаешь сколько там параметров и какой тип этих параметров... а что если там пользовательский тип в параметрах ?
Nagdiel
 Аватар для 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
 Аватар для 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++

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

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

Текущее время: 11:22. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru