Форум программистов, компьютерный форум CyberForum.ru

Как вычисляется CRC32 в exe файле по адресу PE header + 0x8 - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Записать звук с микрофона в буфер http://www.cyberforum.ru/cpp-beginners/thread1088469.html
При выполнении pDSCBuffer1->Release() вылетает исключение (см. картинку) В чем проблема? #include <iostream> #include "DSound.h" using namespace std; HWND GetConsoleWindowsHandle() { //LPWSTR title;
C++ Наследование. Неправильная работа одного из классов наследников Привет, помогите пожалуйста. Есть базовый класс и 2 его наследника (audio и book), у которых по 2 метода (set() и get() ). Обьекты этих классов по отдельности замечательно работают. int main() { book a; a.set(); a.get(); system("pause"); return 0; } http://www.cyberforum.ru/cpp-beginners/thread1088467.html
C++ Найти максимальное из каждого поля двух объектов
Mark - это наследник, Disc - базовый класс. Задача в том, чтобы найти максимальное из каждого поля двух объектов, в данном случает m1 и m3. Mark m1("Физика",50,"Сидоров",8); Mark *m3=new Mark("Мат.анализ",40,"Николаев",7); m1.setmax(m3); Mark :: setmax(Mark *m3) { if (strcmp(studentname,m3->studentname)<0) strcpy(studentname,m3->studentname);
Создание конструкторов игр C++
Вопрос этот поднимал в теме про xna, но понял что ответа на него там не получу. Всем привет! Решил задать вопрос, как работает 2d игровой движок? В моем понимании работа идет так: Пользователь сначала делает все ресурсы в редакторе, карты сохраняются в XML храня все позиции объектов, потом в код самой игры вносится шаблон с путем к XML файлу карты, путем к текстурам карты, и на основе этого...
C++ Превратить массив таким образом, чтобы сначала располагались парные элементы, затем нечетные и нулевые. http://www.cyberforum.ru/cpp-beginners/thread1088410.html
Превратить массив таким образом, чтобы сначала располагались парные элементы, затем нечетные и нулевые.
C++ Положительные элементы массива занести один за другим в другой массив. Положительные элементы массива занести один за другим в другой массив. Вычислить произведение элементов массива, расположенных после минимального. подробнее

Показать сообщение отдельно
Konstantin__
0 / 0 / 0
Регистрация: 03.02.2014
Сообщений: 6
04.02.2014, 13:06  [ТС]     Как вычисляется CRC32 в exe файле по адресу PE header + 0x8
Цитата Сообщение от mustimur Посмотреть сообщение
Ну кто Вам сказал что эти данные находятся в конце? https://ru.wikipedia.org/wiki/Exe
Они могут по разным адресам находится и надо менять исполняемый код самой программы...
Никто не говорил, что CRC32 данные находятся в конце! Записанные мною данные - да, находятся(это факт) Кстати, по той ссылке, которую Вы дали по смещениям 0x12-0x13 находится CRC16. Мне это поле не нужно. Там стоят 0x00.

Цитата Сообщение от mustimur Посмотреть сообщение
Не проще ли сделать так чтоб рядом с вашей программой находился какой-нибудь файл *.dat произвольной структуры, в который бы данные сбрасывались, а ваша программа их бы просто считывала?
Так делать нельзя. Во-первых, есть ТЗ! Во-вторых, клиент попросту не поймёт, что это ещё за .dat файл скачивается вместе с выбранным им файлом для закачки (весь проект описывать не буду).

Цитата Сообщение от Убежденный
А кто сказал, что там именно CRC32 ?
Там довольно простой алгоритм, но он недокументирован.
Реализацию можно найти, к примеру, в исходниках (W2K).
Я опирался на раздел "Как защитить свою программу от взлома" из этой статьи http://www.xakep.ru/post/21788/

Цитата Сообщение от Убежденный
Посмотрю, спасибо. Возможно, пригодится.
Цитата Сообщение от Убежденный
Но что-то у меня подозрение, что там весь сыр-бор вовсе не из-за контрольной суммы.
Сейчас практически любой exe-файл, скаченный из интернета, имеет цифровую подпись.
При изменении файла подпись становится невалидной, и на этот факт сразу реагируют
антивирусы, система безопасности Windows и другие программы.
Воможно, Вы правы.

Добавлено через 16 часов 24 минуты
Может кто-то занимался описанной задачей? Как всё таки корректно перегенерировать CRC32 после внесения изменений в exe? (алгоритм) Или это правда не нужно?
 
Текущее время: 17:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru