powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / This program cannot run in DOS mode
14 сообщений из 14, страница 1 из 1
This program cannot run in DOS mode
    #37818558
Это сообщение выводят программы, написанные только на C++ или есть еще какие то компиляторы, которые встраивают это сообщение ?

И посоветуйте нормальный (условно-)бесплатный декомпилятор программ на C++, с помощью которого так же можно модифицировать (вероятнее всего тупо за-NOP-ить).

Из памяти знаю только IDA. Что есть еще?
...
Рейтинг: 0 / 0
This program cannot run in DOS mode
    #37818585
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TCP сокет пейсатель,

А какая цель? Это не очень есть сейчас смысл делать, это видно только в реальном ДОС-е
...
Рейтинг: 0 / 0
This program cannot run in DOS mode
    #37818867
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fasm тоже вставляет "This program cannot run in DOS mode". Это же вроде часть стандартного заголовка файла.

"декомпилятор программ на C++" тебе надо из exe получить код на С++? Тогда IDA не подойдет, получишь код на asm.
...
Рейтинг: 0 / 0
This program cannot run in DOS mode
    #37819074
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TCP сокет пейсательИ посоветуйте нормальный (условно-)бесплатный декомпилятор программ на C++, с помощью которого так же можно модифицировать (вероятнее всего тупо за-NOP-ить)."Тупо за-NOP-ить" позволит любой HEX-редактор. Но до кучи могу порекомендовать Olly Debugger.
А главный вопрос, всё-таки - зачем? Это же просто пометка в исполняемом файле, на случай, если его запустят под DOS - "эй, эта программа не для DOS". Насколько понимаю, в случае байт-кода (C#, Java) добавляется ещё одна аналогичная пометка - "эй, эта программа и не для Windows".
...
Рейтинг: 0 / 0
This program cannot run in DOS mode
    #37819138
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 05/31/2012 11:24 AM, Abstraction wrote:

> А главный вопрос, всё-таки - зачем? Это же просто пометка в исполняемом файле,
> на случай, если его запустят под DOS - "эй, эта программа не для DOS". Насколько
> понимаю, в случае байт-кода (C#, Java) добавляется ещё одна аналогичная пометка

На самом деле не пометка, там всё прикольнее -- в .exe -- два выполняемых
файла, склеенных друг с другом. Ну и два адреса точек входа , для доса и
для винды.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
This program cannot run in DOS mode
    #37819899
MasterZivTCP сокет пейсатель,

А какая цель? Это не очень есть сейчас смысл делать, это видно только в реальном ДОС-е

в моей памяти отложилось, что некий дизассемблер может в виде комментариев выдавать Си-подобные инструкции. Причем это был аж 10 лет назад. Тоже самое делает DeDE для делфи.

Я знаю, что для этого дизассемблеру важно распознать, каким компилятором скомпилирована

Ассемблер отметается сразу - на нем никто не пишет. Делфи не вставляет этот текст в заголовок.

Имеется купленная программа, исходных текстов нет, разрабы и саппорт положили на нее, из-за лишней инструкции "SELECT COUNT(*) FROM <Таблица> WHERE ID=0" программа не работоспособна.

Нужно этот тупой SELECT просто удалить и EXE-шника (вероятнее всего за-NOP-ив)

Как это сделать?
Модератор: следи за языком.
...
Рейтинг: 0 / 0
This program cannot run in DOS mode
    #37819904
AbstractionTCP сокет пейсательИ посоветуйте нормальный (условно-)бесплатный декомпилятор программ на C++, с помощью которого так же можно модифицировать (вероятнее всего тупо за-NOP-ить)."Тупо за-NOP-ить" позволит любой HEX-редактор. Но до кучи могу порекомендовать Olly Debugger.
А главный вопрос, всё-таки - зачем? Это же просто пометка в исполняемом файле, на случай, если его запустят под DOS - "эй, эта программа не для DOS". Насколько понимаю, в случае байт-кода (C#, Java) добавляется ещё одна аналогичная пометка - "эй, эта программа и не для Windows".

мне нужно знать, каким компилятором откомпилирована программа. Она нативная для Win32.

есть ли freeware программы для этого?
...
Рейтинг: 0 / 0
This program cannot run in DOS mode
    #37820058
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TCP сокет пейсательв моей памяти отложилось, что некий дизассемблер может в виде комментариев выдавать Си-подобные инструкции. Причем это был аж 10 лет назад. Тоже самое делает DeDE для делфи.

Я знаю, что для этого дизассемблеру важно распознать, каким компилятором скомпилирована

Ассемблер отметается сразу - на нем никто не пишет. Делфи не вставляет этот текст в заголовок.

Имеется купленная программа, исходных текстов нет, разрабы и саппорт положили на нее, из-за лишней инструкции "SELECT COUNT(*) FROM <Таблица> WHERE ID=0" программа не работоспособна.

Нужно этот тупой SELECT просто удалить и EXE-шника (вероятнее всего за-NOP-ив)

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

В этих ваших интернетах полезные советы на сей счёт ищутся секунд за десять. Соптимизированный код без отладочной информации в читабельный C++-исходник не переводится. Olly debugger может помочь найти нужное место в коде в динамике, дальше проще сориентироваться по ассемблеру, чем искать обходные пути.
...
Рейтинг: 0 / 0
This program cannot run in DOS mode
    #37820180
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 05/31/2012 05:07 PM, TCP сокет пейсатель wrote:

> в моей памяти отложилось, что некий дизассемблер может в виде комментариев
> выдавать Си-подобные инструкции. Причем это был аж 10 лет назад. Тоже самое
> делает DeDE для делфи.

Это очень сложно. Любой современный оптимизатор тебе из кода такое устроить,
что мало не покажицо.
Может когда-то давно-давно, когда машины были большими, а памяти в них
было 640 килобайт...

> Имеется купленная программа, исходных текстов нет, разрабы и саппорт положили на
> нее, из-за лишней инструкции "SELECT COUNT(*) FROM <Таблица> WHERE ID=0"
> программа не работоспособна.

Так создай таблицу, в чём проблема ?

> Нужно этот тупой SELECT просто удалить и EXE-шника (вероятнее всего за-NOP-ив)
> Как это сделать?

А при чём тут "This program cannot run in DOS mode" ?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
This program cannot run in DOS mode
    #37820188
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 05/31/2012 05:09 PM, TCP сокет пейсатель wrote:

> мне нужно знать, каким компилятором откомпилирована программа. Она нативная для
> Win32.

0) тебе это не нужно знать.
2) любая программа под Win32 обязана иметь DOS stub и будет писать в досе
This program cannot run in DOS mode
3) компилятор обычно очень легко узнать, открыв .exe любым бинарным редактором
(или текстовым), обычно там просто словами будет написан копирайт компилятора.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
This program cannot run in DOS mode
    #37820204
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv> нее, из-за лишней инструкции "SELECT COUNT(*) FROM <Таблица> WHERE ID=0"
> программа не работоспособна.

