Mõnikord võivad CODE.EXE ja muud EXE-süsteemi vead olla seotud Windowsi registri probleemidega. Mitmed programmid saavad faili CODE.EXE kasutada, kuid nende programmide desinstallimisel või muutmisel jäetakse mõnikord "orvuks" (valed) EXE-registrikirjed maha.

Põhimõtteliselt tähendab see, et kuigi faili tegelik tee võib olla muutunud, salvestatakse selle vale endine asukoht endiselt Windowsi registris. Kui Windows proovib neid valesid failiviiteid (teie arvutis faili asukohti) otsida, võivad ilmneda CODE.EXE tõrked. Lisaks võib pahavarainfektsioon rikkuda Game Crackeriga seotud registrikirjeid. Seega tuleb need rikutud EXE-registrikirjed parandada, et probleem juurtes lahendada.

Windowsi registri käsitsi redigeerimine kehtetute CODE.EXE võtmete eemaldamiseks ei ole soovitatav, kui te pole arvutiteenindaja. Registri redigeerimisel tehtud vead võivad muuta teie arvuti kasutuskõlbmatuks ja põhjustada teie operatsioonisüsteemile korvamatut kahju. Tegelikult võib isegi üks valesse kohta pandud koma takistada arvuti käivitamist!

Selle riski tõttu soovitame CODE.EXE-ga seotud registriprobleemide skannimiseks ja parandamiseks kasutada usaldusväärset registripuhastajat, nagu %%product%% (välja töötatud Microsoft Gold Certified Partneri poolt). Registripuhastaja abil saate automatiseerida vigastatud registrikirjete, puuduvate failiviidete (nagu need, mis põhjustavad vea CODE.EXE) ja registris katkiste linkide leidmise. Enne iga skannimist luuakse automaatselt varukoopia, mis võimaldab teil kõik muudatused ühe klõpsuga tagasi võtta ja kaitsta teid võimalike arvutikahjustuste eest. Parim osa on see, et registrivigade kõrvaldamine võib oluliselt parandada süsteemi kiirust ja jõudlust.


Hoiatus: Kui te pole kogenud arvutikasutaja, EI soovita me Windowsi registrit käsitsi redigeerida. Registriredaktori vale kasutamine võib põhjustada tõsiseid probleeme, mille tõttu peate Windowsi uuesti installima. Me ei garanteeri, et registriredaktori valest kasutamisest tulenevaid probleeme saab parandada. Registriredaktorit kasutate omal vastutusel.

Enne Windowsi registri käsitsi parandamist peate looma varukoopia, eksportides koodiga CODE.EXE seotud registri osa (nt Game Cracker):

  1. Klõpsake nuppu Alusta.
  2. Sisenema " käsk"V otsinguriba... ÄRA VEEL KLIKI SISENEMA!
  3. Klahve all hoides CTRL-Shift vajutage klaviatuuril SISENEMA.
  4. Kuvatakse juurdepääsuks dialoogiboks.
  5. Klõpsake Jah.
  6. Must kast avaneb vilkuva kursoriga.
  7. Sisenema " regedit"ja vajutage SISENEMA.
  8. Valige registriredaktoris CODE.EXE seotud võti (nt Game Cracker), mille soovite varundada.
  9. Menüüs Fail vali Ekspordi.
  10. Nimekirjas Salvesta valige kaust, kuhu soovite Game Crackeri võtme varukoopia salvestada.
  11. Põllul Faili nimi Sisestage varufaili nimi, näiteks "Game Crackeri varukoopia".
  12. Veenduge, et väli Ekspordi vahemik valitud väärtus Valitud haru.
  13. Klõpsake Salvesta.
  14. Fail salvestatakse laiendiga .reg.
  15. Teil on nüüd CODE.EXE-ga seotud registrikirje varukoopia.

Käesolevas artiklis ei kirjeldata registri käsitsi redigeerimise järgmisi samme, kuna need võivad teie süsteemi kahjustada. Kui soovite registri käsitsi redigeerimise kohta lisateavet, vaadake allolevaid linke.

Abiga Ressursi tuuner saate avada käivitatavaid faile, nagu .EXE, .DLL, .OCX, ekraanisäästjad (.SCR) ja paljud teised. Faili avamisega pääsete ligi faili ressurssidele ning saate asendada erinevas vormingus ikoone, kursoreid ja graafikat, muuta ridu menüüdes, dialoogiboksides ja muudes kasutajaliidese elementides.

