![]() |
eXeL@B —› Вопросы новичков —› Помогите брякнуть окно pls |
Посл.ответ | Сообщение |
|
Создано: 26 июля 2006 11:12 · Поправил: acid spirit · Личное сообщение · #1 |
|
Создано: 26 июля 2006 11:59 · Личное сообщение · #2 А на что ты пробовал ставить бряки?Попробуй на MessageBoxA,MessageBoxW,MessageBoxIndirectA.А ввод данных попробуй через - GetWindowTextA,GetDlgitem,GetDltItemTextA.Ну еще можешь моим топорным методом отловить нажатие на кнопку и там найти ввод данных - чЕрез SendMessageA.Потому, очень часто (не всегда) сообщение отправляется именно этой функцией. ![]() |
|
Создано: 26 июля 2006 14:26 · Личное сообщение · #3 |
|
Создано: 26 июля 2006 14:53 · Личное сообщение · #4 Программа запакована новым аспротект. Я ума не вставлю чтобы ее распаковать. Снял с нее дамп (естественно не работающий), но узнал, что написана она на Delphi. Ресурсы вытянул. Деделфи ей сделал. На этой форме frmRegistration: TfrmRegistration Developer Express компоненты В процедуре есть функция procedure TfrmRegistration.btnOkClick(Sender : TObject); и есть TfrmRegistration.FormKeyPress(Sender : TObject); все вышеперечисленные бряки не работают... ни Get ни Message.... :/ Я может чего не понимаю, но нету бряка на showmessage, шоумессадж это процедура делфи. Но окно с ругательством это созданная программой форма... Вот только как на нее выйти? ![]() |
|
Создано: 26 июля 2006 15:09 · Личное сообщение · #5 |
|
Создано: 27 июля 2006 08:40 · Личное сообщение · #6 |
|
Создано: 27 июля 2006 08:50 · Личное сообщение · #7 |
|
Создано: 27 июля 2006 09:32 · Поправил: tundra37 · Личное сообщение · #8 acid spirit пишет: Программа запакована аспаком, бряк не срабатывает Вообще-то не мешало бы статейки почитать. Я ломаю программы не первый год, но не гнушаюсь изучать чужой опыт. Аспротект одолел только с пятого раза. А если бы воспользовался поиском по форуму, то вообще может нашел автоматический распаковщик. ![]() |
|
Создано: 27 июля 2006 11:19 · Личное сообщение · #9 hell Вот тут GSnotes.exe - acid.bofh.ru/GoldenSection_Notes.rar Это очень удобный, во всяком случае субъективно, хранитель различной информации, я около 50 видел, это на мой взгляд лучший. tundra37 Стриппер не берет эту прогу. ![]() Сама программа запакована Version: ASProtect 2.3 SKE build 06.26 Beta [Extract] Дамп с нее не рабочий на делфе написан. Деде ее берет кое как, ресурсы вытащить можно и т.п. Но упакованность мешает. ![]() ![]() |
|
Создано: 27 июля 2006 11:24 · Личное сообщение · #10 |
|
Создано: 27 июля 2006 12:40 · Личное сообщение · #11 |
|
Создано: 27 июля 2006 13:04 · Личное сообщение · #12 acid spirit пишет: Стриппер не берет эту прогу Ну так поэтому я и написал только с пятого раза . И скрипты пробовал и стрипперы. По моему помог какой-то скрипт к олли из вновь докачанных. Но до этого я научился распаковывать руками. До конца правда не распаковал - просто не хватило терпения, да и делал все чисто из интереса. Black9_Byte пишет: Ты же говорил, что там аспак?Уже аспр? Кстати, читая про стриппер, прочел что он распаковывает аспак и аспр ?! Это точно не опечатка, т.к. стриппер выдает списочек версий. ![]() |
|
Создано: 27 июля 2006 15:12 · Личное сообщение · #13 Тут фишка уже идет не в том, чтобы распаковать, а хотя бы зарегистрировать под дебагером. Остальное прийдет, ведь ничто не должно мешать бряканию на распакованную работающую программу... Но никакие хендлы вышеуказанные не брякают. ![]() Вообще в этой форме регистрации есть процедура онформкейпресс, может как то ее выловить? ![]() ![]() |
|
Создано: 27 июля 2006 15:27 · Личное сообщение · #14 |
|
Создано: 27 июля 2006 15:41 · Поправил: acid spirit · Личное сообщение · #15 |
|
Создано: 27 июля 2006 16:27 · Поправил: Hellspawn · Личное сообщение · #16 как делаю я в таких случаях, перед нами плохое окно, жмём в олли паузу, потом отпускаем прогу по F8, жмём на нашем окне "ок" (или чё там у нас), возвращаемся в олли и исследуем код ![]() прежде чем выйти к нормальному коду) ![]() з.ы. попробуй Source Rescuer ----- [nice coder and reverser] ![]() |
|
Создано: 27 июля 2006 17:35 · Личное сообщение · #17 1) Программа позволяет делать аттач и ставить бряки. 2) Аттачим DeDe и после обработки ставим галку "include TXT event handler RVA description" и сохраняем файлы. В evetns.txt видим, где можно прерваться : TfrmRegistration.btnOkClick 008DED54 3) Олли прекрасно останавливается на 008DED54 4) Т.к. программа стоит всего 500 р. больше помогать не буду ![]() ![]() |
|
Создано: 28 июля 2006 08:14 · Личное сообщение · #18 Hellspawn Спасибо, буду пытаться разбираться. tundra37 Фишка в том, что я Олей не умел пользоваться. Адрес этот у меня второй день на листочке записан. Можно просто в деде по кнопке щелкнуть и она выскочит на этом адресе. Но в любом случае большое спасибо! Спасибо всем за то, что поддерживаете. Я совсем не скрываю того, что являюсь новичком в этом деле, п.э. даже такие наброски многое значат. ![]() |
|
Создано: 28 июля 2006 09:01 · Личное сообщение · #19 acid spirit Ну так бы и сказал. В олли в окне CPU( где дизассемблер) кликаешь на правой кнопке мыша. Вываливается меню(я всегда и везде правую кнопку проверяю и тебе советую), там выбираешь Goto и Expression. В Expression вводишь нужный адрес и смотришь дизассемблер и можешь ставить бряк. Для совсем новичков ![]() Я вылавливал сравнение строк в system.@LStrCmp на другой программе, но судя по отсутствию защиты от аттача DeDe здесь тоже должно сработать. Делая бряки на LStrxxx лови регистрационные данные и смотри, что с ними делают. Обычно все-таки сравнение маскируют, но если автор не мазохист, то со строками должен работать через стандартные функции и все равно выйдешь на сравнение. ![]() |
|
Создано: 28 июля 2006 12:19 · Личное сообщение · #20 Вроде бы брякать научился, и туда сюда, так сказать... Сдвиги есть! ![]() ![]() вот этот кол 008DED5C E81BFEFFFF call 008DEB7C 008DED61 84C0 test al, al отправил сюда -> 008DED63 7429 jz 008DED8E Мимо теста. Только это всего лишь вывод окошка. :/ Ну я хотя бы знаю как оно должно выглядеть. А на LStrCMP, что я нашел вроде не брякает ![]() ![]() |
|
Создано: 30 июля 2006 10:31 · Личное сообщение · #21 acid spirit пишет: А на LStrCMP, что я нашел вроде не брякает acid spirit пишет: 008DED5C E81BFEFFFF call 008DEB7C 008DED61 84C0 test al, al Ну так смотри процедуру 008DEB7C и следи за вызовом функций LStrXXX. Советую, сначала выписать адреса всех таких функций и в олли их поименовать(Label) - будет гораздо удобнее. Смотри внимательно на стек и регистры - там появятся твои строчки. А возможно, что al в самой процедуре или даже после проверки и джампа кладут в ячейку. Положи туда, то что ждут. Чтобы не "мучаться" в олли, я всегда делаю "Выделить все" и "записать в файл". Весь дизассемблер пишется в файл и там просто поиском прыгаем по адресам, хотя иногда в олли удобнее. А чаще всего в олли стоит на одном адресе, а в соседнем окне открываем дизассемблер. Хотя сейчас сообразил, что в олли можно открыть кучу окошек "дампов памяти" и в них это все проделать. ![]() |
|
Создано: 01 августа 2006 08:04 · Личное сообщение · #22 Мде. LStrXXX пометил, не брякает ничего. Программа я думаю не простым сравнением строк работает. TGSLabs навряд ли в платную прогу вставили что то простое. Если бы я сам писал что то подобное, так просто бы не делал. Просмотрел дамп и содержимое регистров практически по всему листингу и подпрограммам, серийника там не нашел. ![]() Жестяк. А это ведь вероятнее всего не самый сложный алгоритм. А в олли очень не удобно перемещаться с одного адреса на другой. ![]() ![]() |
|
Создано: 03 августа 2006 19:22 · Поправил: Maximus · Личное сообщение · #23 |
|
Создано: 04 августа 2006 11:13 · Личное сообщение · #24 |
|
Создано: 08 августа 2006 07:52 · Личное сообщение · #25 |
![]() |
eXeL@B —› Вопросы новичков —› Помогите брякнуть окно pls |