Как загрузить 32х код в отладчик

Тема в разделе "WASM.BEGINNERS", создана пользователем Debris, 7 дек 2011.

  1. Debris

    Debris New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2011
    Сообщения:
    33
    Нужно отладить код в отладчике (на бумаге уже не справляюсь), не могу загрузить его ни в какой отладчик, 16 разрядный код отлаживал софтайсом, там просто, а на 32 разрядный код, ругаютя все отладчики которые только пробовал и оли и софт айс (остальные названия непомню с психу удалил всё нахрен....) пишут файл не является PE и загружать напрочь отказуются, попытки засунуть в чужую программу свой код, в окне отладчика, не увенчались успехом, нужно пошагово проследить регистры в коде, работаю на виндовс, свой код запускаю с жёсткого диска напрямую, на втором компе.
     
  2. h0t

    h0t Member

    Публикаций:
    0
    Регистрация:
    3 апр 2011
    Сообщения:
    735
    а Вы чем программу собираете? если они говорят что не являются PE файлом, значит они таковыми не являются.
     
  3. Debris

    Debris New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2011
    Сообщения:
    33
    Хекс редактором ..., пишу алгоритм на асме, перевожу по таблицам в маш код, сохраняю в bin формате, потом с помощю френзи копирую посекторно на ж/д
     
  4. Debris

    Debris New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2011
    Сообщения:
    33
    Ну да они не исполняемые, и ни на какую ось я их ставить не собираюсь, но что же делать....(
     
  5. h0t

    h0t Member

    Публикаций:
    0
    Регистрация:
    3 апр 2011
    Сообщения:
    735
    Это Вы загрузчик пишите?
    можете попробывать использовать bochs, у него есть встроенный отладчик.
     
  6. Debris

    Debris New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2011
    Сообщения:
    33
    я хочу написать хекс редактор и отладчик, работающие без ос, в котором буду развивать идею дальше, щас застрял на драйвере клавиатуры гдето ошибка и никак не могу найти... в bosh есть отладчик надо пробнуть....
     
  7. Debris

    Debris New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2011
    Сообщения:
    33
    Не нашол я в боксе никакого отладчика...., а с эмуляции ж/д вобще запустить мой код он отказался, возможно ругается на отсутствие таблиц разделов, но мне то они ненужны...
     
  8. Mikl___

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

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Debris
    если для отладки скомпилируйте как РЕ-файл и отлаживайте кусками
     
  9. Debris

    Debris New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2011
    Сообщения:
    33
    щас попробую в визуал студию как-нибудь свой код засунуть
     
  10. Mikl___

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

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Debris
    Ollydbg чем плох?
     
  11. Debris

    Debris New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2011
    Сообщения:
    33
    я в смысле, скомпилировать как PE, а потом засуну в оли, но щас читаю про вставки ассемблерные и не вижу возможности засунуть опкодами, а инструкции он наверняка перекомпилит
     
  12. Mikl___

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

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Debris
    db 0FFh, 0C3h и т.д. никто не отменял
     
  13. Debris

    Debris New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2011
    Сообщения:
    33
    "db 0FFh, 0C3h"?, эм.... ща поищу чё ето такое...
     
  14. Mikl___

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

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Debris
    Ну вы, батенька, даёте! опкоды инструкций, как данные
     
  15. Debris

    Debris New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2011
    Сообщения:
    33
    ааа, а я подумал это какаято хитрая уловка, так вот пишут на форумах что низзя так, тут http://www.xakep.ru/magazine/xs/071/040/1.asp написано "Например, в inline-ассемблере Visual C++ нет никаких средств для объявления переменных, поэтому про привычные DB, DW, DD, DQ, DT, DF, DUP и THIS можно забыть."
     
  16. FatMoon

    FatMoon New Member

    Публикаций:
    0
    Регистрация:
    28 ноя 2002
    Сообщения:
    954
    Адрес:
    Russia
    1. Берем пакет MASM32.

    а) в папке установки лежит утилита bintodb.exe - открываем любой файл (даже ваш двоичный, который никуда не грузится) и получаем текстовый для вставки:
    db 01, 34, 56, 80, 114, 96...

    б) пишем маленький файл, примерно следующий:

    Код (Text):
    1. .386
    2. .model flat, stdcall
    3. option casemap :none   ; case sensitive
    4.  
    5. include \masm32\include\windows.inc
    6. includelib \masm32\lib\kernel32.lib
    7.  
    8. .code
    9. start:
    10.  
    11.     push 0
    12.     call ExitProcess
    13.  
    14. end start
    в) вставляем содержимое из bintodb в наш файл после метки start (но до команды push 0). Компилируем - получаем ПЕ-формат, с вашим кодом внутри. Грузим в отладчик (навряд ли стоит запускать результат без отладчика...) и исследуем.

    Или 2. Берем пакет FASM.

    а) пишем файл примерно такого содержания:

    Код (Text):
    1. include 'win32ax.inc'
    2. .code
    3.  
    4. start:
    5.         file 'myfile.bin'
    6.         invoke  ExitProcess,0
    7. .end start
    б) сохраняем исходник в одну папку с бинарником (чтобы пути не прописывать). Или наоборот, указываем путь к myfile.bin, тогда сохраняем куда угодно.
    в) компилируем и опять-таки запускаем в отладчике и исследуем
     
  17. Mikl___

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

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Debris
    вроде бы вот способ как это обойти
    Turbo Pascal до версии 5.5 (или даже 6.0) не имел встроенного ассемблера (конструкций типа asm ... end), машинный код можно было вставлять лишь с помощью заявлений inline($90,$90, ...);
     
  18. Debris

    Debris New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2011
    Сообщения:
    33
    неужели придётся PE шапку вручную собирать по байтам ппц, а про софт айс пишут может отладить любой код....,брехня!
     
  19. Debris

    Debris New Member

    Публикаций:
    0
    Регистрация:
    7 янв 2011
    Сообщения:
    33
    FatMoon, Mikl___ спаибо, щас буду пробовать
     
  20. Mikl___

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

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Debris
    Посмотри "Сам себе Iszelion" там добавление РЕ-заголовка и ресурсов автоматизировано, ничего страшного, глаза боятся -- руки делают