Сейчас на форуме: ut2004, vsv1 (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Помогите брякнуть окно pls
Посл.ответ Сообщение

Ранг: 14.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 26 июля 2006 11:12 · Поправил: acid spirit
· Личное сообщение · #1

Пипол, помогите брякнуть окно или выхватить ввод данных.

:/ PlsssG

MessageBoxA
GetDlgItemTextA
GetWindowTextA не пахают



Ранг: 36.9 (посетитель)
Активность: 0.050
Статус: Участник

Создано: 26 июля 2006 11:59
· Личное сообщение · #2

А на что ты пробовал ставить бряки?Попробуй на MessageBoxA,MessageBoxW,MessageBoxIndirectA.А ввод данных попробуй через - GetWindowTextA,GetDlgitem,GetDltItemTextA.Ну еще можешь моим топорным методом отловить нажатие на кнопку и там найти ввод данных - чЕрез SendMessageA.Потому, очень часто (не всегда) сообщение отправляется именно этой функцией.



Ранг: 27.7 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 26 июля 2006 14:26
· Личное сообщение · #3

acid spirit
На чем прога написана? если на Дельфи то попробуй ShowMessage



Ранг: 14.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 26 июля 2006 14:53
· Личное сообщение · #4

Программа запакована новым аспротект. Я ума не вставлю чтобы ее распаковать.
Снял с нее дамп (естественно не работающий), но узнал, что написана она на Delphi.
Ресурсы вытянул. Деделфи ей сделал.
На этой форме frmRegistration: TfrmRegistration

Developer Express компоненты

В процедуре есть функция
procedure TfrmRegistration.btnOkClick(Sender : TObject);
и есть
TfrmRegistration.FormKeyPress(Sender : TObject);

все вышеперечисленные бряки не работают... ни Get ни Message....
:/

Я может чего не понимаю, но нету бряка на showmessage, шоумессадж это процедура делфи.
Но окно с ругательством это созданная программой форма...
Вот только как на нее выйти?



Ранг: 27.7 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 26 июля 2006 15:09
· Личное сообщение · #5

acid spirit
procedure TfrmRegistration.btnOkClick(Sender : TObject); Смотри какой у этой процедуры адрес и ставь на него бряк
acid spirit пишет:
Я может чего не понимаю, но нету бряка на showmessage, шоумессадж это процедура делфи.

Эта процедура вызывает сообщение похожее на MessageBox



Ранг: 14.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 27 июля 2006 08:40
· Личное сообщение · #6

Программа запакована аспаком, бряк не срабатывает



Ранг: 27.7 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 27 июля 2006 08:50
· Личное сообщение · #7

acid spirit пишет:
Программа запакована аспаком, бряк не срабатывает

надо сначала распаковать, а потом бряк ставить.
ЗЫ Че за прога? Выложил бы где нибудь?



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 27 июля 2006 09:32 · Поправил: tundra37
· Личное сообщение · #8

acid spirit пишет:
Программа запакована аспаком, бряк не срабатывает

Вообще-то не мешало бы статейки почитать. Я ломаю программы не первый год, но не гнушаюсь изучать чужой опыт. Аспротект одолел только с пятого раза. А если бы воспользовался поиском по форуму, то вообще может нашел автоматический распаковщик.



Ранг: 14.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 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]

Дамп с нее не рабочий на делфе написан. Деде ее берет кое как, ресурсы вытащить можно и т.п.
Но упакованность мешает. (



Ранг: 36.9 (посетитель)
Активность: 0.050
Статус: Участник

Создано: 27 июля 2006 11:24
· Личное сообщение · #10

Ты же говорил, что там аспак?Уже аспр?
acid spirit пишет:
Но упакованность мешает. (

А последний Стриппер берет новые аспры?А если нет то учись распаковывать вручную.НО про это прогу придется на некоторое время забыть.



Ранг: 14.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 27 июля 2006 12:40
· Личное сообщение · #11

Black9_Byte То я опечатался, аспротект там...



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 27 июля 2006 13:04
· Личное сообщение · #12

acid spirit пишет:
Стриппер не берет эту прогу

Ну так поэтому я и написал только с пятого раза . И скрипты пробовал и стрипперы. По моему помог какой-то скрипт к олли из вновь докачанных. Но до этого я научился распаковывать руками. До конца правда не распаковал - просто не хватило терпения, да и делал все чисто из интереса.

Black9_Byte пишет:
Ты же говорил, что там аспак?Уже аспр?

Кстати, читая про стриппер, прочел что он распаковывает аспак и аспр ?! Это точно не опечатка, т.к. стриппер выдает списочек версий.



Ранг: 14.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 27 июля 2006 15:12
· Личное сообщение · #13

Тут фишка уже идет не в том, чтобы распаковать, а хотя бы зарегистрировать под дебагером. Остальное прийдет, ведь ничто не должно мешать бряканию на распакованную работающую программу...
Но никакие хендлы вышеуказанные не брякают.
Вообще в этой форме регистрации есть процедура онформкейпресс, может как то ее выловить?



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 27 июля 2006 15:27
· Личное сообщение · #14

acid spirit
DeDe должен был создать файл events.txt - там все процедуры и ищи.



Ранг: 14.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 27 июля 2006 15:41 · Поправил: acid spirit
· Личное сообщение · #15

Программа запакована, ее исследование мало что дает.

Black9_Byte А топорным способом как нажатие кнопки выловить? Через хендл ее у меня не получается. HWND говорит хендл, но bmpx говорит что такого хендла нет. Волшебство.




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 27 июля 2006 16:27 · Поправил: Hellspawn
· Личное сообщение · #16

как делаю я в таких случаях, перед нами плохое окно, жмём в олли паузу,
потом отпускаем прогу по F8, жмём на нашем окне "ок" (или чё там у нас),
возвращаемся в олли и исследуем код (на дельфи придётся несколько раз дойти до ret
прежде чем выйти к нормальному коду)

з.ы. попробуй Source Rescuer

-----
[nice coder and reverser]




Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 27 июля 2006 17:35
· Личное сообщение · #17

1) Программа позволяет делать аттач и ставить бряки.
2) Аттачим DeDe и после обработки ставим галку "include TXT event handler RVA description" и сохраняем файлы. В evetns.txt видим, где можно прерваться :

