В подписанный EXE нужно добавить 8-ми битный уникальный ID, чтобы подпись при этом не слетела.
(ID необходим для последующего отслеживания источников трафика)
Сделали так:
private function fileWriteAff($fn, $affname) {
$fd = file_get_contents($fn);
// 20-30 bytes offset for IMAGE_DOS_HEADER.e_res2[10] field
$k=20;
for ($i=0; $i<strlen($affname); $i++) {
$fd[$k]=$affname[$i];
$k++;
}
file_put_contents($fn, $fd);
}
Сейчас мы пишем этот ID в поле e_res2 структуры IMAGE_DOS_HEADER. Судя по докам поле зарезервировано и не используется, следовательно им можем пользоваться мы.
Подпись в результате слетела. Подскажите, пожалуйста, решение проблемы.