Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Artjemka
0 / 0 / 0
Регистрация: 19.11.2012
Сообщений: 16
#1

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

29.12.2012, 21:30. Просмотров 570. Ответов 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 минут
Не уж то ли никто не знает?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2012, 21:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Довольно сложная задачка (как можно добыть функцию?) (C++):

Очень сложная задачка, программисты, сюда!
Я загадал два двузначных числа. Ваша задача – отгадать их. Я сообщаю вам:...

Написать программу, которая создает строку. ( сложная задачка )
Написать программу, которая создает строку, состоящий из степеней от одного до...

Задачка на массивы (описать функцию случайной генерации элементов массива, а за тем логическую функцию)
Необходимо описать функцию случайной генерации элементов массива, а за тем...

Как подключить функцию? Как это можно исправить?
#include<stdio.h> #include<math.h> #include<conio.h> #include<iostream>...

Как можно посчитать эту функцию?
Фото во вложении

Как можно чуть отредактировать вспомогательную функцию?
Вспомогательная функция возвращает значение равное сумме текущего элемента...

11
Avazart
Эксперт С++
7678 / 5587 / 542
Регистрация: 10.12.2010
Сообщений: 25,061
Записей в блоге: 17
29.12.2012, 21:50 #2
Вопрос идиотский ...

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

У тя что исходники игры есть ?
Нет, но есть волшебная программка IDA PRO, которая может открыть клиент игры...
0
Avazart
Эксперт С++
7678 / 5587 / 542
Регистрация: 10.12.2010
Сообщений: 25,061
Записей в блоге: 17
29.12.2012, 21:59 #4
А определение ф-ции её сигнатуру как вы собираетесь вытащить ?

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

Можно ли объявить дружественную функцию как шаблон?
Так всё работает: template<class T> class random { /*всячина*/...

Можно ли передать указатель на функцию как параметр другой функции?
В общем, вопрос. Можно ли, допустим ... int fun1(int x) { ... ... ......

Можно ли как-то передавать в функцию то поле, какое нужно печатать
Доброго времени суток, форумчане. Имеется такая конструкция. void print() {...

Задачка, если можно с ответом, нужен только ответ)
В клубе собрались 14 путешественников. Когда зашел разговор о стране N,...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

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