Так вот нужно прочитать в файле ".exe" информацию которая содержится после #26 символа Там точно есть информация. Принимаються любые решения я понимаю что тут просто без Асемблера не обойтись, но этот язык неведом мне... Как это можно решить на дэльфи а проще говоря нужно упоковать exe файл в массив byte, где код соответствует символу прочитанному из файла...
andriano
23.04.2008 0:56
Цитата(Baumanec @ 22.04.2008 21:34)
Так вот нужно прочитать в файле ".exe" информацию которая содержится после #26 символа Там точно есть информация. Принимаються любые решения я понимаю что тут просто без Асемблера не обойтись, но этот язык неведом мне... Как это можно решить на дэльфи а проще говоря нужно упоковать exe файл в массив byte, где код соответствует символу прочитанному из файла...
Ассемблер здесь ни при чем. Просто надо работать с бинарным файлом, а ты пытаешься работать с ним как с текстовым. т.е.:
var f : file; begin assign(f,'MyProgram.exe'); reset(f,1); blockread(f,...
Baumanec
26.04.2008 2:33
Вопрос, можете рассказать чуть больше о работе с бинарным файлом...
andriano
26.04.2008 3:08
Собственно, любой файл можно считать бинарным. Именно так и делают функции файлового ввода/вывода ОС. Но, кроме этого в ЯВУ обычно реализуют более высокоуровневый доступ к частному случаю файла, называемому текстовым файлом. Четкой структуры у этого файла, в отличие от подавляющего большинства форматов файлов у текстового файла нет, он трактуется как файл, состоящий из однобайтовых (обычно) символов, причем часть символов являются знаками алфавита, цифрами либо знаками препинания, а часть - является служебными символами. К последним относятся символы конца строки, перевода строки, кнаца страницы, табуляции, конца файла... При работе с файлом при помощи процедур, ориентированных именно на работу с текстовыми файлами, содержимое не просто переносится в память, а производится дополнительная обработка, в частности отслеживаются концы строк, а также по символу конца файла считается, что файл закончился. Такое поведение продиктовано совместимостью с ОС для 8-разрядных компьютеров CP/M-80, в которой длина файла определялась с точностью до сектора 128 байт, т.е. текстовый файл обычно содержал "хвост", не содержащий полезной информации, причем на уровне ОС этот "хвост" распознать было нельзя. Для его маркирования и ввели символ конца файла. Чтобы этот символ не обрабатывался, нужно исключить разбор файла срествами библиотеки ЯВУ, работать с ним либо непосредственно функциями ОС, либо выполняющими аналогичную функцию средствами ЯВУ. Фрагмент я привел. Более подробно об использовании можно прочитать во встроенной справке.
Baumanec
27.04.2008 0:57
Я посмотрел в справке там вообще ничего не понятно можете кто-нить просто привести пример типо вот я написал и вот что она будет делать...