Сейчас на форуме: ==DJ==[ZLO], Magister Yoda, Rio (+6 невидимых)

 eXeL@B —› Основной форум —› Olly (Unknown Command)
Посл.ответ Сообщение

Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 февраля 2005 19:13
· Личное сообщение · #1

подскажите новичку пожалуйста - что делать с Unknown Command в Olly дебаггере.... почему он их не распознает?... и еще вопрос - можно ли поставить корректный брейк на возврат функции (как в TD например).... я отлаживаю DOS программу... F8 циклится на куске
00000B28   2E:FE            ???                                      ; Unknown command
00000B2A   D328             SHR DWORD PTR DS:[EAX],CL
00000B2C   2E:FE            ???                                      ; Unknown command
00000B2E   D328             SHR DWORD PTR DS:[EAX],CL
00000B30   2E:FE            ???                                      ; Unknown command
00000B32   D7               XLAT BYTE PTR DS:[EBX+AL]
00000B33   282E             SUB BYTE PTR DS:[ESI],CH
00000B35   FE               ???                                      ; Unknown command
00000B36   D328             SHR DWORD PTR DS:[EAX],CL
00000B38   2E:FE            ???                                      ; Unknown command
00000B3A   D328             SHR DWORD PTR DS:[EAX],CL
00000B3C   2E:FE00          INC BYTE PTR CS:[EAX]
00000B3F   0037             ADD BYTE PTR DS:[EDI],DH
00000B41   0305 00060002    ADD EAX,DWORD PTR DS:[2000600]
ожидая ввода.... я утанавливаю Till Ret.... перехожу в программу - ввод недоступен... а если останавливаю и выбираю Run - то проскакиваю нужное место и программа выдает "ПАРОЛЬ НЕВЕРНЫЙ".... не бейте сильно - я в этом деле новичок .... помогите пожалуйста....




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 27 февраля 2005 19:19
· Личное сообщение · #2

Как ты ухитрился ДОС прогу в олю засунуть? Оля - это 32-битный отладчик, тогда как досовские проги - 16.




Ранг: 332.0 (мудрец)
Активность: 0.180
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 27 февраля 2005 19:25
· Личное сообщение · #3

гы



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 февраля 2005 19:28
· Личное сообщение · #4

Ara
хм...:\... а чем же 16 отлаживать?...




Ранг: 536.4 (!), 171thx
Активность: 0.660.13
Статус: Администратор
Создатель CRACKL@B

Создано: 27 февраля 2005 19:30
· Личное сообщение · #5

JsK пишет:
а чем же 16 отлаживать?...

Turbo Debugger

-----
Всем не угодишь




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

Создано: 27 февраля 2005 19:45
· Личное сообщение · #6

JsK
>хм...:\... а чем же 16 отлаживать?...

SoftICE, Insight, AFD, DeGlucker ...



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 февраля 2005 20:32
· Личное сообщение · #7

у меня в SoftICE мышка не работает ...
Insight - я не нашел....
AFD - хм...:\.. а он вообще функционален?...
DeGlucker - отказался запускаться под ХР...
остается ТД....



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 февраля 2005 20:34
· Личное сообщение · #8

если бы ИДА отлаживать могла!...*)...
или ТД выдавал бы такой же удобный код!....
цены бы не было такому отладчику!.....




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 27 февраля 2005 20:36 · Поправил: Ara
· Личное сообщение · #9

JsK пишет:
у меня в SoftICE мышка не работает

=)))
Был такой фильм Горячие головы-2, там челу шнурки завязали на ботинках, поэтому он идти не мог сам....



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 февраля 2005 20:57 · Поправил: JsK
· Личное сообщение · #10

Ara
лучше подскажи как мышку включить *)...
SI слишком сложный для того чтобы за несколько часов его освоить...




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 27 февраля 2005 21:04
· Личное сообщение · #11

JsK пишет:
лучше подскажи как мышку включить *)

А зачем она тебе? И без мышки можно работать нормально...



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 февраля 2005 21:10
· Личное сообщение · #12

Ara
ok... положим уйдет больше времени, но можно и без мышки....
вопрос два - как вообще загрузить в айс досовскую прогу?!....х(...



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 февраля 2005 21:12
· Личное сообщение · #13

JsK
а все сам нашел %)...
Dldr.exe




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 27 февраля 2005 21:13
· Личное сообщение · #14

JsK пишет:
как вообще загрузить в айс досовскую прогу?

Понятия не имею...
Я бы тоже посоветовал ТурбоДебаггер...



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 февраля 2005 21:15
· Личное сообщение · #15

