Как по быстрому отобразить содержимое регистра на экране ?

Тема в разделе "WASM.BEGINNERS", создана пользователем Genok, 11 янв 2007.

  1. Genok

    Genok New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    4
    В этом месте в EAX появляется правильный
    серийник. Хотелось бы пропатчить программу, чтобы
    содержимое ЕАХ вываливалось на экран, пусть даже с последующим GPF

    8B9B04020000 mov ebx,[ebx][000000204]
    668B45FC mov ax,[ebp][-0004]
    66314312 xor [ebx][00012],ax
    0FB745FC movzx eax,w,[ebp][-0004]
    0FB755F8 movzx edx,w,[ebp][-0008]
    0FB7C9 movzx ecx,cx
    33C2 xor eax,edx
    33C1 xor eax,ecx
    5F pop edi
    5E pop esi
    5B pop ebx
    C9 leave
    C21400 retn 00014 ;" ¶"

    Решаемо ?
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Genok
    А в отладчике посмотреть никак?
    В принципе решаемо, делаешь wsprintf, потом MessageBox.
     
  3. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Вставь сразу после формирования невыполнимую команду, чтобы содержимое регистров тебе операционка выдала. Может не сработать.
    n0name
    Этих функций может в программе и не быть (хотя вряд ли), а потом придется цепочку ассемблерных команд для формирования вызова сделать вроде:
    push eax
    jmp @1
    ...
    @1:
    push offset formatString (эту строчку можно взять в программе и поставить свой формат, если такого не нашлось)
    jmp @2
    ...
    @2:
    call wsprintf (если есть, если нет, можно поискать достойных кандидатов, например printf)
    jmp @3
    ...
    @3:
    call MessageBox (ищем подходящий или формируем стек, как сделано выше)
     
  4. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Подредактировать импорт.
    Я тоже сначала подумал об этом, однако не вспомнил в каком случае в тех. информации будет содержатся значение регистров.
     
  5. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    Код (Text):
    1. если есть, если нет, можно поискать достойных кандидатов, например printf
    LoadLibrary/GetProcAdress, поиск в экспорте кернела...
     
  6. Genok

    Genok New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    4
    То, что предложено, довольно сложно для меня.
    В отладчике значение EAX посмотреть конечно можно,
    только на каждую машинку отладчик не поставишь.
    Хотелось бы пропатчить екзешник чтобы он
    вываливался с ошибкой и показывал регистры.
    Из инструментов - только HIEW и SoftIce
     
  7. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Genok
    Ну попробуй поставить вместо
    FF
    FF
    FF
    FF
    FF FF FF
     
  8. Genok

    Genok New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    4
    Спасибо, заработало.
    В программе встроена защита от таких дел - она вылетает
    с предупреждением и пишет лог с регистрами и проч... :)
    Ч.И.Т.Д.
     
  9. crypto

    crypto Active Member

    Публикаций:
    0
    Регистрация:
    13 дек 2005
    Сообщения:
    2.533
    Genok
    Это сообщение супервизора.
     
  10. Jupiter

    Jupiter Jupiter

    Публикаций:
    0
    Регистрация:
    12 авг 2004
    Сообщения:
    532
    Адрес:
    Russia
    в не проще ключеген сделать, если уж прога сама генрит ключ?
     
  11. Genok

    Genok New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    4
    А сам как думаешь - что проще - FF FF поставить
    или кейген ваять хрен знает сколько времени?