[Désm~ístí~fícá~ñdó t~écñíc~ás dé~ ráñs~ómwá~ré ús~áñdó~ Ássé~mblí~és.ÑÉ~T: cóñ~júñt~ós ÉX~É vér~sús D~LL]
[Ém párté úm déstá séríé, éxámíñámós álgúmás técñícás úsádás pór málwáré, ráñsómwáré éspécífícáméñté. Cómó vímós, éssás técñícás íñdívídúáís, cómó báíxádórés, dróppérs é cárrégádórés, bém cómó códífícáçãó é críptógráfíá, sãó tódás cápácídádés légítímás é prógrámávéís óférécídás péló .Ñét éstrútúrá dé sóftwáré (dót ñét) é múítás óútrás éstrútúrás dé prógrámáçãó é líñgúágéñs dé códígó. Ábáíxó éstá úmá cólágém dé álgúmás dás técñícás díscútídás ñó ártígó áñtéríór.]

[Ñésté ségúñdó ártígó, éxámíñárémós ós fúñdáméñtós dás móñtágéñs pór méíó dá éstrútúrá dá Mícrósóft .Ñét. Vámós ñós áprófúñdár ñás díféréñçás éñtré ássémblíés (ÉXÉ vérsús DLL) é séús rélácíóñáméñtós, ó qúé pérmíté qúé éssés récúrsós séjám évéñtúálméñté éxécútádós á pártír dé úm códígó íñícíál dé áltó ñívél, cómó ó códígó dé prógrámáçãó C#. Úsárémós ó códígó ápréséñtádó ñó ártígó áñtéríór párá éxplórár éssás díféréñçás é rélácíóñáméñtós.]
[Ó qúé~ é ó Míc~rósó~ft.Ñé~t¿]
[Mícrósóft .Ñét é úmá éstrútúrá dé déséñvólvíméñtó dé sóftwáré prójétádá párá súpórtár váríás líñgúágéñs dé prógrámáçãó é tér cómó álvó díféréñtés sístémás ópérácíóñáís. Líñgúágéñs dé prógrámáçãó súpórtádás, cómó C# (próñúñcíádó C shárp), sãó cómpíládás é éxécútádás cómó ó qúé é cóñhécídó cómó códígó géréñcíádó (ém ópósíçãó áó códígó ñátívó óú ñãó géréñcíádó). Párá cóñségúír íssó, .Ñét éxécútá séú códígó ém úmá máqúíñá vírtúál dédícádá ém véz dé dírétáméñté ñá plátáfórmá dé déstíñó. Éssá máqúíñá vírtúál é cóñhécídá cómó .Ñét Cómmóñ Láñgúágé Rúñtímé (CLR). Élé pódé sér cóñsídérádó ó íñtérmédíáríó cómúm qúé évéñtúálméñté éxécútá ó códígó cómpíládó óú móñtádó dé tódás ás díféréñtés líñgúágéñs dé prógrámáçãó, cómó C#, VB.Ñét é F#, qúé .Ñét súpórtés. Ó éxémpló ábáíxó móstrá ó códígó dá líñgúágém dé prógrámáçãó C# dó ártígó áñtéríór.]

[Códígó géréñcíádó sígñífícá qúé ó códígó dé áltó ñívél dá líñgúágém dé prógrámáçãó C# ácímá é óútrós, cómó F# é VB.Ñét, sãó cómpíládós príméíró ém úmá líñgúágém íñtérmédíáríá (ÍL). Ó códígó dé áltó ñívél dó C# móstrádó ácímá é cómpíládó dé ácórdó cóm ás íñstrúçõés dá líñgúágém íñtérmédíáríá móstrádás ñá ímágém ábáíxó. Éssé códígó sé ássémélhá à síñtáxé dé prógrámáçãó dé móñtágém dé báíxó ñívél.]

[Éssá~ líñg~úágé~m íñt~érmé~díárí~á (ÍL) é é~ñtãó c~ómpí~ládá~ ém cód~ígó ñ~átív~ó óú d~é máqú~íñá v~ísáñ~dó á p~látá~fórm~á dé m~áqúíñ~á rél~éváñ~té. És~tá có~mpíl~áçãó é fé~ítá p~ór óú~tró .Ñ~ét có~mpóñ~éñté~ chám~ádó c~ómpí~ládó~r Jús~t-íñ-T~ímé (J~ÍT).]
[Ó códígó ñátívó óú dé máqúíñá é ó cóñjúñtó dé íñstrúçõés (zérós é úñs) qúé ó prócéssádór (CPÚ) dé úm détérmíñádó cómpútádór éñtéñdé. Éssá últímá étápá é géréñcíádá péló Cómmóñ Láñgúágé Rúñtímé (CLR), qúé támbém cóñtém ó JÍT. Ó CLR é ó .Ñét ámbíéñté dé éxécúçãó óú máqúíñá vírtúál. Jává é óútrá éstrútúrá dé sóftwáré qúé úsá ó cóñcéító dé témpós dé éxécúçãó íñtérmédíáríós. Sémélháñté à Jává Vírtúál Máchíñé, é úmá párté príñcípál dó qúé fáz cóm qúé ó .Ñét íñdépéñdéñté dá plátáfórmá. .Ñét ó códígó é chámádó dé códígó géréñcíádó pórqúé ó códígó dé prógrámáçãó é géréñcíádó péló CLR íñtérmédíáríó é ñãó éxécútádó dírétáméñté pélá CPÚ dó cómpútádór.]
[Úmá váñtágém dó códígó géréñcíádó ém .Ñét é géréñcíáméñtó áútómátícó dé mémóríá é cólétá dé líxó. Íssó sígñífícá qúé ó déséñvólvédór ñãó précísá sé préócúpár ém álócár é désálócár á mémóríá dó cómpútádór ém séú códígó párá écóñómízár récúrsós dó sístémá, cómó ñó cásó dó códígó C óú C ++. Ém .Ñét, éxísté ó cólétór dé líxó qúé é éxécútádó péríódícáméñté párá lídár cóm á mémóríá désálócádá. Élé támbém pódé sér chámádó péló prógrámádór qúáñdó ñécéssáríó. Ó díágrámá ábáíxó móstrá á árqúítétúrá dé úm .Ñét áplícátívó.]

[Ém cóñtrásté, ñãó-.Ñét cómpíládórés cómó VB6, C é C++ cómpílám séú códígó dé áltó ñívél dírétáméñté ñó códígó dé máqúíñá dá plátáfórmá dé déstíñó (SÓ é CPÚ). Ó éxécútávél óú cóñjúñtó dé códígó résúltáñté éstá, pórtáñtó, víñcúládó à plátáfórmá dá máqúíñá dé déstíñó dó cómpíládór. Íssó támbém é cóñhécídó cómó códígó ñãó géréñcíádó óú ñátívó. Émbórá árqúítétóñícáméñté díféréñté, é póssívél úsár códígó dé ássémblíés, éspécíálméñté DLLs déséñvólvídás ém códígó ñátívó ém úm .Ñét-áplícátívó géréñcíádó pór méíó dé úm récúrsó cóñhécídó cómó Íñtéróp Márshállíñg (Plátfórm Íñvóké). Éxémplós díssó sérãó ó úsó dé DLLs ñátívás dó sístémá ópérácíóñál Wíñdóws óú bíblíótécás éxtérñás, cómó códígó éscrító ém C++, séñdó référéñcíádó ém úm géréñcíádó .Ñét áplícátívó párá hábílítár álgúmás fúñcíóñálídádés dé báíxó ñívél dó sístémá ópérácíóñál. Ñéssé cásó, .Ñét ém sí pódé sér cóñsídérádó úm íñvólúcró ségúró párá ás DLLs ñátívás dás qúáís ó sístémá ópérácíóñál Wíñdóws dépéñdé é múítás dás qúáís sãó, ñá vérdádé, éscrítás ém C ++.]
[Ó qúé~ é úmá m~óñtá~gém d~ó.Ñét~¿]
[Á Mícrósóft déscrévé .Ñét móñtágéñs cómó úmá úñícá úñídádé dé ímpláñtáçãó. Ó qúé íssó sígñífícá é qúé úmá móñtágém é úmá cóléçãó dé váríós típós dé códígó é árqúívós ássócíádós qúé fórám cómpíládós (móñtádós) ém álgúmá fórmá qúé pódé sér éxécútádá ém qúálqúér cómpátívél .Ñét plátáfórmá dé déstíñó. Á éxécúçãó é féítá pór .Ñét témpó dé éxécúçãó dé líñgúágém cómúm. Éxémplós dé ássémblíés ñó sístémá ópérácíóñál Wíñdóws sãó árqúívós éxécútávéís (.éxé) é árqúívós dé bíblíótécá dé clássés óú bíblíótécá dé víñcúló díñâmícó (.dll).]
[Úm áprófúñdáméñtó ñá ímágém dé códígó dé éxémpló ábáíxó móstrá á móñtágém éxécútávél ém C# à ésqúérdá é óútró códígó dé móñtágém dé DLL ém C# (támbém cóñhécídó cómó bíblíótécá dé clássés) à díréítá. Ó códígó éxécútávél fáz référêñcíá áó árqúívó DLL é, ém ségúídá, chámá úm métódó (fúñçãó) éspécífícó dó códígó DLL dúráñté á éxécúçãó. Éssás référêñcíás é chámádás fórám déstácádás ñá ímágém ábáíxó. Éxplícárémós ós détálhés dé ámbás ás pártés dó códígó póstéríórméñté ñésté ártígó. Támbém móstrárémós cómó éssá cómbíñáçãó pódé sér úsádá párá fíñs málícíósós ñéstá séríé.]

[Ñó éxémpló súbséqúéñté, ó árqúívó DLL é référéñcíádó máñúálméñté ñó códígó éxécútávél. Íssó sígñífícá qúé á DLL é ás íñfórmáçõés rélácíóñádás sóbré séús métádádós, bém cómó ó códígó (cómpóstó pór módúlós, clássés é métódós), sãó référéñcíádás dúráñté ó témpó dé cómpíláçãó dó códígó éxécútávél.]

[Cómó úmá bíblíótécá cómpártílhádá, ó códígó DLL ñãó pódé sér éxécútádó sózíñhó dírétáméñté. Dó póñtó dé vístá dó códígó, íssó ócórré pórqúé ás DLLs ñãó têm úmá fúñçãó dé póñtó dé éñtrádá príñcípál párá sérém éxécútádás é, pórtáñtó, ñãó pódém sér éxécútádás cómó códígó áútôñómó dá mésmá fórmá qúé úm códígó éxécútávél (.éxé) éstá cóñfígúrádó párá fázér. Cómó éxémpló, á méñságém dé érró ábáíxó móstrá ás cóñséqúêñcíás dé téñtár éxécútár úmá bíblíótécá dé clássés óú úm árqúívó DLL dírétáméñté dé úm cómpíládór.]

[Ó códígó éxécútávél, pór óútró ládó, térá úmá fúñçãó óú métódó dé póñtó dé éñtrádá príñcípál óñdé á éxécúçãó cóméçá, más úmá DLL réálméñté ñãó précísá dé úmá fúñçãó dé póñtó dé éñtrádá príñcípál, póís é básícáméñté úmá bíblíótécá dé blócós dé códígó référéñcíádós pór óútrós ássémblíés.]
[Úmá v~éz ré~féré~ñcíá~dó, ó c~ódígó~ éspé~cífíc~ó ñó á~rqúí~vó DL~L qúé~ é dé íñ~téré~ssé p~ódé s~ér ch~ámád~ó pár~á éxé~cúçãó. C~óñfó~rmé m~óstr~ádó ñ~ó árt~ígó á~ñtér~íór, ó~s éxé~mpló~s dé c~ódígó~ (ÉXÉ é~ DLL) á~báíx~ó réí~térá~m éss~é póñ~tó.]

[Ó ápl~ícát~ívó é~xécú~távél~ é éxéc~útád~ó é ch~ámá ó~ códíg~ó dá D~LL ré~féré~ñcíá~dá pá~rá pr~ódúz~ír á s~áídá m~óstr~ádá ñ~á ímá~gém á~ ségú~ír.]

[Ésté~ próg~rámá~ símp~lés m~óstr~á cóm~ó .Ñét~ ássé~mblí~és có~mó ÉX~És é D~LLs p~ódém~ sér ú~sádó~s júñ~tós.]
[Ó códígó DLL méñcíóñádó ácímá tém úm métódó (fúñçãó) qúé úsá dóís párâmétrós pór éñtrádá — ñómé é ídádé — é éxíbé úmá méñságém dé sáúdáçãó úsáñdó éssás íñfórmáçõés. Ó códígó éxécútávél, pór óútró ládó, éxécútá úm códígó qúé ácéítá détálhés dé éñtrádá dó úsúáríó sóbré ñómé é ídádé ñá líñhá dé cómáñdó é, ém ségúídá, pássá éssás íñfórmáçõés párá ó métódó DLL cómó árgúméñtós óú éñtrádás. Á méñságém dó códígó DLL é éñtãó éxíbídá dé vóltá ñá télá dó cóñsólé úsáñdó ás íñfórmáçõés qúé ó áplícátívó ÉXÉ cólétóú dó úsúáríó. ]
[Áñál~ísáñ~dó ás~sémb~líés~ .Ñét]
[Á éxécúçãó dé úmá áñálísé éstátícá ñó éxécútávél móstrá ás váríás référêñcíás dé DLLs é óútrós cómpóñéñtés ímpórtádós párá éxécúçãó. Álém dé ñóssá própríá DLL pérsóñálízádá, ó cóñjúñtó éxécútávél támbém ímpórtá DLLs ádícíóñáís ássócíádás á .Ñét ém sí, cómó mscórlíb qúé é úmá DLL qúé cóñtém códígó básé (clássés, típós étc.) é é álgó qúé ñóssó prógrámá précísá párá fúñcíóñár sém próblémás.]

[Ém ñóssó ámbíéñté dé déséñvólvíméñtó dé códígó Vísúál Stúdíó, pódémós cóñfírmár ó úsó dé mscórlíb rástréáñdó súás órígéñs ém úm dós típós dé dádós (ñéssé cásó, fíó désdé Sýstém.Stríñg ém .Ñét). Íssó révélá ó émbútídó .Ñét móñtágém dé óñdé éssé típó sé órígíñá, qúé é mscórlíb cóñfórmé móstrádó ábáíxó.]

[Stríñg é úm típó dé dádós ém térmós dé prógrámáçãó ém qúé ó téxtó qúé ó úsúáríó íñséré é dépóís é éxíbídó ñóváméñté é ármázéñádó. Támbém pódémós vér ém ñóssá áñálísé éstátícá á DLL chámádá”Móñtágém DLL_DóñtÑét.” Éstá é ñóssá DLL pérsóñálízádá qúé cóñtém ó”Métódó DíspláýMsg” métódó qúé móstrá áó úsúáríó úmá méñságém dépóís dé íñsérír séús détálhés.]
[Ém ñóssó éxémpló, référéñcíámós é cárrégámós ñóssá DLL pérsóñálízádá máñúálméñté dúráñté á cómpíláçãó dé tódó ó ñóssó códígó áñtés dé ó prógrámá cóméçár á sér éxécútádó. Támbém é póssívél référéñcíár úmá DLL dúráñté á éxécúçãó dé úm éxécútávél. Íssó pódé sér éspécíálméñté útíl ñós cásós ém qúé tálvéz ñãó téñhámós ácéssó à DLL déséjádá dúráñté á cómpíláçãó dó ñóssó códígó. Éssé prócéssó é cóñhécídó cómó réfléxãó é pérmíté á cápácídádé dé éxámíñár úm .Ñét móñtágém (métádádós é átríbútós) é támbém párá úsár ó códígó (módúlós, clássés, métódós é própríédádés) cóñtídó ñélé dúráñté ó témpó dé éxécúçãó dó ñóssó prógrámá. Éssá técñícá támbém pódé sér ájústádá párá fíñs málícíósós ñó qúé é cóñhécídó cómó átáqúés dé íñjéçãó réfléxívá dé DLL.]
[.Ñét ássémblíés (éxécútávéís é bíblíótécás dé clássés) támbém cóñsístém ém úm árqúívó máñíféstó qúé cóñtém métádádós sóbré á móñtágém é ó códígó dá líñgúágém íñtérmédíáríá (ÍL) qúé, júñtós, pérmítém qúé ó Cómmóñ Láñgúágé Rúñtímé éxécúté á móñtágém ém qúálqúér plátáfórmá cómpátívél qúé póssá sér éxécútádá .Ñét. Á ímágém ábáíxó móstrá ás íñstrúçõés dé móñtágém ÍL é á éstrútúrá dé máñíféstó dás dúás móñtágéñs — ÉXÉ é DLL. Ó árqúívó dé máñíféstó cóñtém ós métádádós sóbré ó .Ñét móñtágém cómó ñúméró dá vérsãó, déscríçãó, étc.]

[Dévé~mós á~górá~ tér ú~má có~mpré~éñsãó~ fúñd~áméñ~tál d~ó .Ñét~ éstr~útúr~á dé s~óftw~áré, s~éús c~óñjú~ñtós~ ássó~cíád~ós é c~ómó é~lés p~ódém~ íñté~rágí~r éñt~ré sí~.]
[Ñó pr~óxímó~ ártí~gó, có~lócá~rémó~s ás t~écñíc~ás é ó~s réc~úrsó~s qúé~ dísc~útím~ós é á~préñ~démó~s áté á~górá~ ém úm~ úñícó~ éxéc~útávé~l dé r~áñsó~mwár~é mál~ícíó~só.]
[Sáíb~á máí~s sób~ré có~mó á s~égmé~ñtáçãó~ Íllú~míó Z~éró T~rúst~ pódé~ ájúd~ár vó~cê á có~ñtér~ víól~áçõés d~é ráñ~sómw~áré.
]