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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Контрольная сумма в exe-файле, Найти место в exe из 32 байт, для CRC 
:(
    Опции темы
Lexicss
Дата 16.8.2006, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 16.8.2006
Где: Беларусь, Минск

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



Народ, необходимо самому подсчитать контрольную сумму файла созданного exe-файла и записать её(состоит из 32 байт) в заголовок. Может кто точно знает в каком месте заголовка экзэшника это можно сделать, которые на 100 % не используются?
--------------------
Бери от жизни всё.
PM MAIL WWW ICQ Skype   Вверх
ivashkanet
Дата 16.8.2006, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

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



Lexicss, интересно получается. Ты считаешь контрольную сумму, записываешь в файл, а файл то меняется следовательно и его контролькая сумма  smile 
Вот незадача  smile 
PM MAIL WWW ICQ   Вверх
Lexicss
Дата 16.8.2006, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 16.8.2006
Где: Беларусь, Минск

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



Цитата(ivashkanet @ 16.8.2006,  21:40)
Lexicss, интересно получается. Ты считаешь контрольную сумму, записываешь в файл, а файл то меняется следовательно и его контролькая сумма  smile 
Вот незадача  smile
----------------

Контрольная же сумма сама не попадпет под рассчёт.
Короче, нужно найти такое 32-байтное место в заголовке файла, где спокойно можно разместить посчитанную СВОЮ сумму.
--------------------
Бери от жизни всё.
PM MAIL WWW ICQ Skype   Вверх
Snowy
Дата 16.8.2006, 23:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



Первые 100 байт, начиная с третьего.
PM MAIL   Вверх
ivashkanet
Дата 16.8.2006, 23:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

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



Цитата(Lexicss @  16.8.2006,  22:37 Найти цитируемый пост)
Контрольная же сумма сама не попадпет под рассчёт.

Это как так? Поясни  smile 
PM MAIL WWW ICQ   Вверх
Fedia
Дата 17.8.2006, 00:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 465
Регистрация: 2.8.2006
Где: первым встречаю р ассвет

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



Цитата(ivashkanet @  16.8.2006,  23:51 Найти цитируемый пост)
Это как так? Поясни

Не считаем эти тридцать два байта и все smile Т.е. это будет контрольная сумма без учета самой контрольной суммы smile

Это сообщение отредактировал(а) Fedia - 17.8.2006, 00:13


--------------------
Накануне решающей битвы
Я иду, и надеждою зыбкой
Озаряется эта дорога,
Я мечтаю увидеть улыбку
На лице победившего Бога…
PM MAIL ICQ   Вверх
bems
Дата 17.8.2006, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

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



Вроде в заголовке стандартное поле было. Почти не используется


--------------------
Обижено школьников: 8
PM MAIL   Вверх
BUGOR
Дата 17.8.2006, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата

Вроде в заголовке стандартное поле было. Почти не используется


IMAGE_NT_HEADERS.OptionalHeader.CheckSum

Для обычных файлов может быть любая, для системных должна быть корректной.


--------------------
Живу недоумевая, всё время хочу понять...
http://hunger.ru 
PM MAIL WWW ICQ   Вверх
ivashkanet
Дата 17.8.2006, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

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



Fedia, какая-то странная контрольная сумма у вас получается  smile 
А я считал, что CRC -- это стандарт  smile 
PM MAIL WWW ICQ   Вверх
Romikgy
Дата 17.8.2006, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Цитата(ivashkanet @ 17.8.2006,  07:55)
Fedia, какая-то странная контрольная сумма у вас получается  smile 
А я считал, что CRC -- это стандарт  smile

а какой стандарт CRC 16 / 32 или что то еще?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Fedia
Дата 17.8.2006, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 465
Регистрация: 2.8.2006
Где: первым встречаю р ассвет

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



Цитата(ivashkanet @  17.8.2006,  08:55 Найти цитируемый пост)
Fedia, какая-то странная контрольная сумма у вас получается   
А я считал, что CRC -- это стандарт 

А я всегда считал, что для разных случаев можно применять разные способы формирования CRC, да и стандарта не видел. Для проверки целостности файла подойдет и описанный здесь вариант. Кстати, что за стандарт ?


--------------------
Накануне решающей битвы
Я иду, и надеждою зыбкой
Озаряется эта дорога,
Я мечтаю увидеть улыбку
На лице победившего Бога…
PM MAIL ICQ   Вверх
bems
Дата 17.8.2006, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

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



Ну да, так и есть CRC это очень общее название


--------------------
Обижено школьников: 8
PM MAIL   Вверх
Romikgy
Дата 17.8.2006, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

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



Цитата(Lexicss @  16.8.2006,  20:24 Найти цитируемый пост)
состоит из 32 байт

чесн слово , никогда не видел CRC в 32 байта  smile 


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
ivashkanet
Дата 17.8.2006, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодю потиху
****


Профиль
Группа: Участник Клуба
Сообщений: 3684
Регистрация: 23.2.2006
Где: Гомель, Беларусь

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



Fediabems, ок. Просто я думал что CRC посчитанный разными приложениями (разработчиками) должны совпадать для одного и того же файла. А тут оказывается нет. 
Как хочешь так и реализуй, получается?
Тогда понятно smile
PM MAIL WWW ICQ   Вверх
Fedia
Дата 17.8.2006, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 465
Регистрация: 2.8.2006
Где: первым встречаю р ассвет

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



Цитата(Romikgy @  17.8.2006,  10:16 Найти цитируемый пост)
чесн слово , никогда не видел CRC в 32 байта

, ага, многовато будет smile Может ее несколько раз дублирует ? smile


--------------------
Накануне решающей битвы
Я иду, и надеждою зыбкой
Озаряется эта дорога,
Я мечтаю увидеть улыбку
На лице победившего Бога…
PM MAIL ICQ   Вверх
Snowy
Дата 17.8.2006, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

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



32 бита, а не байта.
Пример расчёта в факе есть.
Прописать можно в первую часть файла - там всё равно неиспользуемый DOS код.
Главное первые MZ оставить, а дальше $FE байт свободны.
PM MAIL   Вверх
Lexicss
Дата 17.8.2006, 22:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 16.8.2006
Где: Беларусь, Минск

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



Кстати я как раз хотел посчитать суммой MD5 Она как раз таки состоит из 32 БАЙТА (128 бит). Поэтому мне и места много требовалось.
Ну я щас нашёл алгоритм CRC32. Считаю её. Тока вот облом. Функцией CreateFile не может найти свой же запущенный экзэшник.

Это сообщение отредактировал(а) Lexicss - 17.8.2006, 22:55
--------------------
Бери от жизни всё.
PM MAIL WWW ICQ Skype   Вверх
dumb
Дата 18.8.2006, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

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



Цитата(Lexicss @  17.8.2006,  22:45 Найти цитируемый пост)
Функцией CreateFile не может найти свой же запущенный экзэшник

Код

handle := CreateFile(ParamStr(0), GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0);

и зачем api-шными функциями? - чем "родные" плохи?
PM MAIL   Вверх
Fedia
Дата 18.8.2006, 06:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 465
Регистрация: 2.8.2006
Где: первым встречаю р ассвет

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



Цитата(Lexicss @  17.8.2006,  22:45 Найти цитируемый пост)
32 БАЙТА (128 бит)

32x8 <> 128 smile
Цитата(dumb @  18.8.2006,  01:13 Найти цитируемый пост)
handle := CreateFile(ParamStr(0), GENERIC_READ, FILE_SHARE_READ|FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0);    

и зачем api-шными функциями? - чем "родные" плохи?

А разве это не пример использования api-шной ?


--------------------
Накануне решающей битвы
Я иду, и надеждою зыбкой
Озаряется эта дорога,
Я мечтаю увидеть улыбку
На лице победившего Бога…
PM MAIL ICQ   Вверх
Lexicss
Дата 22.8.2006, 23:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 16.8.2006
Где: Беларусь, Минск

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



32 байта = 256 біт. Ошибся немного. smile 
Но всё же алгоритм у MD5 громоздкий...  
Мне вот CRC32 понравилась, притом что её можно и досчитывать. 
А вот правда никакая прога сама в всебя в свой exe записать не может. Только чтение. 
--------------------
Бери от жизни всё.
PM MAIL WWW ICQ Skype   Вверх
dumb
Дата 23.8.2006, 02:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

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



Цитата(Lexicss @  22.8.2006,  23:27 Найти цитируемый пост)
А вот правда никакая прога сама в всебя в свой exe записать не может. Только чтение.

а для чего какой-то проге записывать контрольную сумму в "саму себя"?
PM MAIL   Вверх
AugMaster
Дата 23.8.2006, 09:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Lexicss @ 22.8.2006,  23:27)
32 байта = 256 біт. Ошибся немного. smile 
Но всё же алгоритм у MD5 громоздкий...  
Мне вот CRC32 понравилась, притом что её можно и досчитывать. 
А вот правда никакая прога сама в всебя в свой exe записать не может. Только чтение.

создай своей прогой EXE, который будет менять CRC в твоей программе по финишу проги.
PM MAIL   Вверх
Lexicss
Дата 23.8.2006, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 16.8.2006
Где: Беларусь, Минск

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



AugMaster, Так и сделал ;)
--------------------
Бери от жизни всё.
PM MAIL WWW ICQ Skype   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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