IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

 
 Ответить  Открыть новую тему 
> исправление Exe файла
исправление
сообщение 16.06.2006 11:36
Сообщение #1


Гость






Проблема: Написал курсовик на Pascale. Принес преподу. У него не запустился. Я там пути не абсолютные указал на egavga. Терь он требует исправить это прямо в экзэшнике. Как это сделать?? я открыл его блокнотом нашел строку нужную удалил, а он не запускается
 К началу страницы 
+ Ответить 
klem4
сообщение 16.06.2006 12:11
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Ты открыл exe - файл блокнотом и еще нашел что там исправлять ? blink.gif Ты не путаешь экзешник с иcходником ? Возможно препод хотел чтобы ты при инициализации графического режима явно указывал пусть к драйверу ?

т.е например
initgraph(gd, gm, 'c:\TP7\BGI')


?

Сообщение отредактировано: volvo - 3.11.2006 20:17


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 16.06.2006 12:53
Сообщение #3


Гость






Или (что самое надежное) - включить BGI прямо в EXE-шник:
FAQ: Директивы компилятора
(смотреть директиву $L)
 К началу страницы 
+ Ответить 
SKVOZNJAK
сообщение 17.06.2006 17:06
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 930
Пол: Мужской

Репутация: -  11  +


Почему это нельзя патчить скомпилированную прогу? Если хватит знаний - на здоровье, но использовать для этого портящий код блокнот nea.gif C:\WINDOWS\system32\edit.com вот это намного лучше. Нужно открыть файл как двоичный и не допускать сдвигов текста: не стирать и не добавлять а только заменять символы.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Noof
сообщение 17.06.2006 19:13
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 61
Пол: Мужской

Репутация: -  0  +


согласен. можно и исправить ехешник собсно если интересно =) смотришь и в нужное русло человек уйдет :D


--------------------
...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 17.06.2006 19:30
Сообщение #6


Гость






Вот только ты опять в сторону флейма не уходи, OK? Я больше предупреждать не буду...
 К началу страницы 
+ Ответить 
Altair
сообщение 18.06.2006 13:28
Сообщение #7


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Цитата
и еще нашел что там исправлять ?

почему бы и нет ?
Вернемся к вопросу:
Цитата
Терь он требует исправить это прямо в экзэшнике.

Без проблемм!
Смотри как делал я.
Для тестирования написал программу :
uses graph,crt;
var
gd,gm:integer;
begin
gd:=detect;
initgraph(gd,gm,'c:\prog_sys\bin\');
readkey;
closegraph;
halt;
end.

Далее скомпилировал, проверил все норм.
Естественно если убрать из папки c:\prog_sys\bin\ файл egavga.bgi то программа не инициализирует видео.
Далее я открыл HEX редактором файл программы :
Прикрепленное изображение
И, используя поиск, нашел указанный в программе пусть к драйверу:
Прикрепленное изображение
И строку
Цитата
c:\prog_sys\bin\

(hex:633A5C70726F675F7379735C62696E5C )
заменил на
Цитата
\

(пробелыми заменяем ненужные символы пути)
(hex:5C202020202020202020202020202020 )

Прикрепленное изображение

Все!
Теперь программа работает в любой директории, если в ней находиться файл egavga.bgi
!!! cool.gif

Автору спасибо за интересный вопрос!


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Malice
сообщение 18.06.2006 16:25
Сообщение #8


Профи
****

Группа: Пользователи
Сообщений: 705
Пол: Мужской

Репутация: -  20  +


Цитата(Altair @ 18.06.2006 14:28) *

почему бы и нет ?

В данном случае достаточно было по адресу 170 поставить 0 yes2.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 18.06.2006 17:09
Сообщение #9


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Это не очевидно...

p.s. я проверил это действительно так.


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.06.2025 18:22
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"