Siiski tasub meeles pidada, et täitmisfailis olevad ressursid on programmi koodist eraldiseisvad ning programmi liidest muutes ei pääse ligi programmi koodile. Ressursiredaktorit kasutades saate programmi juhtelemente muuta. Programmi koodi ei saa muuta ressursiredaktoriga.

Tõsisemate muudatuste jaoks (mis aga ilma piisava Windowsi rakenduste programmeerimise kogemuseta midagi head kaasa ei too) soovitame kasutada PE Explorerit (PE failistruktuuri redaktor) või FlexHex (binaarfailide hex redaktor).

EXE- või DLL-faili avamine Resource Tuneris

Toetab failide avamiseks mitmeid viise. Faili vaatamiseks ja redigeerimiseks avamiseks klõpsake nuppu Avatud fail tööriistaribal või valige käsk Fail > Avatud menüüst. Tööriistariba nupu kõrval olev rippmenüü annab teile kiire juurdepääsu hiljuti avatud failide loendile. Sama nimekirja saab käsuga Fail > Viimased failid programmi menüüst. Failide arv loendis konfigureeritakse dialoogiaknas Kohanda.


Saate faili avada ka Resource Tuneri abil otse Windows Explorerist, paremklõpsates failil ja valides Avage Resource Tuneriga kontekstimenüüst.

Või võite lihtsalt lohistada failiikooni Windows Explorerist töölaual asuvale Resource Tuneri ikoonile või töötava Resource Tuneri aknale.

Faili saate avada ka käsurealt.
Näiteks: restuner.exe failinimi.exe

Faili avamisel teeb Resource Tuner mitmeid automaatseid toiminguid: pakib faili lahti, kui tuvastatakse, et see on pakitud UPX-i abil, seejärel kontrollib faili struktuuri ja ressursse võimalike vigade suhtes ning lõpuks taastab kahjustatud ressursid vastavalt käivitatavale failile. vormingu spetsifikatsioon.

Vead faili avamisel

Kui faili avamisel ilmneb tõrge, on see tõenäoliselt kolmel põhjusel: fail on kaitstud, fail on 16-bitine või see pole üldse käivitatav fail.

1. Viga: fail on kahjustatud, pakkija poolt kokkusurutud või kaitsjaga kaitstud.

On väga hea võimalus, et fail on selle suuruse vähendamiseks tihendatud. Käivitatavate failide jaoks on kümneid pakkijaid ja kaitsjaid ning pidevalt ilmub uusi. Resource Tuner toetab ainult ühe, kuid kõige tavalisema pakkija - UPX - lahtipakkimist. Teisi pakkijaid ei toetata ja enne faili vaatamiseks või redigeerimiseks avamist peate faili ise lahti pakkima.

Seda olukorda ei peeta programmi veaks. Me ei hakka võitlema teiste programmide autorite püüdlustega kaitsta oma loomingut häkkimise eest ega toeta mitmekümne erineva pakendaja lahtipakkimist, sealhulgas nii kommertstoodete kui ka isetehtud tooteid.

2. Viga: fail on määratletud kui 16-bitine NE käivitatav. Seda vormingut ei toetata!

Meie programmid töötavad ainult 32- ja 64-bitiste PE-failidega. NE-vorming (lühend sõnast "New Executable") on 16-bitine rakendusvorming, mis on jäänud alles Windows 3.xx vanematest versioonidest. Windows 95 tulekuga peetakse seda vormingut aegunuks ja seda ei kasutata, kuigi seda saab käivitada Microsofti kaasaegsetel platvormidel. Me ei toeta 16-bitisi faile ega kavatse neid toetada.

3. Viga: fail ei ole EXE- ega DLL-fail. Üleüldse!

Ressursituuner ei tuvasta faili laienduse järgi. Kui nimetate käivitatava faili laiendi ümber, näiteks parandate .EXE .TXT-ks või eemaldate laienduse üldse, ei lase Resource Tuner end sellest petta: faili avamisel analüüsib programm faili sees olevat failipäist ja ei vaata laiendust üldse.