другая проблема...
после запуска под DLDR.... моя программа выдает...
Memory used by program=69424
то есть ей нужно 260 чтобы работать, в досе всего 640, 570 как видно жрет SI....
что делать?...=(...
у меня такая же ошибка возникала с ранней версией TD, но в версии 5.5 исчезла, т.к. там используется TDX меньшего размера для загрузки...



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 февраля 2005 21:25 · Поправил: JsK
· Личное сообщение · #16

Ara
ТД - гут... но я никак не могу найти в нем свой ключевой момент..... возможно сказывается недостаток опыта....
задача вообще тривиальная - нужно найти место где введенные данные (7 чисел) сравниваются с заданными и подсмотреть последние.....
происходит это так...
по адресу 051С находится функция, которая последовательно запрашивает семь строк, а потом задает вопрос "данные верны?" и ждет нажатия enter... после чего - программа всплывает на функции в 0568, если войти в которую выдается сообщение "пароль неверный" а по нажатию enter программа всплывает на следующей строке - 058B с которой уже все повторяется....

ввиду описанного я пытаюсь ловить сравнения на промежутке между 051С (каллит функцию ввода данных на 3D41) и 058B (уже после проверки и вердикта).....
пытался установить функцию в которой это происходит или даже искать нужный cmp...х(...
проблема осложняется тем, что данные перед сравненим могут быть преобразованы (только нафига?..)...

думал в других отладчиках код попонятнее представлен (как в Олли или в ИДЕ)... или есть функция логирования каждого шага (можно было бы прогнать весь этот момент а потом анализировать распечатки)....
или функция "бежать до сравнения заданных значений"...
но такого я в ТД не нашел......
а функция "Exec to Ret" по-моему вообще не работает :\...

помогите пожалуйста - дайте наметку, как лучше справить с этой задачей ??....




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 27 февраля 2005 21:42
· Личное сообщение · #17

JsK
А большая прога? Я бы глянул с удовольствием, если маленькая...



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 февраля 2005 21:43
· Личное сообщение · #18

есть некоторые успехи......
seg001:051C                 call    dword ptr [di+1Ch]
эта функция соответстует вводу значений
seg001:051F                 mov     [bp+var_1], al
seg001:0522                 call    @ClrScr$qv      ; ClrScr(void)
это очистка экрана, не рассматриваем
seg001:0527                 cmp     [bp+var_1], 0
seg001:052B                 jz      loc_10BCD
здесь сравниваются два ноля. попробовал сбросить Z
в итоге программа сказала "ок. пароль верный."... значит можно сделать вывод что сравнение находится в функции по адресу 3D41...



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 февраля 2005 21:46
· Личное сообщение · #19

Ara
да прога мелкая совсем %)...
130Kb ZIP....
я был бы тебе очень признателен, если ты ее посмотришь......




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 27 февраля 2005 22:06
· Личное сообщение · #20

JsK
Ну приаттачь сюда ее - до 200 Кб мона аттачить



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 февраля 2005 23:01
· Личное сообщение · #21

порядок такой...
запускаешь... три раза эникей...
выбираешь фамилию (например Менделеев ;)...энтер...
выбираешь задание (должно быть из группы R или K)... энтер...
на вопрос о правильности - да.. энетр...
второй пункт - "проверка результатов"... энтер...
последовательно вводишь семь значений....
на вопрос "есть ли еще член" - нет... энтер...
и тут он говорит резолюцию - ОТВЕТ НЕВЕРНЫЙ!....
нужно узнать - какие числа в него вводить чтобы получить верный ответ.... разумеется - чтобы можно было установить для любой другой фамилии...
а вообще - идеально было бы чтобы он не спрашивал ответы, а называл их ;)... но с моими знаниями ассемблера - остается только мечтать об этом...

a694_ostudnt.zip



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 февраля 2005 23:12 · Поправил: JsK
· Личное сообщение · #22

все сводится к тому, что функция которую мы запрашиваем на 051С должна вернуть TRUE....

исследуемый участок (внутри этой функции, начинающейся на 3D41) - от 3F39 (ввода первых данных, по-видимому массива), до 41B8 (нажатия кнопки "НЕТ" после которой логичнее всего должно находиться сравнение с правильным вариантом) и до 4219 - точки возврата....




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 27 февраля 2005 23:31
· Личное сообщение · #23

Что-то не хочет запускаться - "Memory used by programm=9344"



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 28 февраля 2005 00:11
· Личное сообщение · #24

Ara
вот вот!... и я про то же....
для работы ей нужно 260 килобайт...
так что отладчик должен уложиться в 380...
TD 5.0 с этим справляется (занимает всего 50)...
я бы выслал (TD.EXE + RTM.EXE), но архив весит 370 Кб ....




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 28 февраля 2005 00:15
· Личное сообщение · #25

Прога и без отладчика запускаться не хочет... а дебаггер у меня есть.



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

Создано: 28 февраля 2005 01:23
· Личное сообщение · #26

выгрузите вы всяких резидентов из памяти, драйвер CD или нортон командер и все будет запускаться



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 28 февраля 2005 07:20
· Личное сообщение · #27

Ara
у меня ХР Рго SP2... все нормально запускается и из под отладчика и без него....:\... и на виртуальной машине под Win98 запускается и на PocketDOS.....




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

Создано: 28 февраля 2005 18:11
· Личное сообщение · #28

JsK пишет:
у меня ХР Рго SP2

У меня тоже самое и вылетает вышеописанная ошибка...



Ранг: 0.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 28 февраля 2005 18:56
· Личное сообщение · #29

а что непосредственно перед запуском выдает mem ?...
должно быть не меньше вышеназванной суммы....

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


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


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