Работа с памятью игры, exe
|
|
DK22Pac | Дата: Воскресенье, 11.07.2010, 21:27 | Сообщение # 16 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Странно, у меня постоянно вылетает из игры, я даже брал опкод из opcodes.txt p.s. Спасибо что всё расписал, я как бы понял, а вот что озачают var_ там где ещё аргументы записаны? p.s.s предыдущее предл. не озн. что я разобрался с непонятным вылетом.
Сообщение отредактировал DK22Pac - Воскресенье, 11.07.2010, 22:02 |
|
| |
Den_spb | Дата: Воскресенье, 11.07.2010, 22:50 | Сообщение # 17 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (DK22Pac) что озачают var_ там где ещё аргументы записаны? Имеешь ввиду в самом коде функции? Там используется значение, записанное в эту переменную (как в скриптах). Quote (DK22Pac) разобрался с непонятным вылетом. Я же объяснил, почему не работает вызов функции: 1) в эту функцию должно передаваться 2 параметра, а ты передаешь 1. 2) К адресу функции надо приписать 0x
|
|
| |
DK22Pac | Дата: Воскресенье, 11.07.2010, 23:00 | Сообщение # 18 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Вот адресс и опкод из opcodes.txt 05E2: call_function 0x4BC1E0 num_params 0 pop 0 0@ Вылет. Вот так писал тот 05E2: call_function 0x46B100 num_params 2 pop 2 10.0 10.0 Тоже вылет. При вылете выходит окно Unhandled conception (кажется так) c500000 At Adress 0046B100 (или очень похож на тот что я писал)
Сообщение отредактировал DK22Pac - Воскресенье, 11.07.2010, 23:03 |
|
| |
Den_spb | Дата: Воскресенье, 11.07.2010, 23:06 | Сообщение # 19 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Возможно, в 0@ записано некорректное значение параметра - посмотри в базе, что за функция 4BC1E0. Не стоит исключать и возможность глюка самой клео - если это так, то надо обратиться к Алиену.
|
|
| |
DK22Pac | Дата: Воскресенье, 11.07.2010, 23:09 | Сообщение # 20 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Я её искал но не нашёл там... Хм ну я думаю это наврятли библиотека это я неправильно пишу или может у меня эксе не такой. Ну я его спрошу он кажется есть на этом сайте.
|
|
| |
Den_spb | Дата: Воскресенье, 11.07.2010, 23:13 | Сообщение # 21 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (DK22Pac) Я её искал но не нашёл там... В поиске функций просто набери её адрес (без 0x). Quote (DK22Pac) Ну я его спрошу он кажется есть на этом сайте. Лучше на СБ спросить - там отдельные темы по клео VC и клео III.
|
|
| |
платон | Дата: Пятница, 30.07.2010, 09:34 | Сообщение # 22 |
Группа: Пользователи
Сообщений: 4
Статус: Offline
| как движок вскрыть?
|
|
| |
Den_spb1257 | Дата: Понедельник, 16.08.2010, 18:22 | Сообщение # 23 |
Группа: Администраторы
Сообщений: 6
Статус: Offline
| Открыть exe и внести изменения в него можно hex-редактором. Вместо внесения постоянных изменений в exe-файл, можно написать клео-скрипт, который будет редактировать копию exe, загружаемую в оперативную память при старте игры.
|
|
| |
платон | Дата: Пятница, 17.09.2010, 16:48 | Сообщение # 24 |
Группа: Пользователи
Сообщений: 4
Статус: Offline
| Den_spb1257, на hex-редактор есть ссыль?
|
|
| |
Den_spb | Дата: Пятница, 17.09.2010, 22:29 | Сообщение # 25 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| http://www.google.ru/search?....s_rfai=
|
|
| |
DK22Pac | Дата: Воскресенье, 19.09.2010, 00:28 | Сообщение # 26 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| А есть ли где-то список ID комманд ассемблера (mov, xor и тд, у return, C3 по-моему) И ещё. Вот в структуре потока есть определённое место, где находятся локальные переменные... На них выделено 128 байт (32*4). Так вот а что если это будут переменные с типом string?
|
|
| |
Den_spb | Дата: Воскресенье, 19.09.2010, 01:57 | Сообщение # 27 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (DK22Pac) А есть ли где-то список ID комманд ассемблера (mov, xor и тд, у return, C3 по-моему) http://sannybuilder.com/forums/viewtopic.php?id=41 - здесь перечислены основные команды. В той же теме есть ссылка на справочник, содержащий все команды. Quote (DK22Pac) И ещё. Вот в структуре потока есть определённое место, где находятся локальные переменные... На них выделено 128 байт (32*4). Так вот а что если это будут переменные с типом string? Стринговая переменная занимает место двух (короткая строка) или четырёх (длинная строка) переменных, идущих подряд. Например, если записать в переменную 0@s строку 'STRING', то переменная 0@ будет хранить 'STRI', а переменная 1@ будет хранить 'NG'. Подробнее об этом написано тут: http://sannybuilder.com/forums/viewtopic.php?pid=4124#p4124 Аналогичная ситуация и с массивами. Если мы выделяем, например, массив из четырёх элементов:Code var 0@: array 4 of Integer end то первый элемент будет храниться в 0@, второй - в 1@, третий - в 2@, четвёртый - в 3@. При этом записи и будут означать одно и то же.
|
|
| |
DK22Pac | Дата: Воскресенье, 19.09.2010, 10:35 | Сообщение # 28 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| Спасибо. Quote 0@ будет хранить 'STRI', а переменная 1@ будет хранить 'NG' При этом нельзя будет использовать переменную 1@ у себя в коде?
|
|
| |
Den_spb | Дата: Воскресенье, 19.09.2010, 17:39 | Сообщение # 29 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Если тебе уже не нужна эта строка, то можно продолжать использовать переменные по другому назначению. Ведь переменная - это просто набор из четырёх байтов, данные какого типа в ней хранятся - нигде не фиксируется.
|
|
| |
DK22Pac | Дата: Понедельник, 27.09.2010, 00:38 | Сообщение # 30 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| CPed::SetAttack((CEntity*)) Что значит CEntity в параметрах? И что значит символ (*)? CPed::FightStrike((CVector &)) Опять же... Как я понял, символ (&) значит что требуется поинтер на параметр?
|
|
| |