La pizzeria di Christian
105 subscribers
1.41K photos
3 videos
22 files
496 links
Canale pubblico dove scrivo come perdo tempo
@sigma_hub
Download Telegram
l'Old new thing ha dei blog tecnici che parlano dei PE,specificamente di come il loader di ntoskrnl risolve il caricamenti di una DLL, direi che è molto importate per definire come Windows legge la .idata (la tabella degli import) che è a quanto pare più complessa di quel che pensavo (si parlano di certi hinting che ancora non so)
chiaramente potrei chiedere una AI di riassumere tutto in maniera veloce, ma non capirò mai come funziona sta roba BENE in questo modo, e l'unica cosa che conta in questo canale è perdere quanto più tempo possibile in conoscenze di dominio super specifiche e non vendibili in nessun tipo di l*voro
🔥1
ora anche qui la fantomatica domanda è, come hanno fatto quelli dell'LLVM senza super insight da Microsoft/GNU a implementarsi il linker? Qui si parla di conoscenze speciali trovabili solo con le query giuste a devblogs.microsoft.com/oldnewthing/
The 8086 instruction set also has special instructions which treat the DX:AX pair as a single 32-bit value, so that was the obvious choice to be the register pair used to return 32-bit values.
> The classic (pre-prototype) C language allowed you to call functions without telling the compiler what parameters the function requested, and it was common practice to pass the wrong number of parameters to a function if you “knew” that the called function wouldn’t mind. (See “open” for a classic example of this. The third parameter is optional if the second parameter does not specify that a file should be created.)

😭 SI OK non avevo mai ragionato che questo fosse il motivo per cdecl
You may notice that all of the RISC calling conventions are basically the same. Once again, evidence that the 8086/x86 is the weirdo. A wildly popular weirdo, mind you.
he Itanium has 128 integer registers, 32 of which (r0 through r31) are global and do not participate in function calls. The function declares to the processor how many registers of the remaining 96 it wants to use for purely local use (“local region”), the first few of which are used for parameter passing, and how many are used to pass parameters to other functions (“output registers”).

ecco a che servono gli ordinal
ok tra poco torna mirmir, quindi qui posto un po' i thread che ho trovato su oldnewthing per ora riguardante il tema di loader e di DLL, magari a qualcuno possono risultare utili

queste risorse riguardano generalmente come WIndows 16/32 leggono gli import ed export, come mai sono state fatte certe scelte e cosi via

Cosa molto stupida (scontata per chi ha fatto un po' di DLL) riguardante __dllexport
- https://devblogs.microsoft.com/oldnewthing/20040112-00/?p=41083
Perchè ci sono cosi tante calling convention???
- https://devblogs.microsoft.com/oldnewthing/20040102-00/?p=41213
- https://devblogs.microsoft.com/oldnewthing/20040107-00/?p=41183
- https://devblogs.microsoft.com/oldnewthing/20040108-00/?p=41163
- https://devblogs.microsoft.com/oldnewthing/20040108-00/?p=41163
- https://devblogs.microsoft.com/oldnewthing/20040113-00/?p=41073
- https://devblogs.microsoft.com/oldnewthing/20040114-00/?p=41053
Index riguardante DLL import e DLL export:
- https://devblogs.microsoft.com/oldnewthing/20060727-04/?p=30333
Comando per controllare i linkermember:
- https://www.geoffchappell.com/studies/msvc/link/dump/options/linkermember.htm
Ottimizzazioni di come Windows carica una DLL:
- https://devblogs.microsoft.com/oldnewthing/20100317-00/?p=14573
- https://devblogs.microsoft.com/oldnewthing/20100318-00/?p=14563
- https://devblogs.microsoft.com/oldnewthing/20231129-00/?p=109077
- https://devblogs.microsoft.com/oldnewthing/20231130-00/?p=109084
Diciamo che gli ordinal sono un legacy usato quasi solo per ottimizzare
Intel 486sx ma ne sa
Come fa jetpack compose a fare cosi schifo non me ne capacitp
Annoto grazie epock
👍3
TIL per mangiare devo per forza fare 6 ore di shift da engel al giorno (non li ho fatti)
odio la germania è un posto del cazzo del terzo mondo
👍2💔1
Sono Arves
7🤯5