Как я могу изменить контрольную сумму модуля в минидампе?

Программное обеспечение, которое я пишу (и продаю), сжимается и шифруется перед тем, как распространять его. Каждый раз, когда я выпускаю новую сборку, я сохраняю все файлы .map и сгенерированные двоичные файлы, включая исполняемый файл, до того, как он будет сжат и зашифрован.

Когда он падает на машине клиента, я получаю мини-дамп обратно. Я открываю эти мини-дампы в Visual Studio и исследую их там.

Я хорошо использовал эти мини-дампы, ища адреса в файлах .map. Как правило, это приводит меня к правильной области кода, и я обычно могу понять, почему произошел сбой, и исправить его, но это ОЧЕНЬ отнимает много времени.

Было бы полезно, если бы я мог использовать символы, которые я сохранил из оригинальной сборки при отладке минидампа.

Моя проблема в том, что я получаю предупреждения о невозможности найти нужные символы. Мои исследования заставляют меня поверить, что это потому, что контрольная сумма exe на компьютере клиента не совпадает с контрольной суммой exe, созданной Visual Studio. И я понимаю, почему, это было сжато и зашифровано. Конечно, контрольные суммы не совпадают.

Я полагаю, что могу вручную редактировать мини-дамп или изменить контрольную сумму сохраненных двоичных файлов в соответствии с контрольной суммой распространяемого файла. Я бы предпочел манипулировать сохраненными копиями, чтобы мне не приходилось изменять каждый входящий дамп, но я был бы в восторге от любого из них.

Итак, мой вопрос: как я могу найти эти контрольные суммы и выяснить, что я должен заменить их? В качестве вспомогательного вопроса: есть ли лучший способ?

Ответы на вопрос(2)

Ваш ответ на вопрос