[ jovanpavlovic777 @ 21.11.2016. 14:51 ] @
Kako bih mogao da modifikujem Windows PE executable fajl tako da dodam jedan resurs (naprimer bitmapu) u njega?

Modifikovan Windows executable bi onda trebao da se snimi, i taj executable bi nakon startovanja (kao procesa) mogao da referencira taj injektovani resurs.

...
Microsoft (R) COFF/PE Dumper Version 11.00.60610.1
Copyright (C) Microsoft Corporation. All rights reserved.


Dump of file mytestapp.exe

PE signature found

File Type: EXECUTABLE IMAGE

FILE HEADER VALUES
14C machine (x86)
7 number of sections
5832C3FC time date stamp Mon Nov 21 10:53:00 2016
Executable
32 bit word machine
...

SECTION HEADER #6
.rsrc name
32B09 virtual size
A9000 virtual address (004A9000 to 004DBB08)
32C00 size of raw data
76C00 file pointer to raw data (00076C00 to 000A97FF)
0 file pointer to relocation table
0 file pointer to line numbers
0 number of relocations
0 number of line numbers
40000040 flags
Initialized Data
Read Only

...

Summary

5000 .data
1000 .idata
14000 .rdata
5000 .reloc
33000 .rsrc
60000 .text
2E000 .textbss
...

Moje znanje je vrlo ograniceno povodom ovoga problema i mogu da naslutim da bi to imalo veze sa Windows PE formatom i modifikacijom .rsrc sekcije u executable image-u.
Prepostavljam da ako dodam nesta u .rsrc sekciju (sto inace radi linker koliko je meni poznato) onda bi trebao da modifikujem i virtuelne adrese i velicinu resource sekcije?
Ali dalje od toga ne znam kako najbolje da pristupim resavanju ovoga problema...
[ jovanpavlovic777 @ 11.04.2017. 08:55 ] @
Hajde da odgovorim sam sebi :D :D

Rad sa resursima u Windows PE fajlovima moze da se izvrsi sa raspolozivim WinAPI funkcijama:

BeginUpdateResource
https://msdn.microsoft.com/en-...desktop/ms648030(v=vs.85).aspx

UpdateResource
https://msdn.microsoft.com/en-...desktop/ms648049(v=vs.85).aspx

EndUpdateResource
https://msdn.microsoft.com/en-...desktop/ms648032(v=vs.85).aspx


Medjutim istrazivajuci i pokusavajuci da resim ovaj problem citao sam malo vise i o strukturi Windows PE fajla.
Cela tematika je fascinantna uzevsi u obzir OS, loadere i sa druge strane kompajlere i linkere...
Sada mi je zao kako nisam imao prilike (ili znanja) da se time pozabavim malo ranije:

https://msdn.microsoft.com/en-us/library/ms809762.aspx

http://www.delphibasics.info/h...ableexecutablefileformat-part1

http://www.delphibasics.info/h...ableexecutablefileformat-part2