рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Text 00000452 |D:KPNCHIEWDEXEM.EXE

Text 00000452 |D:KPNCHIEWDEXEM.EXE - раздел Информатика, NAG SCREEN При Этом Кроме Собственно Имен Сохранятся Текущий Режим И Позиция Курсора (Чт...

При этом кроме собственно имен сохранятся текущий режим и позиция курсора (что особенно приятно). Последнее позволяет использовать HIEW для чтения больших текстовых файлов (электронных книг, документации); никогда не придется запоминать, на каком месте вы находились перед выходом. (Впрочем, чтобы быть до конца честными, отметим, что эта возможность присуща сегодня практически всем современным вьюерам — QVIEW by AGC, UniversalViewer и MessageViewer by KPNC, да и многим другим.) Позволю себе так же отметить, что в этом UniversalViewer обогнал других. Тогда как HIEW и QVIEW привязы­ваются к имени файла, UV — к хеш-сумме заголовка и окрестностей текущей позиции курсора. Имя файла при этом игнорируется. Последнее вызывает меньше конфликтов, хотя работает немного медленнее. Будем надеяться, что SEN в ближайших версиях реализует нечто похожее.

Перейдем теперь к рассмотрению командной строки. Большинство ею пользу­ется все же гораздо чаще, чем непривычным Навигатором.

В командной строке можно задавать более одного файла, но при этом будет открыт только первый из них, а остальные доступны по Ctrl-F9, что, впрочем, удобно, так как уменьшает время загрузки. Если спецификация файла не будет полной, то HIEW найдет все подходящие файлы и добавит их имена в список. Это иеудобно и нелогично. Неполная спецификация должна приводить к вызову Навигатора (во всяком случае, по моему личному мнению).

Параметр /SAV задает имя SAV-файла, который автоматически будет загру­жен. По умолчанию принимается hiew.sav, но последнее может быть изменено в hiew.ini:

; startup

Savefile = "hiew-sav"

Sav-файл полностью сохраняет текущее состояние HIEW-a, включая текущую позицию, все закладки и т.д. Обычно, чтобы воспользоваться sav-файлом, нужно запустить HIEW без параметров. Заметим, что 'hiew.exe MyFile.exe' не приведет к должному результату. Неудобно, конечно, но приходится мириться: хозяин (SEN) — барин.

Интересная особенность: файл конфигурации можно также указывать в команд­ной строке после ключа /INI. Это очень удобно для "корпоративного" использования HIEW сразу несколькими людьми. Каждому — настройки на свой вкус.

Если же требуется показать содержимое вложенных директорий, то можно использовать ключ /S с указанием пути и маски. При этом hiew /s С'.*.* с большой вероятностью после продолжительного шуршания диском завершит свою работу сообщением:

"No free memory".

Это будет зависеть от количества имеющихся у вас на диске файлов. Если их относительно немного, то есть шанс, что HIEW запустится и можно будет выбрать любой понравившийся файл, нажав Ctrl-F9.

После долгих размышлений так и не удалось придумать ситуацию, в которой данная возможность была бы незаменимой. Ведь всегда есть под рукой встроен­ный Файловый Навигатор!

После выбора файла HIEW автоматически показывает его в текстовом режи­ме. Не слишком удачный выбор для хакеров, поэтому они обычно первым делом редактируют следующую строку hiew.ini

StartMode = Text ; Text I Hex I Code

Впрочем, если HIEW планируется использовать и для просмотра текстовых сообщений, то ничего трогать не надо. Жаль, однако, что нет функции "автоде-тект", тем более что реализовать последнюю совсем не трудно.

Вообще же строка статуса может меняться в зависимости от режима, но это не должно вызвать каких-то проблем понимания. Рассмотрим подробнее некото­рые элементы.

Левосторонний лифт может показаться непривычным и действительно не очень удобен. Поэтому автор предусмотрел возможность настроить последний по вкусу пользователя, а то и вовсе отключить его. Для этого необходимо отредак­тировать hiew.ini. Если комментариев в файле окажется недостаточно, то обрати­тесь к главе "Конфигурирование HIEW" настоящего руководства.

Направление поиска (прямое или обратное) задается клавшей Alt-7 в любой момент или непосредственно во время вызова окна поиска клавишей F2. При этом

индикатор направления будет обновлен только после завершения поиска. Не нравится это. Неплохо бы перенести управление с F2 на AU-F7 и при этом обновлять индикатор. Но не будем строги к автору — эта возможность появилась только в версии 6.03 и, конечно, до конца еще не отлажена.

Состояние файла может быть следующим:

(R)ead — открыт по чтению.

(W)rite — открыт по записи.

(U)pdate — изменен.

При этом последний режим обрабатывается некорректно. Вне зависимости от того, был ли изменен хотя бы один байт, при каждом сбросе буферов редактора (F9) на диск (включая пустые!) всегда выставляется флаг изменения. Впрочем, это не баг, а фича, и маловероятно, что она будет исправлена в ближайших версиях.

Первый же вызов редактора (F3) приводит к автоматическому переоткрытию файла в режиме полного доступа (чтения и записи). Этот режим сохраняется и после выхода из редактора. Т.е. автоматического переоткрытия "Только на чтение" не происходит. А жаль. Индикация просто теряет смысл.

Hiew автоматически распознает следующие типы файлов DOS: EXE, NE, РЕ, LE, LX, NLM, но при этом отображает в строке статуса только пять последних из них. DOS-EXE HIEW, строго говоря, не поддерживает (за исключением заголовка). Да, собственно, там и поддерживать особо нечего. Можно, конечно, правильно настроить регистр DS, но это было бы слишком для шестнадцатирич­ного редактора — все же HIEW изначально отнюдь не планировался как дизассемблер. Впрочем, если был бы встроенный язык — пользователи смогли бы решать эти вопросы на месте, не дожидаясь новой версии. То же относится и к нестандартным бинарным файлам, например, разным BIOS-ам или дампам памя­ти. Для всего этого SEN написал замечательную утилиту StructLook, версия 4.20 которой выложена на ftp автора (ftp. kennsc.ru/pub/sen). Она содержит интерп­ретируемый препроцессор и очень удобна при "низкоуровневой" работе с различ­ными форматами файлов. Но это совсем другая история.

Режим 16/32 определяется автоматически для поддерживаемых типов фай­лов. Это отличает его от QVIEW, где режимы приходится переключать вручную, в противном же случае коддизассемблируется неправильно, что может приводить к печальным результатам. В режиме 'text', где понятие 1632 разрядного кода как таковое отсутствует, это поле выражает номер самой левой отображаемой колонки, считая от нуля.

Очень неплохо продумана работа с закладками. Впрочем, удобно еще не значит привычно. Редактор Gold Star установил стандарт де-факто: Ctrk-K-n запомнить состояние, Atl-Q-n восстановить его. Эта точка зрения не была поддержана SEN, и он задействовал совсем другие "горячие" клавиши. Grey-'+' запомнить текущее состояние. Этот факт мгновенно отражается в индикаторе. Изображение '-' изменяется на порядковый номер закладки (считая с единицы?!). При этом HIEW может запомнить до восьми закладок. Большего обычно и не требуется. Восстановить текущую закладку (которую индикатор отмечает ") можно нажатием Grey-'-'. Выбрать любую другую закладку поможет Alt-' 1-8'. При этом последняя автоматически помечается как текущая. Если ее потребуется удалить, то можно нажать Alt-'-'. A 'Alt-0' — удаляет сразу все закладки без предупреж­дения. Так что будьте осторожны с этой комбинацией!

В режиме редактора '<Editor>' закладки, к сожалению, становятся недоступ­ны по причине того, что последний ограничен всего одним окном. Удивительно, но этот недостаток присущ лишь HIEW-y, а конкуренты давно реализовали соответствующую возможность достойным образом. Самое интересное: непонят­но, какие затруднения может испытывать автор с последним... Тем более что это действительно жесткое ограничение, которое особенно дает о себе знать при расшифровке даже небольших файлов. Поэтому все больше и больше людей склоняются к мысли, что эту операцию лучше делать в QVIEW, где нет таких ограничений. Остается только надеяться, что автор под мощным натиском обще­ственного движения (ау! хакеры!) хотя бы через несколько версий реализует то, что конкуренты имели от рождения.

Длина файла отображается исключительно в неродном для хакеров десяти­чном исчислении. Вкупе с шестнадцатиричным смещением это особенно непри­ятно. Неплохой идеей, думается мне, был бы переход полностью на шестнадцати­ричный режим в decode режиме и соответственно — на десятичный в текстовом. При этом было бы полезно отделять точкой каждые три знака, что улучшает читабельность больших чисел. Так что поле для работы у автора в следующих версиях еще есть, а это значит, что они будут выходить, выходить и еще раз выходить (правда, при том условии, если SEN-y все это не надоест и он не забросит свое творение в самый пыльный угол винчестера, как это произошло с DeGlucker-ом, Cup-ом, lnSight-ом... перечислять можно долго). Некто как-то писал в одной своей утилите, что, пожалев сейчас 1$, через некоторое время можно потерять в сотни раз больше из-за отсутствия утилиты, которая не была написана именно по причине экономии этого самого доллара. Увы, российские пользователи привыкли, что лучшие программисты страны должны работать "просто так" для их собственного удовольствия.

– Конец работы –

Эта тема принадлежит разделу:

NAG SCREEN

Каждому предоставлена полная свобода выбора — или терпи Nag Screen...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Text 00000452 |D:KPNCHIEWDEXEM.EXE

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

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

SetTimer
18C Is Iconic 195 KillTimer B7 EnableWindow 146 GetSystemMetrics 19E LoadIconA Попробуем найти код, который вызывает SetTimer, для чего установим на пос

Ограничение возможностей
Многие незарегистрированные версии отличаются тем, что часть их возмож­ностей заблокирована. Если программа предусматривает регистрацию, то обычно больших проблем при взломе не возникает. Совсем др

Text;004015CFp
jmp ds: ?EnableWindow@cwnd@@QREHH@z j_?EnableWindow@cwnd@@QAEHH@z endp Их всего два. Как раз по числу элементов управления. Пока защита не предвещает ничего необычного и ее код вы

Mov dwordptr [esi], offset off_0_4035C8
40139E mov eax, esi 4013A0 pop esi 4013AI retn 4013AI sub_0_401390 endp Становится ясно, что sub_0_401440 — это виртуальная функция CDocu-ment::On3aveDocument()!

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

Способы затруднения анализа программ
Все методы взлома защитных механизмов (за исключением, возможно, крип­тографических) сводятся практически к двум моментам — локализации кода защиты в сотнях килобайт (мегабайт) кода приложения и ан

Приемы против отладчиков
Самым первым отладчиком под MS-DOS был Debug.com фирмы MicroSoft. Совершенно очевидно, что этот инструмент годился разве что для забавы и изучения ассемблера. Но рынок не терпит пустого ме

Приемы против отладчиков реального режима
Чтобы понять, как противодействовать отладчикам реального режима, необ­ходимо изучить сам процесс отладки. 8086 процессор предоставлял для этого одну команду, один флаг и две исключительные ситуаци

J E9 EC EF JMP F125
2298;0139j F2 REPNE Полученный мусор может привести систему к краху, но едва ли будет нормально выполняться. При этом защитный механизм настолько "размазан" по коду, что обнаружи

Приемы против отладчиков защищенного режима
Позже появился 80286 (с точки зрения хакера мало чем отличавшийся от своего предшественника), а вслед за ним и 80386, принесший принципиально новые возможности отладки. Точнее, "принципиально

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

Дизассемблирование в уме
"— Мне известны политические аргументы. — Но меня интересуют человеческие доводы." Ф. Херберт. "Мессия Дюны". Очень часто под рукой не оказывается ни отладчика,

Структура команд INTEL 80х86
"— Потому ты и опасен, что ояладел своими страстями." Ф. Херберт. "Мессия Дюны". Дизассемблирование (тем более в уме) невозможно без понимания того, как процессо

Add b, [00100],002
00000105: 00B406B2 add [si][OB206],dh | ----------ip Т.е. текущая команда станет на байт короче! И "отрезанный" ноль теперь — часть другой команды! Но при выпол

Есть базирование если 2bit=1 то 0 –BP, 1 - BX
если 3bit=0 то 0 –база BX, 1 – база BP если 3bit=1 то 0 –индексный регистр 1 - базовый Возможно, кому-то эта схема покажется витиеватой и трудной для запомина­ния, но зубрить все

В4 ОЭ БД 77 01 CD 21
Вот она! Но что представляет собой опкод ОхВА? Попробуем определить это in трем младшим битам. Они принадлежат регистру DL(DX). А ОхВ4 0х9 — это шоу АН,9. Теперь нетрудно догадаться, что оригинальн

F2 AC 02 EO E2 FB BE 3В 01 30 24 46 61
Чтобы превратить его в знаковое целое, необходимо дополнить его до нуля (операция NEG, которую большинство калькуляторов не поддерживают). Тот же результат мы получим, если отнимем от 0х100 указанн

Маленькие хитрости
"Главная часть дисциплинирующей выучки — это ее сокрытая часть, предназначенная не освобож­дать, но ограничивать." Ф. Херберт. "Еретики Дюны". Хорошо, если в ваш

Х1 0х2 0х4 0х8 0х10 0х20 0х40 0х80
Причем все математические операции с такими круглыми числами делать^ уме на порядок проще, за что я и люблю шестнадцатиричную систему счисления. Разумеется, описанные приемы ни для кого не должны б

Ассемблирование в уме
"Ничто не превосходит по сложности человече­ский ум." Ф. Херберт. "Еретики Дины". Мы уже проделали титаническую работу, дизассемблировав в уме крохотный файл в п

Int 021
Дело в том, что указанным способом невозможно ввести с клавиатуры символ #8. А смещение строки как раз и есть 0х108. Чтобы избавиться от восьмерки, можно было бы, конечно, исполнить следующую после

B90123 456789
1111 111111 MOV DX, 0х100+2+2 ; OxlOO-адрес загрузки, 2 длина MOV АН, 9, 2 длина jmp JMP SHORT $+20 — резервирует 20 символов для строки. Предполагается, что этого окажется достат

Маска отображения файлов —*
Вообще навигатор очень напоминает Norton Commander, и общение с ним проблем вызвать не должно. На всякий случай я все же опишу назначение клавиш управления: Alt-FI (Drive)

Ассемблер
"Убийство острием лишено артистизма. Но пусть тебя это не останавливает, если плоть, раскрываясь, сама себя предлагает." Ф. Херберт. "Дюна". Пере

Дизассемблер
Дизассемблер в HIEW великая вещь. фактически это основной режим работы хакера. Не то чтобы некоторые ленились дизассемблировать в уме hex-коды, (что, скажем, частенько приходится делать при работе

Adc dh,[si]
……………….. 00000104:xxxx Разница в том, что ссылка во втором случае указывает "в космос", но никак не на переменную 0х4. Это можно исправить, указав HIEW-y вручную начальное

Adc dh, [si] <—
00000106: 0100 add [bx] [si], ax 00000108: E3F7FF call 000000102-------- (i) И все ссылки при этом работают правильно. Заметим, что базирование никак не влияет на

Манипуляции с блоками
"Соединение невежества и знания, соединение ди­кости и культуры — не начинается ли оно с того чувства достоинства, с которым мы относимся к своей смерти?" Ф. Хербер

Поддержка LE/PE/NE/LX/NLM-ФОРМАТОB
"Понятие прогресса, служит защитным механиз­мом, отгораживающим нас от ужасов будущего." Ф. Херберт. "Дюна". Вообще-то шестнадцатиричный редактор идеологически д

Калькулятор
"Врагу, которым восхищаешься, легче вселить в тебя ужас" Ф. Херберт. "Дюна". Необходимость встроенного калькулятора сегодня сомнений ни у кого не вызывает. Хакер

Калькулятор
"Врагу, которым восхищаешься, легче вселить в тебя ужас" Ф. Херберт. "Дюна". Необходимость встроенного калькулятора сегодня сомнений ни у кого не вызывает. Хакер

Калькулятор
"Врагу, которым восхищаешься, легче вселить в тебя ужас" Ф. Херберт. "Дюна". Необходимость встроенного калькулятора сегодня сомнений ни у кого не вызывает. Хакер

Крипт-система
"Не считай человека мертвым, пока не увидишь его тело. И даже тогда ты можешь ошибиться." Ф. Херберт. "Дюна". Уникальность HIEW-a прежде всего в том, чт

Описание файла HIEW.INI
"— Осторожность — важное качество для чело­века, который будет вождем." Ф. Херберт. "Дюна". HIEW хранит часть настроек в ini-файле, который немного напоминает од

JumpTable]
Задает таблицу переходов по call/jmp в дизассемблере. По умолчанию она выглядит следующим образом: "0123456789ABCDEFGHIJKLMOPQRSTUVWXYZ". При этом первый символ — это клавиша отката, т.е.

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги