По адресу _http://ifolder.ru/7358607 скачал crackme. проблема в следующем: убиться веником, но я никак не пойму как сделать поле для ввода активным и как подгрузить кнопку... С текстом ввода вчера провозился - возможно я ошибаюсь - но проблема там с параметрами функции SetWindowTextA, а именнов в родителе его вызвавшего. Но опять таки это лишь предположение. Поэтому решил отдать на растерзание людям, опыта у которых более, чем у меня.Буду благодарен за подробное объяснение.
смотреть сабж нет времени, но, как я понимаю, 4тобы сделать поле ввода активным (как и любое другое окно), достато4но ему послать сообщение WM_ENABLED 1. а еще проще использовать олькин плагин WindowJuggler (http://tuts4you.com/download.php?view.113)
Смотря на чем написана программа (может и не иметь значения), при создании контрола (кнопка, едит, мемо...) в Delphi используется функция CreateWindowEx, которая кладет в стек параметры отображения созданного контрола, так вот твоя задача изменить аргумент передаваемый стеку (WS_DISABLE сделать WS_ENABLE) WS_DISABLE = 58 WS_ENABLE = 50 Залей на вебфайл, скачать не могу.
))) да я на это его первым делом и проверил. На самом деле большой проблемы нет при реверсинге программ пожатых упх (благо она не динамически распаковывается). Но все равно спасибо за совет)))
Как работает плагин я разобрался. Еще один вопрос: как можно сохранить результат работы, т.е. я с помщью него разблокировал и окно ввода и кнопку, но 1. Я не понял где плагин меняет значение (пробовал ставить bp on write, но olly просто зависала). 2. Всеми знакомыми мне методами пытался найти значения Wnd Handle и Wnd Id в дампе. но тож успехов нет((
Если не ошибаюсь, то плагин работает на лету (сохранить изменения нельзя) внесенные плагином. В крэкми используетеся DialogBoxParam, следовательно лепится интерфейс из ресурса(не используется CreateWindowEx). Распакуй файл посмотри импортируемые функции и сделай вывод может, та или иная припятствовать отображению контрола.
А че тут сложного, crackme запакован UPX, распаковавыешь, затем REShackerom правишь ресурсы (кнопку и эдитбокс), потом трейсишь иполучаешь код "I'm no patcher!"