Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Отключение защиты (проверка имени файла .exe) (http://forum.oszone.net/showthread.php?t=310857)

Sateur 27-01-2016 16:31 2599684

Отключение защиты (проверка имени файла .exe)
 
Добрый день, уважаемые форумчане!

У меня есть программа (файл root.exe) которая перестает работать при изменении имени файла, а точнее она запускается, но через некоторое время срабатывает защитный механизм и вылетает ошибка о неверном дескрипторе... пробовал помимо простого переименования с root.exe на port.exe, делать правки в hex редакторе, но проблема осталась... Хотелось бы понять какой ресурс отвечает за проверку имени файла и как его отключить подручными средствами, исходников программы нет :( Вообще интересует и другая сторона вопроса, как реализовать подобное при написании программы?

P.S. Не уверен что выбрал правильную категорию своего вопроса, но попытка не пытка...

vmzsoft 29-01-2016 01:03 2600269

Цитата:

Цитата Sateur
Вообще интересует и другая сторона вопроса, как реализовать подобное при написании программы? »

Элементарно, Ватсон. :)
Код:

//получение полного имени файла с диском и путем
fullFileName := Paramstr(0);
//или
fullFileName := Application.ExeName;

// Показ составляющих частей этого полного имени

ShowMessage('Диск = '+ExtractFileDrive (fullFileName));
ShowMessage('Каталог = '+ExtractFileDir (fullFileName));
ShowMessage('Путь = '+ExtractFilePath (fullFileName));
ShowMessage('Имя = '+ExtractFileName (fullFileName));
ShowMessage('Расширение = '+ExtractFileExt (fullFileName));

Проверяйте в программе, чтобы ExtractFileName (fullFileName)+ExtractFileExt (fullFileName) было равно тому названию, которое вы задали для своей программы...
И если не совпадает, можете грязно обругать юзера и завершить программу. :lol:

opel431 29-01-2016 11:56 2600364

Цитата:

Цитата vmzsoft
Элементарно, Ватсон »

Не думаю. Такие проверки делаются через вычисление контрольной суммы.

vmzsoft 31-01-2016 03:15 2600842

Цитата:

Цитата opel431
Не думаю. Такие проверки делаются через вычисление контрольной суммы. »

Цитата:

Цитата Sateur
Хотелось бы понять какой ресурс отвечает за проверку имени файла »

Речь идет об имени файла, а не о его содержимом...

Iska 31-01-2016 12:21 2600900

vmzsoft, если Вы почитаете исходное сообщение внимательнее — увидите, что там явно никакая не защита срабатывает, а банальная ошибка возникает. А проверка действительно делается через контрольные суммы.

Sateur 03-02-2016 06:28 2601987

Вот такая ошибка вылетает, при работе приложения с измененным названием, это тайминг защита или я что-то упустил?

Application error
Exception EThread in module port.exe at 000CD29A. Thread Error: Неверный дескриптор (6).


Время: 22:02.

Время: 22:02.
© OSzone.net 2001-