Приветствую всех! У меня возникла следующая проблема: устраиваюсь на работу, получил тестовое задание-крэкми, но крэкми -- ДОС-ком-файл(вот уже чего не ожидал =), время выполнения -- неделя, но только с досом я никогда не общался..IDA вроде бы дизассемблирует, и алгоритм сам небольшой(800 байт) и достаточно понятный, но вот с прерываниями я не знаком, подскажите, плз, как вводится текст и какой-нибудь совет, как действовать..(может есть способ быстро превратить в PE-файл?), сенкс заранее.
Так Ida сама неплохо комментирует и прерывания, и работу с регистрами ввода/вывода. А если это окажется мало, то можно обратиться за справкой к Ralf Brown's Interrupt List - http://www.ctyme.com/rbrown.htm Смысл? Ida и сама неплохо с com-файлом разберется, а перевод его в PE ничего в логике его алгоритма не изменит.
Снкс всем за помощь, вроде бы пока все разбирается удачно, только при int 21 (ax=0Ah) в каком виде строка в буфер пишется, никто не подскажет? Отладчика и доса нет, поэтому на бумажке все считаю, и верно ли, что в начале выполнения не только sp, но и bp равны 0FFFEh ? Сам файл в аттаче, только плз, не выкладывайте, как его ломать, очень хочется самому добить =)
А софтайс станет, если на моем компе под xp никакие патчи не помогают и при запуске вылетает БСОД ? И можно, если не сложно, поподробней о том, что такое DOS BOX ?
А никто не подскажет, это глюк IDA, или я чего-то не знаю: откуда в листинге взятЬся( =) ) 32-битным регистрам??? Вроде бы код "до" не модифицирует ничего в памяти даже в районе этих адресов?? Код (Text): seg000:023B mov dx, 13Ch seg000:023E mov ah, 9 seg000:0240 int 21h ; DOS - PRINT STRING seg000:0240 ; DS:DX -> string terminated by "$" seg000:0242 int 20h ; DOS - PROGRAM TERMINATION seg000:0242 ; returns to DOS--identical to INT 21/AH=00h seg000:0244 ; --------------------------------------------------------------------------- seg000:0244 seg000:0244 loc_244: ; CODE XREF: seg000:0239j seg000:0244 mov si, 161h seg000:0247 lodsd seg000:0249 xchg eax, edx ;!!!!!!!!!!!!!!!!!!!!! Откуда???????????????? seg000:024B mov si, 169h seg000:024E push si seg000:024F mov di, si seg000:0251 mov cx, 18h seg000:0254 seg000:0254 loc_254: ; CODE XREF: seg000:025Bj seg000:0254 lodsd seg000:0256 xor eax, edx seg000:0259 stosd seg000:025B loop loc_254 seg000:025D pop si 2 crypto & TermoSINteZ: Снкс, а много ли они весят, и можно ли запускать их в виндовсе, или надо ставить дос, или дос-эмулятор?
2 TermoSINteZ: Еще раз сенкс, он отлаживает!!!! Ну я его сейчас потрошну!!! =)) Только 32битные регистры и в отладчике видны, и работает он корректно, наверно это я выдумал, что их там быть не может ???