поменять регистр с числом в программе

Тема в разделе "WASM.BEGINNERS", создана пользователем Arwen, 16 май 2008.

  1. Arwen

    Arwen New Member

    Публикаций:
    0
    Регистрация:
    16 май 2008
    Сообщения:
    10
    Ребята, помогите, пожалуйста, с лабой..я в асме совсем не разбираюсь, а лабу надо сдавать :dntknw:
    Программа win9.exe выводит в стандартное окно число в 16-ричном виде при нажатии на соответствующую кнопку. Изменить win9.exe так, чтобы изменился регистр с числом с dl на dh. Требуется открыть написаное преподом приложение в hiew насколько я поняла в режиме decode. Я открыла, но не могу понять где там кусок кода который делает основную работу :dntknw: да и задание вообще непонятное..там надо ввести 3 символа но программа ругается "it's not correct!". Подскажите, пожалуйста, где и что надо изменить.
    И выпишите сюда, пожалуйста, какой по номеру байт в файле пришлось поменять, а также старое его значение в шестнадцатеричном виде и новое.
    программка воть http://ifolder.ru/6587415

    писала в теме про лабораторные никто не ответил:dntknw: нужно на завтра помогите, пожалуйста :dntknw:
     
  2. DEEP

    DEEP Андрей

    Публикаций:
    0
    Регистрация:
    27 апр 2008
    Сообщения:
    491
    Адрес:
    г. Владимир
    1) Чтобы стал выводиться не DL, а DH, нужно к 1086-му байту проги прибавить 4, и получится в итоге не 8AC2h
    Код (Text):
    1. MOV AL, DL
    а 8AC6h
    Код (Text):
    1. MOV AL, DH
    PS: Код генерации строки (а она, кстати, равна "VUc") расположен по смещению 1150 и длится 24 байта. Можно всю эту ботву забить NOP-ами (90h) или поставить абсолютный джамп.

    PPS: Также можно написать патчер на эту прогу =)
    Отладка сией программулины - одно удовольствие: ни тебе пакованных секций, ни танцев с бубном вокруг ЕР, ни километров кода... ляпота одним словом %)
     
  3. FireFox

    FireFox New Member

    Публикаций:
    0
    Регистрация:
    9 май 2008
    Сообщения:
    19
    А смысл было две темы создавать? Все равно быстрее не ответят.
     
  4. DEEP

    DEEP Андрей

    Публикаций:
    0
    Регистрация:
    27 апр 2008
    Сообщения:
    491
    Адрес:
    г. Владимир
    Чорт. Опередили =( Зря тему про лабы игнорирую... мда.
     
  5. Arwen

    Arwen New Member

    Публикаций:
    0
    Регистрация:
    16 май 2008
    Сообщения:
    10
    спасибо огромное :))))
    а где в программе строка, генерирующая пароль? и где в hiew можно посмотреть номер байта?
    а как написать патчер для неё можете показать мне аж самой интересно стало:) ?
     
  6. FireFox

    FireFox New Member

    Публикаций:
    0
    Регистрация:
    9 май 2008
    Сообщения:
    19
    DEEP, у тебя проще решение =) Насчет патчера...это круто. =)
     
  7. DEEP

    DEEP Андрей

    Публикаций:
    0
    Регистрация:
    27 апр 2008
    Сообщения:
    491
    Адрес:
    г. Владимир
    Ну если редактировать вручную, то лучше искать вхождение строки. Генерилку можно обнаружить по первым трём её байтам: 8A8610. Да и 8А2С тоже лучше искать. Я номера байтов привёл именно для патчера.
    Патчер должен открыть прогу как файл, скажем, функцией CreateFile, затем записать по нужным смещениям нужные байтовые строки, а потом этот файл закрыть. Вот, в общем, и всё... Щас, если будет время, напишу. А то что-то я отвлёкся тут с вами :)
     
  8. Arwen

    Arwen New Member

    Публикаций:
    0
    Регистрация:
    16 май 2008
    Сообщения:
    10
    DEEP
    нет мне в задании надо было выписать именно номер байта который изменили и я не могу его в hiew найти где посмотреть..и где можно увидеть RVA?
     
  9. Arwen

    Arwen New Member

    Публикаций:
    0
    Регистрация:
    16 май 2008
    Сообщения:
    10
    DEEP
    если что можно патч на masm32 написать, потому что я только masm пока что пытаюсь учить?
     
  10. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    Блин. Даже интересно стало. Прикольным вещам совремённую малодежь учат - проги взламывать. И куда только БГ смотрит? И даже девушек. А чему-же парней учат?
    слева колонка. (rva+400000h)
     
  11. Arwen

    Arwen New Member

    Публикаций:
    0
    Регистрация:
    16 май 2008
    Сообщения:
    10
    _basmp_
    преподаватель просто интересный и умеет весьма необычно преподнести обычные вещи :)
     
  12. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    тут пожалуй, не подход, а сами вещи необычны. У такого препода вам, пожалуй, поучиться стоит. Одни из самых важных хакерских качеств - прилежность и терпеливость. И женщины к ним предрасположены гораздо больше мужчин.
     
  13. Arwen

    Arwen New Member

    Публикаций:
    0
    Регистрация:
    16 май 2008
    Сообщения:
    10
    _basmp_
    стараюсь :) хотя кучу всего ещё не знаю
     
  14. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    Arwen
    Платон (вроде) сказал - "чем больше я узнаю, тем лучше я понимаю как мало мне известно". Таким образом, ощущение незнания будет только рости. Вплоть до полной уверености в своем имбицилизме. Правда, к тому времени вам это перестанет задевать.
     
  15. Arwen

    Arwen New Member

    Публикаций:
    0
    Регистрация:
    16 май 2008
    Сообщения:
    10
    DEEP
    а когда вы патч напишете?
    мне лабу сдавать послезавтра, а я хочу ещё в коде разобраться
     
  16. DEEP

    DEEP Андрей

    Публикаций:
    0
    Регистрация:
    27 апр 2008
    Сообщения:
    491
    Адрес:
    г. Владимир
    Итак, вот оно. Красивостей никаких нет, зато есть функционал. Можно автоматически поменять регистры DL/DH и сменить пароль на тот, который захочетсо :) Перед заменой выведется предыдущий пароль. На оптимизацию особо не упирал, понятности ради. Если доделать "рюшечки" - шрифты контролам задать, вставить секцию Greetings, нарисовать на заднике какой-нить умапамрачительный фрактал (могу подкинуть пару идей ;D) - будет нифиговый такой патчер. Team CoRE отдыхаетъ %)

    Добавлено: ещё стоило бы прикрутить диалог выбора файла в случае его отсутствия в текущем каталоге с кряком, однако мне уже лень...
     
  17. Arwen

    Arwen New Member

    Публикаций:
    0
    Регистрация:
    16 май 2008
    Сообщения:
    10
    DEEP
    ой пасибки :))
    только можно патчер урезать, чтобы он только чтобы он только заменял требуемый по заданию байт, чтобы я попыталась понять как это работает.
    покажите,пожалуйста,фрагмент программы, где сравниваются ключи фрагмент с адресом переменной с ключом.
    а можно немножко прокомментировать код, мне там многое непонятно?
    и как в моей программе через hiew можно посмотреть такие вещи?
    - виртуальный адрес начала программы;
    - количество секций, их типы, размер, RVA и что в них находится;
    - RVA точки входа в программу;
    - типы ненулевых директорий;
    - используемые библиотеки .dll,
    - API-функции и их номера в .dll.
    и если можно, нарисуйте мне, пожалуйста, PE-формат для файла в виде схемы с названиями частей, их RVA и размерами..я совсем не знаю как это делать