Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
puhur01
1 / 1 / 0
Регистрация: 28.06.2012
Сообщений: 33
#1

Чтение и подсчет контрольной суммы для .exe файлов - C++

02.12.2012, 16:25. Просмотров 1376. Ответов 0
Метки нет (Все метки)

Добрый день.
У меня есть функция для подсчета контрольной суммы CRC32.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
unsigned long Crc32(unsigned char *buf, unsigned long len){
    unsigned long crc_table[256];
    unsigned long crc;
    for (int i = 0; i < 256; i++){
        crc = i;
        for (int j = 0; j < 8; j++)
        crc = crc & 1 ? (crc >> 1) ^ 0xEDB88320UL : crc >> 1;
        crc_table[i] = crc;
    }
    crc = 0xFFFFFFFFUL;
    while (len--)
        crc = crc_table[(crc ^ *buf++) & 0xFF] ^ (crc >> 8);
    
    return crc ^ 0xFFFFFFFFUL; //конец функции
}
Я читаю 2 .exe файла следующим образом (каждый по отдельности):
C++
1
2
3
4
5
6
7
8
9
10
11
ifstream in2 ("1.exe", ios::binary);
std::string buffer2;
while (in2.peek()!=EOF){
   std::string in_s;
   getline (in2, in_s);
   buffer2+=in_s;
}
in2.close();
strcpy(buf2, buffer2.c_str());
len2 = strlen(buf2);
unsigned char *ubuf2 = (unsigned char *)buf2;
Затем считаю суммы этих файлов, они одинаковые. Для файлов с другими расширениями (.txt, .jpg) все работает хорошо. Косяк только с .exe.
В чем может быть ошибка?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.12.2012, 16:25
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Чтение и подсчет контрольной суммы для .exe файлов (C++):

Нужен алгоритм для вычисления контрольной суммы файлов crc64 - C++
Нужен алгоритм для вычисления контрольной суммы файлов crc64. Желательно на С++. А то везде CRC16 или CRC32

Подсчёт контрольной суммы - C++
Приветствую! Необходимо подсчитать 32-битную сумму для файла checksum = word1 + word2 + ... + wordN. Я недавно читал про little-...

Вычисление контрольной суммы - C++
Всем Привет! У меня проблема с вычислением CRC16. Есть небольшое объяснение и примеры, но как они получились не понимаю.... CRC...

Алгоритм подсчета контрольной суммы - C++
Доброго времени суток всем! Прошу сразу не кидать в меня тапками, ибо я полный чайник в программировании, но у меня возникла необходимость...

Расчет контрольной суммы файла - C++
Доброе время суток! не когда не работал с контрольными суммами, не подскажите библиотеку или пример кода расчета контрольной суммы...

Алгоритм вычисления контрольной суммы с наименьшей вероятностью дубля - C++
Простой составной вопрос. 1. Какой нынче есть современный алгоритм вычисления контрольной суммы, у которого вероятность получения...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.12.2012, 16:25
Привет! Вот еще темы с ответами:

Чтение текстовых файлов для новичков (getline) - C++
Задача чтения и обработки текстового файла - одна из самых распространенных. Она сравнительно проста, но у новичков порой возникают...

Переделать задачу из подсчета суммы после нуля в подсчет суммы после минимального - C++
Здравствуйте, помогите переделать задачу из подсчета суммы после нуля в подсчет суммы после минимального. Вот подсчет суммы после нуля: ...

Форматирование файла целых чисел, полученных с помощью датчика случайных чисел, нахождение контрольной суммы - C++
Помогите пожалуйста решить, и распишите каждую строчку (т.е что тут сделано) Составить программу, которая: -Форматирует файл целых...

Подсчет суммы - C++
Не могу написать программу для подсчета суммы в массиве на отрезке (дан массив, и l, r). Подскажите плиз


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru