Current time: 29.11.2024, 03:55 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Исследование героев
» туториал(ы)
Author Message
MOP Offline
Moderators

Posts: 1468
Post: #46

(01.09.2010 21:22)Berserker Wrote:  Хотя может МОР что посоветует, он вроде как обходился без азов программирования.
Ну... что я делал без азов программирования? Баловался с Артмани и только. Правда, мне удалось увеличить кол-во монстров и артефактов, но ведь это и не требовало знаний асма. Просто перенаправление указателей, перенесение таблиц и увеличение максимального кол-ва по некоторым адресам. Что к чему лежит и что представляют собой циферки в окошке АртМани - оставалось тёмным лесом.
А первое, что я сделал в Olly - отключил Маскировку и передал контроль её колдовства ERM-функции. Просто подсмотрел, как такое проделал Феанор с книжкой колдовства Сказочного Дракона. На тот момент единственной мне понятной командой асма была jmp.


Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery
(This post was last modified: 01.09.2010 21:58 by MOP.)
01.09.2010 21:57
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #47

(01.09.2010 21:45)Berserker Wrote:  на прочтение одной лишь спецификации по которым уйдёт пол жизни
а можно мне эту спецификацию? хоть раз в жизни почитаю.


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
01.09.2010 22:00
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #48

Страуструп "Язык программирования C++"
Стандарты СИ 89, 99


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
01.09.2010 22:06
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #49

(01.09.2010 21:22)Berserker Wrote:  
Quote:О Боже... Х_Х
Я бы начал с обычного: wasm.ru Введение в крекинг с нуля. Хотя может МОР что посоветует, он вроде как обходился без азов программирования.

Bers, самое интересное, что я с этого и начал. Ab Нравится, хорошее руководство, и впрямь для чайников. А то с Калашниковым как-то не пошло...


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
01.09.2010 22:13
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #50

Я в своё время Калашникова прочитал, только тольку-то? ДОС уже мёртв, как и 16-битный режим. Фактически, под винду совсем другой ассемблер. Ещё можно глянуть туториалы Изелона. Там, правда, основной упор на WinApi, это чуть позже.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
01.09.2010 22:18
Find all posts by this user Quote this message in a reply
MOP Offline
Moderators

Posts: 1468
Post: #51

У меня тоже Калашников есть. Sm Тоже читал... засыпая над одной и той же главой. То есть, обучение получилось чисто практическое - OllyDbg + справка по командам ассемблера.


Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery
01.09.2010 22:27
Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 624
Post: #52

Собственно, для реверсинженеринга нужен именно язык с близостью к ассемблеру и минимальной типизацией. Паскалевские указатели наводят на меня тоску, необходимость явного приведения типов чуть ли не при перегоне из символа в число - напрягает.
___________________
Я реверсинженерингом Героев занялся после успешной сдачи экзамена по АЭВМ (ну то бишь по основам ассемблера).
До этого правда был небольшой опыт ковыряния дампов мобильников
(брр..отсутствие толковых отладчиков, любая ошибка в коде роняет все к чертям собачьим, никакая плавающая арифметика - короче, адЪ кромешный)
, но ARM таки несколько отличается от x86 :D
01.09.2010 22:37
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #53

(01.09.2010 22:06)Berserker Wrote:  Страуструп "Язык программирования C++"
Стандарты СИ 89, 99
и что там такого страшного?


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
01.09.2010 22:43
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16657
Post: #54

Quote:Собственно, для реверсинженеринга нужен

   Для обратного инжиниринга нужен отладчкик и/или дизассемблер. А вот писать плагины и серьёзные вещи нужно как раз-таки на безопасных языках. Ассемблер в паскале толковый, приведение типов нужно редко (и уж точно не для перевода символ-код для которых везде есть функции ord/chr), а когда нужно - делается осознанно и остаётся при этом низкоуровневым. Символ ^ - дело привычки. Выглядит не элегантно, но не так ужасно, как, простите, уродливая перегрузка математического оператора "*" или СИ++ вариант перегрузки СИ++ операции И "&". Впрочем, ко всему привыкаешь, я синтаксиса специально не касался.
   Тот, кто пишет часто на динамических языках, понимает, насколько сильно важна строгая типизация для создания хоть сколько-нибудь надёжных систем. Мой опыт программирования на PHP и JavaScript твердит, что даже эмуляция типизации позволяет словить орду ошибок ещё на ранних стадиях выполнения. Иначе мы имеем дело с уже известным законом, что написание кода отнимает 10% времени, отладка 90% + никакой гарантии, что код корректен или в будущем не обвалится.
   В общем всё это субъективный опыт, так что лучше вернёмся к предмету темы.
Добавлено:
Quote:и что там такого страшного?
Ничего, кроме over 1100 страниц текста + бесконечного упоминания, что реализация той или иной фичи зависит от компилятора.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
01.09.2010 22:51
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #55

Как-то содержание темы немного стало выходить за пределы "Героев". Ab


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
01.09.2010 22:54
Visit this user's website Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #56

Пфф, прочитал и почти полностью осилил первые 4 статьи из "Введения в крэкинг с нуля". На сегодня хорош, а завтра повторим.


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
(This post was last modified: 02.09.2010 01:20 by GhostManSD.)
02.09.2010 01:19
Visit this user's website Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #57

Сразу большая просьба к тем, кто давно этим занимается: было бы, наверное, неплохо составить список адресов - какой адрес за что отвечает. И отправить этот список, например, в первый пост. Первое, что привожу на данную тему, - адрес, найденный Сергроем:

0x4DAF06 - после повышения уровня любого героя


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
02.09.2010 11:44
Visit this user's website Find all posts by this user Quote this message in a reply
feanor Offline

Posts: 624
Post: #58

02.09.2010 12:30
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #59

Камрады, пожалуйста, подскажите, какой адресок отвечает за активацию/деактивацию кнопки "Журнал" на карте приключений. Или, что тоже неплохо, подскажите способ поиска этого адреса. Искать пробовал так: ставил герою 999 копейщиков, ставил штук 20 стражей прохода с требованием принести 1 копейщика и, подходя к очередному стражу, отдавал или не отдавал копейщика. В артмани искал неизвестное значение, и, в зависимости от отдачи или невыдачи копейщика и изменения кнопки "Журнал" (всегда старался, чтобы в журнале было максимум одно задание), нажимал "Отсеять -> значение изменилось/не изменилось". Не нашел. Впрочем, тут и способ дурной.


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
04.09.2010 10:53
Visit this user's website Find all posts by this user Quote this message in a reply
MOP Offline
Moderators

Posts: 1468
Post: #60

Простейший способ - сменить id кнопки на какой-нибудь незаюзанный:
Кнопка теперь будет иметь CM:I = 50, станет нажимаемой всегда, но утратит свою функцию и подсказки по ПКМ и наведении мыши. Но это, думаю, то, что тебе и надо.


Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery
(This post was last modified: 04.09.2010 11:18 by MOP.)
04.09.2010 10:59
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group