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

Как вычисляется 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...
C++ Наследование. Неправильная работа одного из классов наследников Привет, помогите пожалуйста. Есть базовый класс и 2 его наследника (audio и book), у которых по 2 метода (set() и get() ). Обьекты этих классов по отдельности замечательно работают. int main() {... http://www.cyberforum.ru/cpp-beginners/thread1088467.html
C++ Найти максимальное из каждого поля двух объектов
Mark - это наследник, Disc - базовый класс. Задача в том, чтобы найти максимальное из каждого поля двух объектов, в данном случает m1 и m3. Mark m1("Физика",50,"Сидоров",8); Mark *m3=new...
Создание конструкторов игр C++
Вопрос этот поднимал в теме про xna, но понял что ответа на него там не получу. Всем привет! Решил задать вопрос, как работает 2d игровой движок? В моем понимании работа идет так: Пользователь...
C++ Превратить массив таким образом, чтобы сначала располагались парные элементы, затем нечетные и нулевые. http://www.cyberforum.ru/cpp-beginners/thread1088410.html
Превратить массив таким образом, чтобы сначала располагались парные элементы, затем нечетные и нулевые.
C++ Положительные элементы массива занести один за другим в другой массив. Положительные элементы массива занести один за другим в другой массив. Вычислить произведение элементов массива, расположенных после минимального. подробнее

Показать сообщение отдельно
Konstantin__
0 / 0 / 0
Регистрация: 03.02.2014
Сообщений: 6
04.02.2014, 13:06  [ТС]
Цитата Сообщение от 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? (алгоритм) Или это правда не нужно?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.