PDA

Просмотр полной версии : Нужен совет


buzulukland
16.07.2008, 09:18
По адресу
_http://ifolder.ru/7358607
скачал crackme. проблема в следующем: убиться веником, но я никак не пойму как сделать поле для ввода активным и как подгрузить кнопку... С текстом ввода вчера провозился - возможно я ошибаюсь - но проблема там с параметрами функции SetWindowTextA, а именнов в родителе его вызвавшего. Но опять таки это лишь предположение. Поэтому решил отдать на растерзание людям, опыта у которых более, чем у меня.Буду благодарен за подробное объяснение.

ProTeuS
16.07.2008, 11:47
смотреть сабж нет времени, но, как я понимаю, 4тобы сделать поле ввода активным (как и любое другое окно), достато4но ему послать сообщение WM_ENABLED 1. а еще проще использовать олькин плагин WindowJuggler (http://tuts4you.com/download.php?view.113)

0verbreaK
17.07.2008, 20:29
Смотря на чем написана программа (может и не иметь значения), при создании контрола (кнопка, едит, мемо...) в Delphi используется функция CreateWindowEx, которая кладет в стек параметры отображения созданного контрола, так вот твоя задача изменить аргумент передаваемый стеку (WS_DISABLE сделать WS_ENABLE)

WS_DISABLE = 58
WS_ENABLE = 50

Залей на вебфайл, скачать не могу.

buzulukland
18.07.2008, 09:20
Смотря на чем написана программа (может и не иметь значения), при создании контрола (кнопка, едит, мемо...) в Delphi используется функция CreateWindowEx, которая кладет в стек параметры отображения созданного контрола, так вот твоя задача изменить аргумент передаваемый стеку (WS_DISABLE сделать WS_ENABLE)

WS_DISABLE = 58
WS_ENABLE = 50

Залей на вебфайл, скачать не могу.

Сделано _http://webfile.ru/2097688

0verbreaK
20.07.2008, 00:15
Она упх'ом пожата! Ее пожатую надо пропатчить или распаковать и пропатчить?

buzulukland
20.07.2008, 12:00
Она упх'ом пожата! Ее пожатую надо пропатчить или распаковать и пропатчить?


))) да я на это его первым делом и проверил. На самом деле большой проблемы нет при реверсинге программ пожатых упх (благо она не динамически распаковывается). Но все равно спасибо за совет)))

buzulukland
20.07.2008, 12:41
смотреть сабж нет времени, но, как я понимаю, 4тобы сделать поле ввода активным (как и любое другое окно), достато4но ему послать сообщение WM_ENABLED 1. а еще проще использовать олькин плагин WindowJuggler (http://tuts4you.com/download.php?view.113)


Как работает плагин я разобрался. Еще один вопрос: как можно сохранить результат работы, т.е. я с помщью него разблокировал и окно ввода и кнопку, но
1. Я не понял где плагин меняет значение (пробовал ставить bp on write, но olly просто зависала).
2. Всеми знакомыми мне методами пытался найти значения Wnd Handle и Wnd Id в дампе. но тож успехов нет((

0verbreaK
24.07.2008, 20:17
Если не ошибаюсь, то плагин работает на лету (сохранить изменения нельзя) внесенные плагином.

В крэкми используетеся DialogBoxParam, следовательно лепится интерфейс из ресурса(не используется CreateWindowEx). Распакуй файл посмотри импортируемые
функции и сделай вывод может, та или иная припятствовать отображению контрола.

Flint_ta
01.08.2008, 19:47
А че тут сложного, crackme запакован UPX, распаковавыешь, затем REShackerom правишь ресурсы (кнопку и эдитбокс), потом трейсишь иполучаешь код "I'm no patcher!"

0verbreaK
04.08.2008, 21:58
Flint_ta есть же такие крэкми в которых надо патчить на лету.