Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Куда пропадает байт? 
:(
    Опции темы
Coder
Дата 4.7.2005, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: 5
Всего: 11



Читаю exe файл таким кодом:

Код

var
  f : file;
...
reset(f,1);
blockread(f,buf,2);
...


в результате в buf оказывается не сигнатура "MZ", а одна буковка "M" хотя в описании формата четко написанно, что она занимает слово (2 байта). Если же blockread() указать читать 3 блока, что все будет ок, но это как то, я думаю, не правильно. В чем здесь дело?
PM MAIL   Вверх
Guest
Дата 4.7.2005, 04:16 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Может быть Buf у тебя это String? Тогда первый байт в этом типе зарезервирован и не доступен для использования.
  Вверх
Coder
Дата 4.7.2005, 05:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: 5
Всего: 11



тфу ты блин... это же на в C строка начинается с нулевого символа... smile

сделал так, все работает (выводит MZ):
Код

  assign(f,exe);
  reset(f,1);
  blockread(f,ibuf,2);
  writeln(chr(Lo(ibuf)),chr(Hi(ibuf)));


ibuf - 2 байтовый целый тип

Это сообщение отредактировал(а) Coder - 4.7.2005, 06:06
PM MAIL   Вверх
NoeR
Дата 4.7.2005, 16:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 233
Регистрация: 6.2.2005

Репутация: нет
Всего: нет



Coder Можешь сказать что такое Lo и Hi, если это стандартные функции?
--------------------
По факту пропажи мужа, возбуждено... Два соседа.Если у Вас проблемы с ребенком, спросите у жены, может, это не Ваши проблемы!>>> NoeR++ <<<
PM MAIL ICQ   Вверх
Yanis
Дата 4.7.2005, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2937
Регистрация: 9.2.2004
Где: Москва

Репутация: 72
Всего: 111



Цитата(NoeR @ 4.7.2005, 16:00)
Coder Можешь сказать что такое Lo и Hi, если это стандартные функции?

Загляни в справку. Hi - возвращает старший байт. Lo - возвращает младший байт.


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
WolfON
Дата 4.7.2005, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 604
Регистрация: 19.7.2004

Репутация: нет
Всего: 8



Делай так smile
Код

  ibuf:array [0..2] of byte;
  assign(f,exe);
  reset(f);
  blockread(f,ibuf,2);


Это сообщение отредактировал(а) WolfON - 4.7.2005, 19:39
PM MAIL ICQ   Вверх
Girder
Дата 4.7.2005, 21:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лентяй 2
***


Профиль
Группа: Участник Клуба
Сообщений: 1993
Регистрация: 12.5.2004

Репутация: 31
Всего: 155



WolfON
Цитата
If RecSize is omitted, a default record size of 128 bytes is assumed.



--------------------
Как слышим, так и пишим.
Истина где-то там...
PM   Вверх
NoeR
Дата 5.7.2005, 00:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 233
Регистрация: 6.2.2005

Репутация: нет
Всего: нет



Yanis Спасибо smile
--------------------
По факту пропажи мужа, возбуждено... Два соседа.Если у Вас проблемы с ребенком, спросите у жены, может, это не Ваши проблемы!>>> NoeR++ <<<
PM MAIL ICQ   Вверх
Coder
Дата 5.7.2005, 03:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 13.12.2004

Репутация: 5
Всего: 11



Girder, да в примере от WolfON нужно открывать файл на чтение с размером блока = 1 байту. reset(f, 1);


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0844 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.