HEX-кодинг чайникам

Тема в разделе "WASM.ZEN", создана пользователем YaMolekula, 10 ноя 2009.

Статус темы:
Закрыта.
  1. YaMolekula

    YaMolekula New Member

    Публикаций:
    0
    Регистрация:
    10 ноя 2009
    Сообщения:
    20
    Здраствуйте, хотел бы узнать есть ли какие руководства по иследованию программ с пощью hex-кодов? Интересует большей часть шестнадцатеричные значения команд, синтаксис. То есть, сам "язык программирования", с
    НЕХ-редактором проблем нет. К удивлению, в гугле ничего подобного не нашёл.
     
  2. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Шестнадцатеричные сейчас не модно, троичные или в крайнем случае семиричные.
     
  3. reversecode

    reversecode Guest

    Публикаций:
    0
    DNA кодинг самый продвинутый на сегодняшний день
    да и врядли в скором времени выйдет из моды
     
  4. Mankubus

    Mankubus New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2009
    Сообщения:
    76
    YaMolekula, http://ref.x86asm.net/coder32.htm возможно для начала, только вам еще рано этим заниматься, сдается мне.
     
  5. o14189

    o14189 New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2009
    Сообщения:
    320
     
  6. arrrg

    arrrg New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2009
    Сообщения:
    124
    o14189 улыбнуло))))
     
  7. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    Зря смеетесь. Всего-то надо запомнить всю базовую систему команд. SSE-MMX (да и FPU) можно не осваивать. И писать прямо в хексах мелкие программы. Практического смысла не имеет. Размер программ - на 256 байтах уже сдохнешь. Зато досуг и самоуважение :lol:

    Для "исследования" надо иметь очень специфичный склад ума и способности, дано не каждому. Нужно ли это - не то что каждому, а хоть кому-то (поскольку есть инструменты типа HIEW) - вопрос открытый. Для начала, как тренировка, попробовать увидеть в дампе какие-то закономерности. Похожие команды. Например,
    ... 83 7E xx yy 74 zz 83 7E xx uu 74 ww ...
    Если с одного взгляда вы видите такие закономерности, поздравляю, способности есть. Вы распознали один из вариантов типичного SELECT CASE :))) По крайней мере, какую-то структуру вы будете видеть без отладчика-дизассемблера. Запоминаете типичное оформление пролога процедур, вызовы API... Но! какой в этом кошерный смысл, если вы распознаете только ФАКТ вызова АПИ, но не ИМЯ вызываемой функции? Под ДОС с прерываниями несколько легче - там можно запомнить функции и сами прерывания, и понять с ходу. Но, извиняюсь, трахать себе мозг, чтобы читать с дампа COM-файлы, без практического применения? Смысл? А дамп виндовой программы по любому лучше в дизассемблере смотреть, нечего из-за понтов рак мозга наживать =)

    Словом, если вы упустили эпоху перфокарт и кодинга на "бейсике" через POKE с вызовом через PRINT USR - стоит ли тратить время, чтоб вернуться в столь дремучее прошлое?
     
  8. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Синтаксис бывает в языке. HEX это запись содержимого памяти и никакого синтаксиса нет.
    Шестнадцатеричные значения команд расшифрованы в доках Интела, но увы побайтно анализировать не получится, придется и в биты лезьть, а это уже двоичное кодирование.
    На заре компьютерной эры действительно программировали двоично и набирали коды тумблерами, но потом поумнели и изобрели ассемблер. В всяком нормальном хекс-редакторе для "исследования" есть встроенный ассеблер, ну а про вручную - доки Интела в зубы и учить.
     
  9. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.914
  10. YaMolekula

    YaMolekula New Member

    Публикаций:
    0
    Регистрация:
    10 ноя 2009
    Сообщения:
    20
    Круть!!!! Пойду просвещаться!
     
  11. maksim_

    maksim_ New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2009
    Сообщения:
    263
    зачем, если есть асм? типа, чтобы сложнее было?
     
  12. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.625
    Адрес:
    Russia
    YaMolekula
    да возьмите масм 3.0 1982 года и попытайтесь написать прогу под вин7 х64
     
  13. IceT

    IceT IceT

    Публикаций:
    0
    Регистрация:
    13 авг 2009
    Сообщения:
    233
    Адрес:
    RU
    maksim_
    Для поиска шелл-кодов в дампах, например.
     
  14. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.914
    Хочется продолжить:
    YaMolekula
    возьмите "масм 3.0" 1982 года, обязательно с южного склона, и почуствуйте приятный терпкий аромат...
    Прежде всего "масм 3.0" надо пить в специальной одежде — костюм строгих темных тонов, бело-голубая рубашка с позолоченными запонками, галстук в синих или красных тонах, платок треугольником на 2/3 дюйма из верхнего кармана под цвет галстука. Это для мужчины. Леди — обязательно в вечернем платье под цвет носового платочка мужчины. Вырез у платья — на 1/3 должен открывать грудь. Это если оная есть. Иначе — обозначить глубоким остроугольным вырезом на 1/2 "дороги до пупка" (от подбородка).
    Как вариант — мужчина в однотонной рубашке теплых тонов без галстука и с растегнутой верхней пуговицей, леди — в легком платье умеренных цветов на бретельках. Серьги — что нибудь под золото, можно с рубином, гранатом, черным турмалином. И ясен пень, что серебро, жемчуг, малахит, бирюза или жадеит под коньяк ну никак не катят.
    Далее мебель. Ни в коем случае не кухонная! Никаких деревянных стульев, табуреток — это неуважение к благородному "масм 3.0". Т.е. пьющие должны располагаться в мягких креслах, желательно темно-кожаных.
    Комнатная темература — 18 градусов по Цельсию. Свет приглушенный. "масм 3.0" не любит яркого солнечного света. В крайнем случае — "офисный вариант" — лампы дневного света со световой температурой 5400K.
    Музыка на фоне — как правило smooth jazz. Но и Enya подойдет, если леди любит собак или кошек.
    Посуда для "масм 3.0" — обычно все знают — бокал типа тюльпан из как можно тонкого стекла. И никакой жрачки!!! Пожрать если так невтерпеж накануне!
    "масм 3.0" разлить по 40 грамм (в соответствии числу оборотов на этикетке) в бокалы и греть в руках наслаждаясь ароматом. И так 20 минут — 1/2 от числа оборотов. Анекдоты под "масм 3.0" рассказывать нельзя. Неторопливая беседа, почти не о чем. Много думать. После короткого глотка — обязательно двух минутная пауза для медитации. Секc можно начинать во время распития второго бокала "масм 3.0". Обязательно долгая прелюдия. Можно второй бокал распивать (очень плохое слово для "масм 3.0") по методу "из уст в уста". Позы для секcа под "масм 3.0" могут быть совершенно разнообразные, но начинать с вариаций "она сверху" нельзя...
    Распространенный вариант на утро — он/она уходит пока партнер еще спит, прихватив с собой бутылку с остатками "масм 3.0". Обязательно позвонить после обеда и поблагодарить за прекрасный вчерашний вечер, даже если вы никогда не планируете больше встречаться. Бокалы до обеда не мыть... :)
     
  15. friackazoid

    friackazoid New Member

    Публикаций:
    0
    Регистрация:
    4 июн 2009
    Сообщения:
    102
    FatMoon
    Пора в кащенку =) Знакомится со знаменитымы математиками занимающимися числовыми рядами =)

    P.S. Шутка основаная на фильмах Beatiful Mind и Pi
     
  16. YaMolekula

    YaMolekula New Member

    Публикаций:
    0
    Регистрация:
    10 ноя 2009
    Сообщения:
    20
    Хочу стать универсальным солдатом. Познать бытие кода. Получить безграничную власть над ним. И ,если родина прикажет,и написать ехе-программу с помощью debug или edit.com (то есть, с помощью щедро подаренных Майкрософтом встроенных средств разработки). Ведь, не всегда под рукой может оказаться FASM, MASM или TASM (я это понял когда полетела флешка). А поскольку в Debug нельзя написать ехе-прогу с помощью асм-комманд, то остается только один путь...
     
  17. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    Кто это тебе сказал? Если ты четко понимаешь структуру MZ-PE-формата, заполняешь заголовок, потом аккуратно вводишь команды... Где хексами, где с помощью асм-команд. Почитай статьи Рустама. Там конечно автор смухлевал, сначала скомпилировал то, что хотел, а потом использовал дамп для создания PE-экзешника в дебуге, но в принципе все реально :))
     
  18. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    http://www.wasm.ru/article.php?article=win32appbyhand
    http://www.wasm.ru/article.php?article=dllcode

    Я вот это имею в виду ^. Экзешник MZ-формата пишется точно также, только намного проще.
     
  19. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    YaMolekula
    мм, медитируйте:
    4x4 => 11b x 11b => 1111b
    1111b 1111b => 0xFh 0xFh => 0xFFh
     
  20. maksim_

    maksim_ New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2009
    Сообщения:
    263
    и как, удачно идёт поиск?
    писать программы на hex'e возможно лишь под какой-нибудь avr или pdp. под x86 это невозможно, да и незачем. разница с асмом только в том, что на асме ты пишешь мнемоники, а тут будешь писать соответствующие им hex коды. основная проблема даже не в том, чтобы запомнить табличу соответствия asm -> hex, а в том, что все команды имеют разную длину и дизасмить прогу можно только с того места, где ты точно знаешь что это начало команды.

    вобщем представь: пишешь ты в хекс редакторе прогу. вспомнил что тебе нужно в середине кода что-то подправить. ты начинаешь искать это место с самого начала, определяя длину каждой инструкции, чтобы точно определить где же ты написал свою команду. хорошо, поправил. размер проги изменился, все переходы, вызовы, обращение к статическим данным нужно потчить. опять всё с начала: дизасмишь каждую инструкцию, нашёл то, что нужно поправить, правишь - снова просматриваешь всё с начала.
     
Статус темы:
Закрыта.