hex редактирование

Тема в разделе "WASM.HEAP", создана пользователем 65536, 30 ноя 2009.

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

    65536 New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2009
    Сообщения:
    9
    Мдаааа то что "по машинному коду сверяемся" и "иследования чужого кода" то это точно сказано. Значит разбираетесь но не юзаете как язык программирования, считаете его слишком сложным и мало эфективным, ведь проще на Асме писать. Понимаю вас - Асм дествительно проще, хотя з другой стороны когда я начинал учить Асм, все друзья программеры говорили "Зачем тебе это старьё?". Им он не нравился, ведь в нём надо с какими-то регистрами, флагами возится - писать на С#, Delphi, Java-Script проще. Вобщем прийдётся учить хексы самому, ну мне не впервой. А пока, раз я на WASM зарегился, буду в дугих темах участвовать.
     
  2. luckysundog

    luckysundog New Member

    Публикаций:
    0
    Регистрация:
    28 окт 2008
    Сообщения:
    106
    65536
    как ты себе представляешь оптимизацию на уровне машинного кода?
     
  3. bendme

    bendme New Member

    Публикаций:
    0
    Регистрация:
    10 мар 2009
    Сообщения:
    179
    Да как ты не воткнешь то, что асм - это тот же машинный код, просто вместо номеров команд там названия команд?
     
  4. bendme

    bendme New Member

    Публикаций:
    0
    Регистрация:
    10 мар 2009
    Сообщения:
    179
    Я решил научиться писать программы на перфокартах, меня многие "крутые" программеры отговаривали, мол зачем тебе всё это нужно, перфокарты - это прошлый век! Все как один твердили: это слишком сложно, это малоэффективно, используй лучше клавиатуру и монитор. В чем-то я их понимаю... Ну чтож, придется брать дырокол в руки и постигать перфокарты в гордом одиночестве.
     
  5. luckysundog

    luckysundog New Member

    Публикаций:
    0
    Регистрация:
    28 окт 2008
    Сообщения:
    106
    А чтобы редактировать и писать код на практике скачал программу для рисования перфокарт. Но это Винда, а не старая аналитическая машина Бэббиджа, и я даже не знаю с какой стороны подойти чтобы не напортачить, в инете ничего толком не нашёл. Скажите с чего стоит начинать работая в в этом механическом аппарате?
     
  6. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.622
    Адрес:
    Russia
    luckysundog
    главное педали не перепутать :))
     
  7. kero

    kero Модератор SOURCES & 2LZ Команда форума

    Публикаций:
    0
    Регистрация:
    4 апр 2006
    Сообщения:
    1.074
    Адрес:
    Москва
    bendme
    Шутки шутками, но: в этом просто вместо - все и дело.
    Имея в виду конкретные значения номеров команд - можно конструировать фантастические ("недокументированные" :) ) операции над командами.
    Когда-то практиковал подобное в однокристалках.
     
  8. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Многолетняя практика программирования показала, что надо опираться на "чужие" разработки. Т.е. использовать библиотеки программ и оставить оптимизацию на ассемблере спецам. Никто не написал более оптимальной библиотеки для матричной алгебры, кроме самого Интела. И никакой машинный код тебе не поможет даже за 5-10 лет что-то прооптимизировать. А через 5 лет будет уже другое железо - ты будешь никому не нужен со своим хексом.
    Ведь никто же тут и не говорил, что не изучай хекс. Просто заранее определись зачем? Мне его пришлось изучать, т.к. в те далекие времена не было нормальных отладчиков и утилит. И я им пользуюсь до сих пор, но для анализа данных, но никак не программ...
     
  9. 65536

    65536 New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2009
    Сообщения:
    9
    Luckysundog, Bendme этот ваш прикол с перфокартами совершенно не смешной :dntknw: , у меня серьйозные намерения изучать опкод. Кстати я знаю что команды ассемблера - "очеловеченные цыфры", но разве нельзя изучать процесс в том виде в котором его видит машина? Второе если бы я не знал что железо меняется Valterg, я б не стал задавать свой вопрос "с какой стороны подойти, чтобы не напортачить", я не против "высших языков" и чужих наработок но мне в них не нравятся две вещи:
    1. Они ограничивают доступ к ресурсам компа, то в память нельзя обратится, то не лезь в порты.
    2. От как пишеш код в "высшем": команды написал дальше нужно выполнить действие N - обратись в библиотеку S, там это уже налажено и автоматизировано, подключил и компилировал. Работает. Но что конкретно происходит в машине в момент действия S.dll неизвестно, она работает, но как ты не знаеш. А я хочу иметь полную картину процесса.
    Хочу разбиратся в: библиотеках, процессах в компе (до малейшей детальки). Уметь писать: (спасибо за идею, это интересная область) самомодифицырующийся код, эфективные программы (путём синтеза своих и чужих библиотек). Вот зачем я занялся этим кропотливым делом.
    На все вопросы кажись ответил, теперь: наш разговор вижу заходит в тот же тупик что и в "хекс для чайников", раз у меня единомышлеников в этой теме нет, значит не буду выносить вам на расмотрение подобные вопросы господа. Что теперь нужно сделать (я на форуме новичок, не знаю как это делается) чтобы закрыть эту тему? Она похоже вам надоела, да и я не вижу смысла вести этот разговор дальше.
     
  10. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    65536
    Тебе все верно сказали. И kero верно сказал. Единственный смысл "изучать опкоды" - это для трюков или более эффективного кодирования команд, которые допускают несколько вариантов (обычно это mov (e)ax, что-то). Скажем, ты хочешь само-модифицируемый код. Или ищещь варианты с перекрытием команд, в компо-демах используется иногда - прыжок в середину команды, и получают другой код на том же месте. Знаешь, как это делают? Пишут сначала без трюка, смотрят на код, который получился, и при возможности - модифицируют исходник и компилируют заново. Все остальное - глупости.
    Ты не сможешь понять, что делает код - не, бывают люди-феномены, умножают в голове 10-значные числа, играют в шахматы без доски сразу против 5 соперников - но это гемморой. Легче код загнать в дизассемблер.
    Ты не сможешь писать сразу в машинном коде - по 2-3 команды пишут, да. В макросы, как верно сказали. Или без макроса, через db. Можно написать что угодно сложное, конечно. Сначала - на ассемблере, на бумаге или в блокноте. Потом - вручную по мануалам и таблицам опкодов перевести, потом набить. Зачем этот геморой, если есть ассемблер?
    Ты не сможешь модифицировать сразу в машинном коде - вначале дизассемблер, осмысление, потом избавление от лишнего, в освободившееся место что-то свое... Легче это "что-то" в каком-нибудь HIEW или подобном сделать, в виде мнемоники, а не опкода.
    Это тебе говорит человек, развлекавшийся чем-то подобным. По необходимости - у меня интернета не было, была бумажная книга, масм был старый - компилятор и линкер на пятидюймовой дискете с 1988 года болтались. А дебуг выше 86 команд не знает. И дампы для BM80А я читал без дизассемблера - чего там помнить-то было... Все переходы только четко на метку, никаких относительных. Команды структурированы, некоторая логика есть. Дома мучил Радио-РК86, на работе 486. И как только я скачал ассемблер, знающий про 486-й процессор, дизассемблеры, и мануалы Интела - такой фигней более не занимался.
    Единомышленников нет, говоришь? Я хочу причесываться когтями ноги - подскажите пожалуйста, какой длины их растить, с какой силой нажимать, и чем питаться, чтобы они не ломались. И как правильно растяжку делать, чтобы дотянуть ногой до затылка. А чего - кошка может, а я? Это естественно для живых существ! Всякие приспособления - костыли для неумех. Если у меня нет тут единомышленников, фу на вас всех, пойду на форум психиатров. И задолбали уже про расчески говорить. Аналогия понятна? =)))
    А, ну если когда делаешь все в машинном коде, чувствуешь себя крутым и готов спросить "А вам - слабо?" - это тем более глупости ;)
     
  11. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    65536
    Прощу прошения за обсуждения твоего ника, но он у тебя точно анти-хексоый. Хексовый нужно было бы выбрать как 65535.

    Не, хекс программирования нужно и никогда не умрет, но трудно припомнить что нить кроме вставки заплат в чужие проги. Вот там нужно знать, что за коды у команд, какой длины. Но не думаю что их ктото помнит кроме 90 90 90 90 или вычисляет... Просто смотрят по асм-эквиваленту че за код получится.
     
  12. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    тут оно точно в корень не впилось
    а зачем? или ваш дизассемблерный настолько убог? не показывает рядом с асм командой ее хекс вариант?
    а! так вы шутник :derisive: смешно, смешно )
     
  13. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    Чего то вы не то гоните... Как потом будете патч писать? Или в patch.exe предлагаете портативный ассемблер поставить, типа иди на адрес и пропиши туда xor eax,eax? Вот ето действительно смешно до угара =)))
     
  14. spa

    spa Active Member

    Публикаций:
    0
    Регистрация:
    9 мар 2005
    Сообщения:
    2.240
    persicum
    Гы? вы че совсем без фантазии?
    Пишем патч на ассемблере, потом с пропатченых кусков берем HEX код? А вы всегда пишете в хекс кодах? ы
    Не догадаться сдампит то что пропатчили, это конечно жесть.
     
  15. persicum

    persicum New Member

    Публикаций:
    0
    Регистрация:
    2 фев 2007
    Сообщения:
    947
    Ну воопщем так оно и есть... Однако даже при замене строк и нужна известная осторожность чтобы лишнего не потереть, а при замене кода нужна еще большая осторожность, энто тот случай когда нужно обращать внимание что за хексы и какой длины генерит асм-компилер.
     
  16. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    persicum
    для патча всё просто: сравнивается старая и новая версии файла, различия индексируются с указанием их длин и смещений -- процесс прекрасно автоматизируется и не требует какого-либо знания хекс кодов.
    --------------------------------------
    а ТС могу порекомендовать поставить перед собой более конкретную задачу -- эта же задача а-ля 'читаем и запоминаем ГОСТы' непонятно зачем.
     
  17. 65536

    65536 New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2009
    Сообщения:
    9
    Интересно рассуждаеш FatMoon, "А, ну если когда делаешь все в машинном коде, чувствуешь себя крутым и готов спросить "А вам - слабо?" - это тем более глупости ;)" Не "А вам слабо" я говорить не собирался, у меня не кремниевые мозги и не медные нервы (как у моей машины) чтобы умножать 10-ти значные цыфры, я не человек-феномен и палку не гну, а просто говорю что если мы можем выучить ассемблер то почему не можем выучить хекс-код? Да это сложно, но реально (писали же люди проги в 50-х годах) Я хочу попробовать это сделать и реально пользоватся кодами, дать им вторую жизнь так сказать.
    "Пишем патч на ассемблере, потом с пропатченых кусков берем HEX код", можно, но я вообще собирался идти по другой цепочке: "вначале дизассемблер, осмысление, потом избавление от лишнего, в освободившееся место что-то свое..." - таким был мой план с самого начала.
    П. С. Чем это мой ник не устраивает? Я использовал то что легко можно было запомнить: сколько чисел можно вбить в 16 бит, ровно 65536 тоесть все от 0 до 0FFFFh.
     
  18. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    65536
    мне кажется, что тебе больше поговорить захотелось, чем хексом заниматься: понятно на все 100%, что такое желание не вызовет особой поддержки у многих людей людей, по-разным причинам. но если уж тебе хочется.. реально хочется -- ну, кто тебе мешает?:)
     
  19. 65536

    65536 New Member

    Публикаций:
    0
    Регистрация:
    24 сен 2009
    Сообщения:
    9
    Форум был создан для обсуждения вопросов по программированию. Я в самом начале на форум зашел и сказал:
    Я в хекс кодинге новичёк с чего начать его изучение посоветуете?
    А дальше посыпалась масса ответов, и начали обсуждать что к чему. Я пытаюсь отвечать на все встречные вопросы, поэтому приходится так много говорить. Я его учу - тут книжечка по дизассемблированию от Пирогова читается, ПАО, IDA 4.7 . Работаем в общем, а здесь ищу дельного совета.
     
  20. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.243
    65536
    у интелла можно маны скачать, вроде, в районе 80 мегов, у амд маны поищи, если надо..
     
Статус темы:
Закрыта.