У вас проблемы с синтаксическим анализом json, о чем говорит ваша ошибка.
Я бы предложил использовать GET для загрузки файла вместо POST, попробуйте что-то вроде:
this.http.get<any>(url, {responseType: 'blob'}).pipe(..);
Этот пост привел меня к chkmatch . На обработанной dll команда chkmatch показывает следующую информацию:
Executable: TimeDateStamp: 4a086937 Debug info: 2 ( CodeView ) TimeStamp: 4a086937 Characteristics: 0 MajorVer: 0 MinorVer: 0 Size: 123 RVA: 00380460 FileOffset: 00380460 CodeView signature: sUar Debug information file: Format: PDB 7.00 Result: unmatched (reason: incompatible debug information formats)
С тем же pdb и предварительно обработанной dll он сообщает следующее:
Executable: TimeDateStamp: 4a086937 Debug info: 2 ( CodeView ) TimeStamp: 4a086937 Characteristics: 0 MajorVer: 0 MinorVer: 0 Size: 123 RVA: 00380460 FileOffset: 00380460 CodeView format: RSDS Signature: (my guid) Age: 19 PdbFile: (my path) Debug information file: Format: PDB 7.00 Signature: (my matching guid) Age: 19
Я открыл обе версии dll и перешел к смещению 00380460. В исходной версии, достаточно ясно, я вижу имя pdb, но в версии с постобработкой нет информации pdb для этого смещения. Я искал путь к pdb и нашел тот же самый блок - только с другим смещением. Затем я сделал bin поиск байтов «38 00 60 04» в исходной dll. Глядя на то же смещение в обработанной dll, я обнаружил такие же байты. Поэтому я скорректировал RVA и смещение (расположенное путем сопоставления байтов). Бинго! Теперь chkmatch сообщает о тех же результатах для обработанной dll, что и исходная (кроме RVA и FileOffset, которые я изменил).
в Windbg попробуйте использовать .symopt +40 , это вызовет загрузку pdb.