WinAPI + 64bit

HackForum

WinAPI + 64bit#
Zajímalo by mě, jak pracuje kupříkladu taková typická WinAPI GetDlgItemText() na x64. Na x86 má pointer délku 32 bitů, na x64 má 64bitů. Jak WinAPI pozná, jak je pointer dlouhý? Jak to sakra funguje?
(odpovědět)
DjH_ | 193.165.154.*15.8.2010 14:34
re: WinAPI + 64bit#
mozno sa mylim, ale vzdy som potichu predpokladal, ze informacia o tom, kolko bitovy program je, je ulozena v PE a loader nacita adresu takej funkcie, ktora prislucha danej sirke adresy (tj. 32 bitovu verziu pre 32b program, 64b verziu pre 64b program)
(odpovědět)
matos | 78.141.102.*15.8.2010 23:11
re: WinAPI + 64bit#
Duck zase tvrdi, ze 32bitove aplikace se na Win64 pres WoW64 emuluji ( [link] )

(odpovědět)
DjH_ | 193.165.154.*15.8.2010 23:24
re: WinAPI + 64bit#
"Wow64.dll loads the 32 bit version of Ntdll.dll and runs its initialization code, which loads all necessary 32 bit DLLs. Almost all 32 bit DLLs are unmodified copies of the original 32 bit Windows binaries. " prakticky je to podrobne opisane to, co som napisal predtym, ci nie?
(odpovědět)
matos | 78.141.102.*15.8.2010 23:33
re: WinAPI + 64bit#
Ne, to se nepodoba s tim, cos napsal ani nahodou. :-) Udaje o tom, pro jakou architekturu je binarka, nekde v te PE hlavicce lezi, to nevyvracim.
(odpovědět)
DjH_ | 193.165.154.*16.8.2010 10:13
re: WinAPI + 64bit#
Konkrétně ve strukturře IMAGE_NT_HEADERS :P A ještě konkrétněji ve struktuře IMAGE_FILE_HEADER, pole Machine.
(odpovědět)
Duck | 85.71.165.*16.8.2010 14:26

Zpět
 
 
 

 
BBCode