TfrmRegistration.btnOkClick 008DED54

3) Олли прекрасно останавливается на 008DED54
4) Т.к. программа стоит всего 500 р. больше помогать не буду



Ранг: 14.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 28 июля 2006 08:14
· Личное сообщение · #18

Hellspawn Спасибо, буду пытаться разбираться.
tundra37 Фишка в том, что я Олей не умел пользоваться. Адрес этот у меня второй день на листочке записан. Можно просто в деде по кнопке щелкнуть и она выскочит на этом адресе. Но в любом случае большое спасибо! Спасибо всем за то, что поддерживаете. Я совсем не скрываю того, что являюсь новичком в этом деле, п.э. даже такие наброски многое значат.



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 28 июля 2006 09:01
· Личное сообщение · #19

acid spirit
Ну так бы и сказал. В олли в окне CPU( где дизассемблер) кликаешь на правой кнопке мыша. Вываливается меню(я всегда и везде правую кнопку проверяю и тебе советую), там выбираешь Goto и Expression. В Expression вводишь нужный адрес и смотришь дизассемблер и можешь ставить бряк. Для совсем новичков конечно удобнее пользоваться командной строкой, но я любитель мышей.
Я вылавливал сравнение строк в system.@LStrCmp на другой программе, но судя по отсутствию защиты от аттача DeDe здесь тоже должно сработать. Делая бряки на LStrxxx лови регистрационные данные и смотри, что с ними делают. Обычно все-таки сравнение маскируют, но если автор не мазохист, то со строками должен работать через стандартные функции и все равно выйдешь на сравнение.



Ранг: 14.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 28 июля 2006 12:19
· Личное сообщение · #20

Вроде бы брякать научился, и туда сюда, так сказать... Сдвиги есть!


вот этот кол 008DED5C E81BFEFFFF call 008DEB7C
008DED61 84C0 test al, al
отправил сюда ->
008DED63 7429 jz 008DED8E
Мимо теста. Только это всего лишь вывод окошка. :/ Ну я хотя бы знаю как оно должно выглядеть.
А на LStrCMP, что я нашел вроде не брякает



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 30 июля 2006 10:31
· Личное сообщение · #21

acid spirit пишет:
А на LStrCMP, что я нашел вроде не брякает

acid spirit пишет:
008DED5C E81BFEFFFF call 008DEB7C
008DED61 84C0 test al, al

Ну так смотри процедуру 008DEB7C и следи за вызовом функций LStrXXX. Советую, сначала выписать адреса всех таких функций и в олли их поименовать(Label) - будет гораздо удобнее.
Смотри внимательно на стек и регистры - там появятся твои строчки. А возможно, что al в самой процедуре или даже после проверки и джампа кладут в ячейку. Положи туда, то что ждут.
Чтобы не "мучаться" в олли, я всегда делаю "Выделить все" и "записать в файл". Весь дизассемблер пишется в файл и там просто поиском прыгаем по адресам, хотя иногда в олли удобнее. А чаще всего в олли стоит на одном адресе, а в соседнем окне открываем дизассемблер. Хотя сейчас сообразил, что в олли можно открыть кучу окошек "дампов памяти" и в них это все проделать.



Ранг: 14.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 01 августа 2006 08:04
· Личное сообщение · #22

Мде. LStrXXX пометил, не брякает ничего. Программа я думаю не простым сравнением строк работает.
TGSLabs навряд ли в платную прогу вставили что то простое.
Если бы я сам писал что то подобное, так просто бы не делал. Просмотрел дамп и содержимое регистров практически по всему листингу и подпрограммам, серийника там не нашел.
Жестяк. А это ведь вероятнее всего не самый сложный алгоритм. А в олли очень не удобно перемещаться с одного адреса на другой. И отображение пустых строк стека... Пока пролистаешь его весь, уснешь. :/




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 03 августа 2006 19:22 · Поправил: Maximus
· Личное сообщение · #23

acid spirit там аспровая проверка рег.ключа... проверка идет по хешу.. LStr и не далжно брякать.

-----
StarForce и Themida ацтой!




Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 04 августа 2006 11:13
· Личное сообщение · #24

Maximus пишет:
LStr и не далжно брякать.

Согласен.

acid spirit
Посмотрел программу проверки - куча jump. Можно конечно IDA натравить, но по-моему проще 500 р. автору заплатить.



Ранг: 14.9 (новичок)
Активность: 0.010
Статус: Участник

Создано: 08 августа 2006 07:52
· Личное сообщение · #25

Уже поломано, всем спасибо за помощь и поддержку.


 eXeL@B —› Вопросы новичков —› Помогите брякнуть окно pls
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати