под Linux - Lazarus
Просто:
Добавьте
свой файл ресурса и меняйте версию в нём
Сложно:
Если не хочется заморачиваться с отдельным файлом, вы можете добавить информацию в GUI. Потом научиться читать манифест из ресурсов бинарника. Когда научитесь напишите, самому интересно.
ЗЫ Вообще, я бы не заморачивался и вначале просто искал XML в бинарнике.
ЗЫ2 Но если серьёзно, то нужно прочитать ресурсы ELF файла fpc.resources
- Код: Выделить всё
readelf -p fpc.resources libproject1.so
Строковый дамп раздела «fpc.resources»:
[ 1] h^R
[ 12] #
[ 29] h^R
[ 41] h^R
[ 59] h^R
[ 71] i^R
[ 78] <?xml version="1.0" encoding="UTF-8" standalone="yes"?>^M^J<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">^M^J <assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="CompanyName.ProductName.AppName" type="win32"/>^M^J <description>Your application description.</description>^M^J <dependency>^M^J <dependentAssembly>^M^J <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>^M^J </dependentAssembly>^M^J </dependency>^M^J <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">^M^J <security>^M^J <requestedPrivileges>^M^J <requestedExecutionLevel level="asInvoker" uiAccess="false"/>^M^J </requestedPrivileges>^M^J </security>^M^J </trustInfo>^M^J <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">^M^J <application>^M^J <!-- Windows Vista -->^M^J <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />^M^J <!-- Windows 7 -->^M^J <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />^M^J <!-- Windows 8 -->^M^J <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />^M^J <!-- Windows 8.1 -->^M^J <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />^M^J <!-- Windows 10 -->^M^J <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />^M^J </application>^M^J </compatibility>^M^J <asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">^M^J <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">^M^J <dpiAware>False</dpiAware>^M^J </asmv3:windowsSettings>^M^J <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">^M^J ^M^J <longPathAware>false</longPathAware>^M^J
Список секций тоже можно посмотреть так:
- Код: Выделить всё
readelf -l -W libproject1.so
Тип файла ELF — DYN (Совм. исп. объектный файл)
Точка входа 0x4b010
Имеется 7 заголовков программы, начиная со смещения 64
Заголовки программы:
Тип Смещ. Вирт.адр Физ.адр Рзм.фйл Рзм.пм Флг Выравн
LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x04a1e8 0x04a1e8 R 0x1000
LOAD 0x04b000 0x000000000004b000 0x000000000004b000 0x090830 0x090830 R E 0x1000
LOAD 0x0dc000 0x00000000000dc000 0x00000000000dc000 0x013850 0x013850 R 0x1000
LOAD 0x0efe98 0x00000000000f0e98 0x00000000000f0e98 0x0361c8 0x140f28 RW 0x1000
DYNAMIC 0x0efe98 0x00000000000f0e98 0x00000000000f0e98 0x000130 0x000130 RW 0x8
GNU_STACK 0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW 0x10
GNU_RELRO 0x0efe98 0x00000000000f0e98 0x00000000000f0e98 0x000168 0x000168 R 0x1
Соответствие раздел-сегмент:
Сегмент Разделы...
00 .hash .gnu.hash .dynsym .dynstr .rela.dyn
01 .text
02 .rodata
03 .dynamic .got .got.plt .data fpc.resources .fpcdata .bss fpc.reshandles
04 .dynamic
05
06 .dynamic .got
У вас нет необходимых прав для просмотра вложений в этом сообщении.