Memory management dei processori i386 in protected mode
(... tuffiamoci nell'architettura Intel ...)


11/09/2000

by "Ritz"

 

 

UIC's Home Page

Published by Quequero

Alzando la testa vedrai...

Diciamo che questo tute.....Fa molto UUE :PP A parte scherzi bravo Ritz, ti sei impegnato molto.

... che gli avvoltoi non ti mollano mai!

[Punkreas, Fegato e Cuore]

UIC's form
Home page: http://racl.oltrelinux.com
E-mail: [email protected]
Ritz, #crack-it su undernet
UIC's form

Difficolt�

( )NewBies ( )Intermedio (x)Avanzato ( )Master

 

Leggete leggete... chi arriva in fondo (anche dell'uue) vince una copia personale dello zppp dedicata solo a lui ;)...


Memory management dei processori i386 in protected mode
(... tuffiamoci nell'architettura Intel ...)
Written by Ritz

Introduzione

Salve a tutti.

Come penso avrete gia' capito questo tutorial non avra', come solitamente accade, una scopo pratico, bensi' il suo unico proposito e' quello di spiegare il funzionamento in protected mode dei processori i386.

Parlero' delle tavole di descrittori, dei meccanismi di paginazione e segmentazione, di exception handling, and so on. Ad ogni modo, in alcuni ambiti queste informazioni possono cmq risultare utili, come ad esempio nel caso si desideri scendere a ring0 da win9x.

Nonostante questo, non daro' esempi pratici di come ottenere cio', sia perche' cosi' vi divertire un po' a farlo da soli (evabbe' sono bastardo lo so ;) ), ma soprattutto perche', visto che questo tutorial e' soprattutto per il RACL (http://racl.immagika.org) non mi pare il caso di soffermi su sistemi della M$.

Ecco quindi che cerchero' di essere il + generale possibile.

Tanto per fare un esempio per chiarire come alcuni aspetti siano applicabili solo in ambienti specifici, se sotto win potete scendere a ring0 semplicemente utilizzando metodi quali call gate, int gate e cosi' via perche' gdt, ldt e idt (spieghero' tutto sotto) sono modificabili a ring3 (se volete sull'asj 1 trovate il relativo tute), in Linux cio' non e' possibile perche' essendo quest'ultimo un SO serio e sicuro non mette tali strutture in pagine a ring3 ma le protegge da eventuali modifiche.

Detto questo, let's start!

Letteratura

Molte delle info che trovate in questo tutorial sono state prese dai seguenti libri.

* "Volume 3: System Programming Guide", dell'"Intel Architecture Software Devloper's Manual", scaricabile dal sito della Intel nella sezione developer, Order Number 243192.

Anche i volumi 1 ("Basic Architecture", Order Number 243190) e 2 ("Instruction Set Reference Manual", Order Number 243191) di tale manuale possono tornare utili.

Per quanto riguarda le tabelle, invece, esse sono state spudoratamente copiate dai testi sopra citati :).

Essay

Allora, sapete che vi dico? Visto che il tute e' strapieno di tabelle e che non ho voglia di metterlo tutto a posto vi pasto sotto la sezione uuencodata.

Per vedere il file, prendetevi tutta la parte compresa tra i tag %UUE% e %/UUE%, tag esclusi, e salvatela come ia32.uue, quindi apritela col WinZippo. Una volta che avete finito di leggere il file, scendete per le Note Finali.

%UUE%

_=_
_=_ Part 001 of 001 of file ia32.zip
_=_
begin 666 ia32.zip
M4$L#!!0``@`(`#:6<RG,4#<*2#L``%[D```#````:3,R[7WM4AQ'MN#O583>
M(5>.N'2;!M$@R38>SP0"K&$O$ES`=NS=V(E(N@N4,455NZJ[;2GZH>:Q]C'V
M?.9'5773R'C&GK!L)&BJ,D^>/'G.R?.YM?7--^;M\=NSB_]MWAZ\.WAS_/;X
MW95Y=WQZ>FP.+@[_>G)U?'7UW<6Q<7M?OC+??+.U]?3)TR>'Y5UFIK/IU)E)
M55[;:Y??9<4T,[6=5-DT&YB\-/743DM3V*F;EV;LS*S@0;(-XW)\;YJ-IMG8
MW)7C;-N<9O"1*T9N8G-G1K:RTVE6N7KJ1N\S?'UJ<YC336BLN^RNK#Z8.UO8
MVPRG-G59E&9WW]39+?YL/[JRR`P,:F]=<;N-4)\?O#EY]^;ID[_1GZ=/KBI[
MYP!HA(:>,K4S[ZW)K9F4=>VN<Y=/[0;.E\&P,U=EN(@Q+@O`'V5U79K9U.7N
MXT=;C$O\90T09W<6WWE&0#IKYJZ:S@#Z9\859C1S!A8RMY5#X"I`H7PZ=UF!
M*YT[&)8Q=`L0PF"]T7MG[^Q45@/H19S49>ZF5O".JX<Y7_SGZ[Z99[<%_GQG
M)Q-\J<AR6))"<^-J-[+X=FE^G!'<(WAF`[8EN[G)8$_G,N@U``(C;9LK1/U=
M-AK9PM5WL/A9"0_7=08(&=W]"!/7EMZ;EH3H$X]0&'14%M.J!`@`:V-K]LQ-
M;F\!)F>J[!:P53D$7)\J]W&`X9:!,:[=U.P-\;>'%SNF1^^=O^EOF_^:936,
M1A_`#%563\JB1BH$_,%B-V132OK),C">(AC/-:P408JQ.+:YN3PSXUEE\<=\
MPQ7NH[.TO_0VK&[7@_:"(7NAD%T>#W"F3.#Z>9H5-;S4@!>0-L\,X'^2C=P-
M[$2%$P6`G>PQ[>;;UP:(VL`_O9KHE&<Z.,9ERPI@_,N,3X<B!,8NIN5`5JH4
M.@5$9!42G\P`F!GEMB9R`$HKQAD\)50$*]WS*WW96.D!KO3]!WPQ-W8\A@VH
MNQ:,[\*4=P`HK4<A@26[8NPJ^-XQ/1(-[+W"%V!(.'U(+!F2Q=VL@-_LPF^V
MS3LZ,7E6`?EM&CN'77)$<(``6+;0([email protected]#.4QT7F%J1,($F$]E*EC`G#=`
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
M`<U>=U@+'6GT@-(2D0&S:XE>$O3@Q;2RXQEK%R`]WSO:[email protected]/GYPPGO#5
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
[email protected]+%RN7>C9?\%XZKU/V0UZXKJ,C/QP90S<B730ZK%[>14.&H`MS
MU&#L"3LC0LHWGF_2LC3[M7:2:QZKCZS)L;,K<2>D#A(DF$';UK'A<\5UP*VB
MG&X)D*;WV;OS?I3`6,?52YL,!ED1LBOQ>L2^"C$L<?:6)B4_?XT[SRGK8A%!
M,-S'[+E^S/JK^DLI8Q<XV'.@$Z!P^.2ZG!5)RO1N@YY#/O;[8&X"5B7!_`[K
M];(!S[+)`7Y_ARZAQ!`2;V'MK"=O^1`TS9\G`-?6N/RI2"D^DR7(SR$M-[#J
M)"L;-,($_B27FFKH$"^8,2P1Y;)5JBOI/5BZT,>,B,2ZS_0;)[email protected];Y(7
MEPR?P0N:/*0^:"DVN[OC?<QBW?V)BS"A<\F1I73"N9AU>3/]B?W$\NJ0R@$[
MRL>E8@;C<EYEU]>9N'[EAI#;>D0)?W`:MQ,/NYC.50!>TL[$Q!AS%91A;,.O
M:C9SR792/6.\,F%%"(O.Z.,-A7$X;"\O4#8-W)-'R?Q=.[C`W41U.HG=,@?K
MDV4RW"E^]"FAT6AR3'`A$T+!K1>L*9"2XYK0VH"D$P)#!N<8&"<\L"BC>1.*
MME)^P/0.^@,QKA+2$+8Y>="#W.G]('GNB=S)0(Q2)BNPMN.^!S$]*%,TW3&4
M<#`P$1IX$P.7("7FF"W8\M*#!QR<<KMZ%PA2K99YY$-H4>T=HI8TRR-LT)8_
M"\\\"W6*7:$91\VZJBLTR?4M5:J9DU;P+27`=JNZZQO0O`J\F42I,.?P9/7@
M(1=(^O`7AJ]^!5]?^O?YJM8)I4Z(3'S))0+^.I:XFX-?9>&/L#T[^I=^R>KP
MI"F46$IEZZS(/ZQW>TJ&'-XSY"#0^SI##E=#R05?'@;E<#64/.1J,.,AAVOB
M,I6B:PTY7'-(@T.V(6X.N18N5X/9->3P04.VP/SU2)T.W*$$YOUF#^2P^T`>
MHEQ1*(]_SD:S:7;OF5QT##F\?\A5Q-X<<G@OE,]QYQ\"Y?!>*&G(=:$<KH_+
M02Q,UQAR^+`AFQ`WAUP3EZM`[1IR^`E#1J#^.J0>JH1(<O?&9?<U*^B,/LIN
M[-ATP#=S-D7'^=,VC9^(O<!C'^1!.L]G9!AO&]7Q-U>7EXU/#FV>;]W::=;X
M_(1JK,XFTZY?7E5VTOFYK?_>_AS10E5/NH`GAT5E;ZF.%U69X(LJ:7*$BZWV
M4M"(G\X"%UP*^I`&`M3^(-:]-0K&AX["$(",4([email protected]$YGH'<%Z'X#0U.
M<%NV,(UGY`)Q78I^SS4J%:-'*A_P!0Y12UX=4S8G"6YQJFEE$=`V0>0A*F""
M18\XNI`,!J0)4P`?WI:P?)EU:O*)4+:^@MS6?6]6Z+[WJ;4=>N9JC?63!=5*
MI3!.'KE?WQN^HI85>(!Z&-].*1E+53DDL/6UM'CLU[/Z0W^E`B9/X\$U;ZQJ
MALMT*SR2T6/WJ$TP-OIX_>'G-Y=I1`HW<(,V),,'X;LESO=V5^"[):G7&WO8
M,78+WRWY*D]WX[LE.N^'),:WC-V-[Y;`4[C;^'[0:7CZ9(O[D!T>'KP[N7Q[
M8HY.S/G%V=7Q?Y^<O3LV)^_XI\.KXR/S]NSHV#<BHR!_WT9`6],@3ZV=Q18L
MVCT%.,Y<*LTU`B^3P*Y@I7?2K`RY&_%`\E9P5"'G!LS)E$4RTF&YH@J&RO)2
MX]"65WU"FR^&I_TXPX^8V3HUT(PQ3@T_1=]VGT*?=,Y:DBHH++'8%]%*/B5Z
M@`0>\D+_4R."(OP"B`+$`$>AE3?JM*`(C7%Y9UW1\5`0+Y1=PN61.IYS!3K'
M1V+_G89M<F6N>\'57D*HUMAN<)@%2(=9+N4H@QUYFV6VP[C:ND2#ZQV+E%EN
M]O[A71RT/#;H80&IK!"[EPOY,[`%&">/\:^N5?,N@B<6H+`V0#E*+6SY-<_0
MVL=6?Y=:_0<<GD/5Z,30_S5;I_1Q#$F+PC$CRZGC]=LB#!O"$\=<D0GC?QA)
MH([2D/T!ER3$Z!*J56=&&]Q?[^]959!9$5N:#;C?&CPP-/SZ+I$<E\^C7@,?
M8ZUDX`?<\\_EF7;CLA.*4))"A`<RL5K/;K1]4<FQQ1+TQT'YN&%QYD+<.^MS
M>NESMM11!@AH"EKP,++_.JUT.Z6XN[@[GQ680Z%$^5VKIA^^[["J4$7Y!,(X
M.F(T@R^C]]F;<_;;'/@T'(I6[3AC1'92OK!L-B"C?)JLMF*UY3Z*K$<1O:E6
MVDEC<NP/L90:J*#-V7N'YZ=]#"J#?VE>:@G`CL1LP\3I/DY<T!FP\F8[/F\J
M/<1ZNJB6KN/P\L&BSS'Z%,L.SC1"$^M(@D++#'';'#DM.-R[LQ+KC*;Y`9\"
M$%?H,@':GJ#WBE9#D3>W%%5F5P$1VX9]`PM2E='_A&2<E-%,:WF2+TDG1,LQ
M^SI\=T($`AA[C?*CD>#$C-^[@[)N$.5"%!E26SMX)#MXQ&M>CO$D5@BK#\./
M>$?@9*%Z5B[9>"U'AA,TG6JIWY(QRF,RX$NC\TSO`N$^W;B0K2H8[";46@FY
MI"N`OUA$-+>]$OB8:I,(/G%T<&1>`[9#/)/(-%U#^*?>CE4%-U?^8;]$B!</
M)4EG1<.?`LLI,J0WTAYJ3)3S]0_E"";N>@X<P]%Z1W`,C^'K6SR3;R[[J6=6
MG6(^/D'3H33_(<Z(`@3=>3=D<@"H<&H2?+J,-PSX7C?@<\ZIDHF?75BA7"9]
MMAT'H.^'K(.RN*G*@F2@$\:5$QFE^TNPWD>S((]BYMRQ-))L7:S.)>&@8:Y,
MI;6$F*/#3!@1>;F86>`J,20$X/ZZ[?$<&!`>IIKEV<<H>%083.5@M&ILN21=
M[-H-88<V7I4/YX3[`F+1:KEXYD'Q0D)6'<**X)%.D)?I1"%@5&A"UMYZ+C)Y
MI)DEA!$GV,`TV!I[$F+,#FF^Y9R%7=P"K(4E0<V*\XN;I_PWN*L#>TZD$#Z9
MB(-//M_WG_]0C;<)S&TJ^R1<8@)\4#KBQDP\],88I-LHIUL,.6RRFOJFMJ)1
MU%0SN@IE)SVA'%XV11W;9"3T@XY[Q$DI2!EDK\%T2]#HIE2S.#UUS%_$MQQ9
M=OS]"+7R`>LQ'"F`WW\>1,'G6K!<[S=<Q+J><5`2,H$(;=R#BM%&AZZ8E?,R
M9D95-G*UU+E,\^4X:7,[CMA6(M*,6!BBRO.F1$=I7DEK8$VR8ZTF:W0M0NV8
M>^F^CQ4,X[-)_]?;\^>'!Z?`V^XT]03/@&C'>B]01985%O3_<V5,TOH.\;!\
M-C1;>.&.CP"\,:6K;`?W;R7#\BB[,,IW4=-A41WB\ZU&0"V<VD6,0=-JBYOF
ME'LMP`%@,GG>.Y-?%LC*VXPC7@0;_DQ3$=-X_O86=_&(YH;C]:[LV&X)^K9C
MZ_.MP]V#[email protected]>RY79>JBPOFZ<NC2@$W%G/T_N,7P>+6:[E?P#&FIQ
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
9:3,R4$L%!@`````!``$`,0```&D[````````
`
end

%/UUE%

Note finali

Bene direi proprio che per oggi possa bastare, abbiamo fatto una carrellata niente male su segmentazione, paging e meccanismi di protezione nel trasferimento tra data segment e code segment diversi... insomma niente male, anche perche' effettivamente il tute penso sia stato abbastanza palloso da leggere, anche se queste info (che, ripeto, sono state prese soprattutto dai manuali intel detti all'inizio) ritengo che siano sempre molto interessanti da conoscere.

Questo tute lo dedico a una persona del tutto speciale =).

Un saluto particolare va invece a tutti quelli del racl.

Byz,

Ritz for *

Disclaimer

Le informazioni contenute in questo documento sono a puro scopo didattico; l'autore non incoraggia chi volesse servirsene per scopi illegali.