Что нового

как удалить все "метаданные" .exe файла ?

urrya

Новичок
Сообщения
159
Репутация
1
Доброго времени суток гос-да и дамы.
Не нашёл ответа на вопрос "как удалить все метаданные
(версия ... , когда, кто, где, почему, на чём, каким и т.д.) .exe файла?".
В общем что бы ОС знала только то что это .exe файл, естественно его имя, размер и ничего больше!
Возможно ли как то при компиляции "выключить" всё, все данные о файле?
Или же, вероятно можно как то удалить после компиляции, хотя первый вариант конечно же лучше.

Заранее спасибо!
 
Автор
urrya

urrya

Новичок
Сообщения
159
Репутация
1
О как! Оказывается никто не знает как это сделать.
Печально.
:(
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Код:
#include <WinAPIRes.au3>
_WinAPI_EndUpdateResource(_WinAPI_BeginUpdateResource(@ScriptDir & "\Name.exe", True))
 
Автор
urrya

urrya

Новичок
Сообщения
159
Репутация
1
Большое спасибо!

Жаль только что и иконка файла тож удаляется,
но это не критично.
:smile:
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
Если нужно не вообще ВСЕ ресурсы удалять, а только информационную часть, то можно так
Код:
#include <WinAPIRes.au3>

$sPath = @ScriptDir & "\name.exe"

$aLang = _WinAPI_EnumResourceLanguages($sPath, $RT_VERSION, 1)
If Not IsArray($aLang) Then Exit MsgBox(0, "Error", "Ресурс не найден")
$hRes = _WinAPI_BeginUpdateResource($sPath)
For $i = 1 To $aLang[0]
  _WinAPI_UpdateResource($hRes, $RT_VERSION, 1, $aLang[$i], 0, 0)
Next
_WinAPI_EndUpdateResource($hRes)
 
Автор
urrya

urrya

Новичок
Сообщения
159
Репутация
1
Хмм, ошибка, exe-шник не работает :(
 
Автор
urrya

urrya

Новичок
Сообщения
159
Репутация
1
нет, в первом примере где удяляются все ресурсы работает,
а вот где удаляется только информация не работает после удаления,
вероятно для ОС обязательно надо знать язык описания файла :blink:
 

InnI

AutoIT Гуру
Сообщения
4,922
Репутация
1,432
urrya
Ваше рассуждение нелогично. Где удаляется ВСЁ - там работает, где только часть - не работает. Если ОС чего-то не хватает при удалении части, то где она берёт необходимое при удалении ВСЕГО? ;)

Вероятно, проблема в чём-то другом. У себя проверил на десятке разных файлов - все запускаются и работают.
 
Автор
urrya

urrya

Новичок
Сообщения
159
Репутация
1
вот что получаю -

Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: file.exe
Версия приложения: 0.0.0.0
Отметка времени приложения: 596e44eb
Имя модуля с ошибкой: StackHash_0a9e
Версия модуля с ошибкой: 0.0.0.0
Отметка времени модуля с ошибкой: 00000000
Код исключения: c0000005
Смещение исключения: 00000000
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049
Дополнительные сведения 1: 0a9e
Дополнительные сведения 2: 0a9e372d3b4ad19135b953a78882e789
Дополнительные сведения 3: 0a9e
Дополнительные сведения 4: 0a9e372d3b4ad19135b953a78882e789

Ознакомьтесь с заявлением о конфиденциальности в Интернете:
http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419

Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:
C:\Windows\system32\ru-RU\erofflps.txt



Прошу прощения, оба варианта не работают , Windows 7 x64
:(
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
у меня код по удалению версии в экзешнике работает.
система вынь 10 х64
может стоит антивирь приглушить?
тестил при отключенной защите
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
у меня работает и с upx
если код дает сбой при работе с упакованным файлом, то это не есть гуд.
мало ли какие файлы попадутся
 
Верх