Seega, kui Resource Tuner ütleb teile, et fail ei ole käivitatav, siis see on nii. Kui keegi lisas mingil põhjusel mängupaketis olevale tekstifailile .DLL-laienduse, siis ei lakka fail olemast tekst ega muutu dünaamiliseks teegiks. Ärge laske faililaiendil end petta.

Milliseid faile pole ressursiredaktoris mõttekas avada?

Hoolimata asjaolust, et Resource Tuner on loodud mis tahes 32/64-bitiste käivitatavate failide avamiseks ja redigeerimiseks, on teatud tüüpi EXE-faile, millel pole praktiliselt mingeid ressursse.

1. Visual Basicu abil loodud failid.

Sellistes failides pole ressursside jaotises midagi peale ikooni ja versiooniteabe. Visual BASICus kirjutatud programmide read ja dialoogid salvestatakse nende omas vormingus ja need ei kasuta standardset ressursiosa.

2. Gigabaidised või suuremad EXE-failid.

Kuna Resource Tuner on 32-bitine programm, on avatava faili kujutise paigutamisel virtuaalmällu esimese gigabaidi piiresse loomulikud piirangud. Gigabaidine või suurem fail sinna lihtsalt ei mahu.

3. Isepahanduvad arhiivid EXE-failide kujul.

Sellistes failides pole ressurssides midagi peale ikooni ja versiooniteabe ning võib-olla isegi selle. Põhimõtteliselt on need arhiveeritud andmed, mis on varustatud lahtipakkimise alamprogrammiga.

4. Muude programmide installijad.

Sellistes failides pole ressurssides midagi peale ikooni ja versiooniteabe. Väga sarnane punktiga 3. Installifaili võib pidada konteineriks, mis sisaldab teist tihendatud kujul .EXE-faili ja selle ekstraktimise rutiini. Lisaks kasutavad installijate loomise programmid erinevaid algoritme, et salvestada enda sees arhiveeritud andmeid.

Laadige alla tasuta prooviversioon!


Ressursituuner töötab kõik Windowsi versioonid
2000 ja XP kuni 8 ja 10.

Minimaalsed süsteeminõuded:
Intel Pentium® või AMD K5 166 MHz protsessor
16 MB RAM

Lähtekoodi on võimatu avalikustada, kui nad on püüdnud tagada turvalisust (eriti kui tegemist on omandiõigusega).

Kuid koodi täielikuks või osaliseks paljastamiseks on viise.

  • IDA Pro on parim tasuta kreeker, mõned makrod võivad lubada teil koodi tagasi teisendada. Aga mitte alati. Eriti head on Borlandi tooted.
  • Hiew.Exe on väga väike tasuta utiliit, mis võimaldab redigeerida montaaži keele koodi. Saate redigeerida teksti ja täisarvude konstante. Saate seda kasutada isegi programmi teise keelde tõlkimiseks, ettevõtte nime kustutamiseks jne.
  • Kui PDB-fail on olemas või failile on lisatud silumisinfo, siis saab koodi arenduskeskkonnast hankida (kui debug-info on valmis), saab seda harva kasutada. Lähtekoodi on võimatu hankida, kuid saate "ridade numbreid ja allikanimesid", samuti kõigi konstantide nimed/väärtused, lokaalsed muutujad, vältida "funktsioonide killustumist" ja saada ka klassitäidetega klasse. (peaaegu kõik struktuurid, välja arvatud programmi tekst), mis lihtsustab oluliselt teie arusaamist programmi toimimisest. Mõne teeki (dll-i) puhul saab pdb-faile eraldi alla laadida. On ebatõenäoline, et endast lugupidav ettevõte laseb oma väärtusliku toote esialgsel eelarveprojektil lekkida.
  • Silumisinfo, exe-sse on sisse ehitatud DebugInfo teave. Kui selline info ja vastav utiliit on olemas (Näiteks Delphi on Borlandis koostatud ja see on olemas), siis saab teha midagi sarnast eelmise punktiga. Aga vaevalt, et endast lugupidav ettevõte nii “rumala” vea teeb (sarnaselt pdb-le).
  • Kui fail on kirjutatud C#-s, saab seda disSharpi abil peaaegu täielikult koodis vaadata (sellised programmid "kaasavad" imporditabelisse ainult mscorlibi ja see on kõik). DisSharp ei oska programmi mõnda osa lahti võtta, kuid võib-olla näitavad selle tasuline versioon või sarnaste utiliitide tasulised versioonid koodi paremini.
  • Kui fail on kirjutatud FoxPro, clipperi ja muudes sarnastes baitkoodi keeltes, avavad selle spetsiaalsed utiliidid (näiteks Refox).
  • Exescope.exe utiliit ResourceHacker.exe ja sarnased utiliidid võimaldavad teil vaadata päist, ühendatud teeke (neid kasutades saate mõista milles programm on kirjutatud) ja redigeerige programmi ressursse (ressursside vormid, sealhulgas Delphi, ikoonid, pildid, ressursi stringide tabelid).
  • Kui on teada, kuidas kood loodi, arvan, et on olemas spetsiaalsed utiliidid, mis seda avavad (need on tasulised ja kättesaamatud).

