|
14 / 14 / 8
Регистрация: 26.09.2007
Сообщений: 921
|
||||||||||||||||
Программирование для dos4g.exe17.12.2023, 16:59. Показов 3241. Ответов 26
Метки нет (Все метки)
Программу компилирую с помощью Visual Studio 5.0
У меня есть dos4g.exe с примерами, я взял hello world пытаюсь компилировать. Мой BAT файл для компиляции следующий
0
|
||||||||||||||||
| 17.12.2023, 16:59 | |
|
Ответы с готовыми решениями:
26
Не запускаются AVZ. exe, CCleaner. exe, AutoLogger. exe, regedit. exe Дублируются процессы Вмонтировать exe в файл для его блокировки на время работы exe |
|
Модератор
|
||
| 20.12.2023, 17:10 | ||
SAVE, можно сохранить дамп интересующих участков работающей программы на старте, и спокойно поискать в нём вне отладчика, натравить свои утилитки, статические анализаторы, дизассемблеры и т.п.
0
|
||
|
Модератор
|
|||||||||||||||||||||||||||||||||||||
| 21.12.2023, 10:56 | |||||||||||||||||||||||||||||||||||||
|
Если бы у отладчика была инормация о символе main, Вы бы просто установили точку на main.Дамп окна Watcom-отладчика:
main = 0377:02490010В другой раз загрузчик может разместить object, содержащий main, в другом месте линейного адресного пространства, изначение main будет уже иным:
object 0001 а отладчику неизвестен, то нужно как-то узнать, где начинается наш object в адресном пространстве отлаживаемой программы.Нам повезло, и в заголовке исполняемого LE/LX объектного модуля указано, какое значение загрузчик должен присвоить EIP перед началом выполнения программы относительно того же object 0001
Object 0001 начинается с EIP-0x94, где EIP - содержимое регистра EIP перед началом выполнения программы.Начинаем сеанс отладки без отладочной информации (или просим Watcom-отладчик начать отладку не с main(), а с кода инициализации C runtime, из которого main() вызывается).
object 0001 в сегменте с селектором 0377:02490094Object начинается с 0x2490000, а main, таким образом, с 0x2490000 + 0x10 = 0x2490010Если нас интересует адрес чего-то в другом object, то его можно найти по ссылкам из известного object.
1
|
|||||||||||||||||||||||||||||||||||||
|
14 / 14 / 8
Регистрация: 26.09.2007
Сообщений: 921
|
||||||||||||||||
| 21.12.2023, 17:50 [ТС] | ||||||||||||||||
|
Спасибо, начинает до меня доходить.
Значит я посмотрел в IDA информацию про файл Как видно Program Entry Point (CS:EIP) 1:0003A574h Дальше я загружаю ЕХЕ при помощи команды из батника
83432574 - 3A574 = 833F8000 Дальше делаю команду в окне d32.exe
Я правильно пока все делаю? Но как main() найти без отладочной информации? Я знаю main смещение в IDA это нам что то дает? Я пробовал добавить к 833F8000 + 28460 смещение main() в IDA но код дизасемблерный из IDA и d32 не совпадает по этому адресу.
0
|
||||||||||||||||
|
14 / 14 / 8
Регистрация: 26.09.2007
Сообщений: 921
|
||
| 21.12.2023, 18:16 [ТС] | ||
|
Я нашел main в d32.exe
833F8000 + 28460 все правильно, видно я что то напутал. Я сложил эти два числа - и получил адрес 03C7:83420460 - перешел командой U в d32 и сравнил код с IDA - все сошлось - это main(). Спасибо! 02490094 - 00000094 Что это за адрес 02490094 что от него надо отнимать адр. Object? Добавлено через 15 минут Спасибо огромнейшее! Еще вопрос, я немного не разобрался - например в d32.exe есть вызов call функции, можно как то по своему называть эту функцию - дай ей свое имя, как в IDA? И сохранить потом файл с базой данных (как в IDA).
0
|
||
|
Модератор
|
||
| 22.12.2023, 11:20 | ||
pe2dbg.exe вроде бы и должна строить такую таблицу по отладочной информации, извлечённой из PE-модуля.Можно ли вручную определять свои символы во время сеанса отладки, не знаю. Не стоит привыкать к этому отладчику. Версия DOS/4G с поддержкой PE достаточно редкая, и в своё время уже мало кому была нужна. Основной автор и основатель компании, к сожалению, не успел восстановить и привести в порядок свой архив перед неудачной операцией на сердце. ![]() Последняя поддерживаемая версия DOS/4GW - та, которую он успел передать команде OpenWatcom.
1
|
||
|
14 / 14 / 8
Регистрация: 26.09.2007
Сообщений: 921
|
|
| 22.12.2023, 15:59 [ТС] | |
|
А вот еще вопросик. Например я начинаю откладку программы в d32.exe и программа переходит в полноэкранный режим, как переключаться между окном d32.exe и отлаживаемой программой? Под чистым MS-DOS это наверно невозможно (переключение между задачами) а вот под WinMe? Может на 2х мониторах можно - в одном мониторе d32.exe в другом программа?
0
|
|
|
Модератор
|
|
| 22.12.2023, 16:17 | |
|
Чтобы приостановить отлаживаемую программу, можно назначить горячую клавишу.
Но при этом может испортиться видеорежим, установленный программой, палитра и т.п. Поэтому у разработчиков того времени для удобства отладки устанавливали дополнительный монохромный или совместимый с ним видеоадаптер. В отладчике есть команды перехода в монохромный или двухэкранный режим. В Watcom'овских отладчиках можно использовать "удалённую" отладку, когда UI отладчика запускается на другой машине или в другом процессе на той же машине в своем окне.
1
|
|
| 22.12.2023, 16:17 | |
|
Никак не могу установить WinHlp32.exe/WinHlp.exe для просмотра хелпника из ПО Как внедрить dll в exe, чтобы для работы программы нужен был только exe файл
вирус calc.exe*32 notepad.exe*32 cmd.exe cannhost.exe Вирусы dwm.exe dllhost.exe ctfmon.exe svchost.exe Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия 31: модель микоризы - это модель ещё нескольких явлений, социальных и экономических
anaschu 18.07.2026
Теория «Всего»: апдейт v1. 1. 2 — 28‑мерное ядро стабилизировано
Коллеги, фиксирую разбор инженерных правок и их изоморфную проекцию на экономику, меметику и половой отбор. Модель теперь не. . .
|
сукцессия 30. Массив проверяющих друг друга моделей
anaschu 18.07.2026
Архитектура сети взаимопроверяющих моделей микоризной сукцессии (v2. 0)
Развитие тензорного ОДУ-ядра и создание кросс-платформенного калибровочного полигона
Уважаемые коллеги!
В продолжение. . .
|
Грибы - это женщины, деревья - это мужчины. Анти инь янь для союза мужчины и женщины.
anaschu 18.07.2026
ГЛАВНЫЙ НАУЧНО-ФИЛОСОФСКИЙ ВЫВОД: Сексуально-Репродуктивный Капитализм против Государства Моногамии
Коллеги, мы вышли на финишную прямую 20-мерного ОДУ-моделирования вековой сукцессии (ветка. . .
|
Текстовый слайдер с нумерацией страниц и кроссбраузерность.
russiannick 18.07.2026
Один мой друг написал текстовый слайдер с нумерацией страниц. Сегодня я расскажу как он умудрился подружить его с кроссбраузерностью.
Очевидно сложно угодить с шириной каждому браузеру. Один крадет. . .
|
|
Грибы - это мемы, дерево - это человек. Применение микоризной модели к теории меметики Докинза.
anaschu 18.07.2026
Меметический изоморфизм теории «всего»: Грибная сукцессия как модель эволюции идей Докинза
Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а универсальную. . .
|
Грибы - это корпорации, деревья - это государства. Механизм массонского захвата власти
anaschu 18.07.2026
Макроэкономический изоморфизм теории «всего»: Грибная сукцессия как модель транснационального капитализма
Базовый код системы ОДУ микоризной сукцессии описывает не просто биологию, а. . .
|
Расчёт периметра прямоугольника по координатам вершин
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Вычислить периметр прямоугольника, заданного координатами своих вершин на плоскости.
Решение:
Создан документ со следующими. . .
|
Подсчёт частоты трёхбуквенных слов в тексте
Maks 18.07.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Выясните, сколько раз в предложенном тексте встречается каждое трехбуквенное слово.
Решение:
Создан документ с единственным. . .
|