Current time: 22.11.2024, 17:56 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 1054
Post: #91

Причем хук на ее нажатие именно в окне жилища. В замке все равно все в гарнизон нанимается. А герою все равно уже туда не попасть. Ab


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

Posts: 624
Post: #92

Quote:???
???
положение x -- вероятно, в пикселях
положение y -- вероятно, в пикселях
3 и 4 параметры - ширина и высота нажимаемой области.
07.09.2010 21:57
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #93

feanor, спасибо!


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

Posts: 197
Post: #94

Я обычно делаю так:
1. по названию дефа нахожу функцию создающую диалог с этой кнопкой.
2. запоминаю ID кнопки, он PUSHится прямо рядом с PUSHом имени дефа.
3. Ищу функцию обработки сообщений этого диалогового окна, ставя бряк на известную мне функцию, которая точно вызывается и з этого обработчика (например функция показа сообщения)
4. в функции обработки сообщений окна нахожу место где идет проверка на равенство ID нажатой кнопки тому который запомнил и вуаля.

Но не представляю сколько времени потребуется чтобы все это осуществить только с помощью Олли.
HexRays в ИДЕ - это моё всё.
08.09.2010 01:36
Find all posts by this user Quote this message in a reply
gamecreator Offline

Posts: 7107
Post: #95

(08.09.2010 01:36)baratorch Wrote:  Но не представляю сколько времени потребуется чтобы все это осуществить только с помощью Олли.
дилетантам типа меня или GhostManSD - около 15 минут.
Добавлено:
это, конечно, если использовать артмани для поиска текста


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
(This post was last modified: 08.09.2010 01:58 by gamecreator.)
08.09.2010 01:57
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #96



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

Posts: 2180
Post: #97

GhostManSD Wrote:Вот ищу я славный момент, когда же у нас
запускается окошко найма существ во внешнем жилище.
Иду этим путем. И что же? Результат для точек останова
сразу на три или четыре адреса - один: при первом же
запросе к окошку срабатывает точка останова. И бес его
знает, какой из адресов мне нужен.
Если тебе надо сделать что-то, не связанное непосредственно с диалогом, наверное, подойдёт любой.
Только лучше проверять на нескольких разных жилищах.
08.09.2010 17:21
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #98

Вопрос адресован в первую очередь baratorch. По поводу отлова адреса, где нажимается кнопка. Взять то же окошко найма, например. Ищем деф кнопки покупки. Нашли. Переходим на адрес (например, по адресу AAAAAA). Чуть ниже (по адресу AAAAAB) - то, что я называю BID (button id). BID=7802. Снова иду на строчку дефа, нажимаю стек вызова. Появляется окошко с вызовами, под каждым из вызовов идут строки в духе "[адрес]argument1=x", "[адрес]argument2=y", etc. Вместо x и y написаны адреса. Я так понимаю, мне нужно найти случай, где "argument#=[адрес, где расположен BID]", и поставить на него ловушку. Я верно понял твой способ? Поскольку нигде нет данных типа "если x=7802, прыгнем-ка мы туда...".


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

Posts: 7107
Post: #99

ну как же... сразу после того, как функция, которой передается ид кнопки, отработает, идет проверка возвращаемых значений что-нибудь типа cmp eax,1E7Ah


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
08.09.2010 19:51
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #100

Вот я именно это и имел в виду. Значит, угадал: сравнивается не BID, а его адрес. Спасибо.


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

Posts: 7107
Post: #101

какой еще адрес? сравнивается код кнопки!


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

Posts: 1054
Post: #102

То есть для кнопки с кодом ID=7802 должно быть cmp eax, 7802?


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

Posts: 1054
Post: #103

Подскажите, пожалуйста, за что отвечает этот адрес: 0x42437D.
Более подробная информация - здесь.


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

Posts: 7107
Post: #104

(08.09.2010 22:48)GhostManSD Wrote:  То есть для кнопки с кодом ID=7802 должно быть cmp eax, 7802?
я так и написал. но в олли ты увидишь только шестнадцатеричные значения, поэтому для тебя я перевел 7802: будет 1E7A. а буква h в конце значит что число записано в шестнадцатеричной системе исчисления.


When all gods have burnt to ashes in eternity of sorrow,
Demons gonna tear your soul because there is no tomorrow.
08.09.2010 23:46
Find all posts by this user Quote this message in a reply
GhostManSD Offline

Posts: 1054
Post: #105

Quote:для тебя я перевел 7802: будет 1E7A
Лол, мы просто друг друга не поняли. Ab Я и написал в hex, так, как отображается в окне Olly.


Κακῆς ἀπ' ἀρχῆς γίγνεται τέλος κακόν.
08.09.2010 23:51
Visit this user's website 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