Jällegi on see tingimusel, et puudub koodipakkija (siis tuleb esmalt depakkerit rakendada), krüpteerijat/isemuutuva koodi. Kui seda ei murra obfuskaator, ei saa seda lahti harutada. Mida suurem on kood, seda raskem on sellest aru saada.

P.S. Minu isiklik arvamus on, et kõike paljastatakse ja häkitakse, aga sellele tuleb kulutada palju, palju aega. Võib-olla aasta või rohkem (olenevalt kogemusest ja töövahenditest pole häid tööriistu vabalt saadaval).

*** KÕIKI KIRJUTATUT TULEB KASUTADA AINULT HARIDUSEL! ***

-Tööriistad-
OLLYDBG
Rakendus, millesse me oma koodi sisestame.
Saab olema NOTEPAD.EXE.
Soovitav on teha failist koopia.
See on kõik

-Alusta-
Meie eesmärk on kleepida meie kood Notepad.EXE-sse.
Kleebime lihtsa Sõnumikast käivitamiseks Märkmik.
Käivitame Märkmik ja veenduge, et see käivitub normaalselt.

Kui olete kindel, et see on originaal Notepad.exe, avage see sisse Olly.
Ilmub järgmine aken:

Oma koodi sisestamiseks vajame selleks programmi koodis kohta.
Exe-failides on palju asju Koodikoopad. Need on baidid ( DB 00).
Peate lihtsalt programmi koodi algusest veidi alla kerima ja näete CodeCave:


Punane ristkülik tõstab tüki esile CodeCave"ami?
Siia saate sisestada mis tahes koodi ja teie programm ei jookse kokku.
Kui teate API funktsiooni helistamiseks Sõnumikast lihtsalt jäta need read vahele.

***** ALUSTAGE TSITAAT WIN32 PROGRAMMEERIJA JUHENDIST

Funktsioon MessageBox loob, kuvab ja haldab sõnumikasti.
Sõnumikast sisaldab rakenduse määratud sõnumit ja pealkirja,
pluss mis tahes kombinatsioon eelmääratletud ikoonidest ja nuppudest.

Int MessageBox(
HWND hWnd, // omaniku akna käepide
LPCTSTR lpText, // teksti aadress sõnumikastis
LPCTSTR lpCaption, // sõnumikasti pealkirja aadress
UINT uType // sõnumikasti stiil
);

***** TSITAAT WIN32 PROGRAMMEERIJA JUHENDI LÕPP

Klõpsake laiendamiseks...

See on kõik, mida peate teadma Sõnumikast.
Teeme sellega midagi Koodikoopad.
Selleks, et kasutada Sõnumikast, peame looma teksti, milles kuvame
Sõnumikast. Järgmisel pildil olen esile tõstnud paar rida, millega Koodikoopad Ja
näitas menüüd Binaarne redigeerimine teie jaoks (meil on seda vaja).


Kui vajutasite Binary=>Redigeeri või (CTRL+E) näete järgmist akent.
Lihtsalt täitke ülemine väli samamoodi nagu mina.
Klõpsake nuppu OK ja näete muudetud koodi (punasega esile tõstetud):
Nüüd vajutage koodi uuesti analüüsimiseks klahvikombinatsiooni CTRL+A.
OKEI! Nüüd, kui soovite muuta kirja pealkirja teistsuguseks, dubleerige see rida
(see on nagu protseduurikutse teine ​​parameeter).

-Natuke komplekteerijat-