Так создай таблицу, в чём проблема ?Или, как более худший вариант, исправить имя таблицы на какой-нибудь dual и убрать секцию WHERE.
...
Рейтинг: 0 / 0
This program cannot run in DOS mode
    #37820754
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TCP сокет пейсатель...
Имеется купленная программа, исходных текстов нет, разрабы и саппорт положили на нее, из-за лишней инструкции "SELECT COUNT(*) FROM <Таблица> WHERE ID=0" программа не работоспособна.
Нужно этот тупой SELECT просто удалить и EXE-шника (вероятнее всего за-NOP-ив)
Как это сделать?

Открой exe блокнотом. Сделай поиск по тексту "SELECT COUNT(*) FROM <Таблица> WHERE ID=0". Если найдет, то все достаточно просто. Открывай exeщник hex редактором, HIEW_611 например. Ищи строку и правь, как тебе надо.
...
Рейтинг: 0 / 0
This program cannot run in DOS mode
    #37829603
OllyDbg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
m_SlaОткрывай exeщник hex редактором, HIEW_611 например. Ищи строку и правь, как тебе надо.

а может быть OllyDbg лучше?
...
Рейтинг: 0 / 0
This program cannot run in DOS mode
    #38030055
TCP сокет пейсательЭто сообщение выводят программы, написанные только на C++ или есть еще какие то компиляторы, которые встраивают это сообщение ?

это сообщение выводит компилятор Microsoft Visual C++
Компиляторы Borland выводят "This Program Must Be Run Under Win32" , что как бэ намекает
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / This program cannot run in DOS mode
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]