Aeg on kätte jõudnud A.S.M. A
Siin on hea näide!

PUSH 0 ; NUPPID =<ТОЛЬКО КНОПКА OK>
PUSH 1008751 ; CAPTION = MEIE AADRESS "SÜSTITUD MÄRKUS"
PUSH 1008751 ; SÕNUM = SAMA.
PUSH 0 ; Ikoon =<БЕЗ ИКОНКИ>
HELISTA MessageBoxA; Helista MessageBoxA määratud parameetritega.

Klõpsake laiendamiseks...

Need read sisestati Ollie näeb välja selline:

Kas sa näed noolt?! SEE ON VÄGA TÄHTIS!
Lõppude lõpuks, kui me lihtsalt käivitame programmi, ei juhtu midagi. Miks?
Sest meie väikest protseduuri pole veel kuhugi kutsutud!
Peate kirja panema selle alguse aadressi, st. aadress" LÕUKA 0", sest me peame hüppama
meie protseduurile ja tulge tagasi
Suurepärane. Nüüd minge tagasi programmi algusesse ( nupp C tööriistaribal Ollie või nagu joonisel).

Nüüd oleme kõige esimesel real, mis täidetakse.
Kas mäletate ikka veel, et meie eesmärk on sisestada teie kood?
Siis jätkame!
Valige algusest paar rida ja kopeerige need lõikepuhvrisse.


Kleepige need mis tahes tekstireaktorisse - need on meile hiljem kasulikud.
Naaske uuesti programmi algusesse.
(Ülaltoodud pilt on PUSH 70).
Sellel real topeltklõpsates kuvatakse järgmine aken.
Peate sisestama " JMP<адрес PUSH 0, который мы записывали ранее> "
Vajutage nuppu Assemble ja programmi kood muutub uuesti, st. muudatused on punasega esile tõstetud.

Vaata punast ristkülikut! See on aadress, kuhu peame hüppama, kui kood on valmis.
Aga kui me hüppame siia pärast süstimist, siis programm töötab nagu ilma selleta
Nii et üks asi on veel teha!
Võrrelge programmi uut algust vanaga, mille me tekstiredaktorisse kopeerisime.
Näete, et kaks rida on ümber kirjutatud! Kuid me vajame neid normaalseks tööks.
programmid ilma vigadeta. Otsige üles read, mis on üle kirjutatud.
Minu puhul oli see järgmine kood:

PUSH 70
LÕUKA MÄRKUS.01001898

Klõpsake laiendamiseks...

Klõpsake koodi esimest rida (meie JMP) ja vajutage SISENEMA.
Teid suunatakse sisestatud MessageBoxi helistamiskoodi juurde!
Pärast HELISTA SõnumikastA peame need kaks rida sisestama JA hüppama tagasi!


SEE ON KÕIK!
(On lihtne kontrollida, kas hüpe töötab õigesti – klõpsake sellel SISENEMA!)
Meie "muudetud" Notepadi salvestamiseks järgige samme nagu pildil:
Seejärel vajutage Kopeeri kõik. Ilmuvas aknas peate paremklõpsama
valige menüüelement Salvesta fail ja salvestage uue nime all. Käivitage fail:

Lisatud funktsiooni ei tohiks kutsuda otse, nagu artiklis kirjas, vaid veidi teistmoodi.

Esiteks, pärast protseduuri lisamist impordile, peate seda teadma FT (FirstThunk "IAT"). See kuvatakse siin:

Mäleta seda!(Ma helistan talle TrueAddress)​


Liigume nüüd edasi kohta, kus me oma koodi kirjutame ( Koodikoopad).
Nüüd lisame oma funktsioonile õige kõne SõnumikastA. Selleks kirjutame:

JMP [[B]TrueAddress]

Kui Olly tuvastas uue koodi automaatselt protseduurikutsena – see on väga-väga hea! Nii et edaspidi on lihtsam. Kui ei, siis arvutasite impordiaadressi valesti. Topeltkontroll!
Kirjutage selle aadress üles JMP(Ma helistan talle TrueCall).

Nüüd teeme kõik nagu artiklis (ridade lisamine, PUSH jne), kuid selle asemel:

Helista MessageBoxA

pead kirjutama:

Helistage[B]TrueCallile

Ülejäänu jääb samaks.

Klõpsake laiendamiseks...