Joskus CODE.EXE ja muut EXE -järjestelmävirheet voivat johtua Windowsin rekisteriongelmista. Useat ohjelmat voivat käyttää CODE.EXE -tiedostoa, mutta kun nämä ohjelmat poistetaan, jää joskus "orpoja" (virheellisiä) EXE -rekisteritietoja jälkeen.

Pohjimmiltaan tämä tarkoittaa, että vaikka tiedoston todellinen polku on saattanut muuttua, sen väärä aiempi sijainti tallennetaan edelleen Windowsin rekisteriin. Kun Windows yrittää etsiä näitä vääriä tiedostoviittauksia (tiedoston sijainti PC:llä), CODE.EXE -virheitä saattaa tapahtua. Lisäksi haittaohjelmistot voivat vioittaa rekisteriä joka liittyy Game Cracker -ohjelmistoon. Siksi nämä korruptoituneet EXE-rekisterimerkinnät on korjattava ongelman korjaamiseksi juurissa.

Windows-rekisterin muokkaaminen käsin virheellisten CODE.EXE -osioiden poistamiseksi ei ole suositeltua, ellet ole tietokoneammattilainen. Rekisterin muokkaamisen yhteydessä tehdyt virheet voivat tehdä tietokoneestasi käyttökelvottoman ja aiheuttaa korjaamatonta vahinkoa käyttöjärjestelmällesi. Itse asiassa jopa yksi väärään paikkaan asetettu pilkku voi estää tietokonettasi käynnistymästä!

Tämä riskin takia suosittelemme luotettavan rekisterin puhdistusohjelmiston käyttöä, kuten %%product%% (Microsoft Gold Partnerin kehittämä), rekisterin skannaukseen ja CODE.EXE-ongelmien korjaamiseen. Rekisterinpuhdistajan avulla voit automatisoida viallisten rekisteriarvojen, puuttuvien tiedostoviitteiden (kuten mikä aiheuttaa CODE.EXE -virheen), ja rikkinäisten linkkien löytämisen rekisterissä. Ennen jokaista skannausta luodaan automaattisesti varmuuskopio, jonka avulla voit kumota muutokset yhdellä napsautuksella ja suojata tietokonettasi mahdollisilta vaurioilta. Parasta on, että rekisterivirheiden poistaminen voi parantaa järjestelmän nopeutta ja suorituskykyä merkittävästi.


Varoitus: Ellet ole kokenut tietokoneen käyttäjä, emme suosittele Windowsin rekisterin manuaalista muokkaamista. Rekisterieditorin virheellinen käyttö voi aiheuttaa vakavia ongelmia, jotka saattavat edellyttää Windowsin uudelleenasentamista. Emme takaa, että rekisterieditorin virheellisestä käytöstä aiheutuvat ongelmat voidaan korjata. Käytät Rekisterieditoria omalla vastuullasi.

Ennen kuin korjaat Windows-rekisterin manuaalisesti, sinun on luotava varmuuskopio viemällä osa rekisteristä, joka liittyy CODE.EXE-tiedostoon (esim. Game Cracker):

  1. Napsauta painiketta Alkaa.
  2. Tulla sisään " komento"V hakupalkki... ÄLÄ NAPSAUTA VIELÄ TULLA SISÄÄN!
  3. Kun pidät näppäimiä painettuna CTRL-Shift paina näppäimistöltäsi TULLA SISÄÄN.
  4. Näyttöön tulee valintaikkuna pääsyä varten.
  5. Klikkaus Joo.
  6. Musta laatikko avautuu vilkkuvalla kohdistimella.
  7. Tulla sisään " regedit" ja paina TULLA SISÄÄN.
  8. Valitse Rekisterieditorissa CODE.EXE liittyvä avain (esim. Game Cracker), jonka haluat varmuuskopioida.
  9. valikossa Tiedosto valitse Viedä.
  10. Listalla Tallenna kohteeseen valitse kansio, johon haluat tallentaa Game Cracker -avaimen varmuuskopion.
  11. Kentällä Tiedoston nimi Anna varmuuskopiotiedostolle nimi, esimerkiksi "Game Cracker -varmuuskopio".
  12. Varmista kenttä Vientialue arvo valittu Valittu haara.
  13. Klikkaus Tallentaa.
  14. Tiedosto tallennetaan .reg.
  15. Sinulla on nyt varmuuskopio CODE.EXE liittyvästä rekisterikohdasta.

Seuraavia rekisterin manuaalisen muokkaamisen vaiheita ei kuvata tässä artikkelissa, koska ne voivat vahingoittaa järjestelmääsi. Jos haluat lisätietoja rekisterin manuaalisesta muokkaamisesta, tutustu alla oleviin linkkeihin.

Avulla Resurssiviritin voit avata suoritettavat tiedostot, kuten .EXE, .DLL, .OCX, näytönsäästäjät (.SCR) ja monet muut. Avaamalla tiedoston pääset käsiksi tiedoston resursseihin ja voit korvata kuvakkeita, kohdistimia ja grafiikkaa eri muodoissa, muuttaa rivejä valikoissa, valintaikkunoissa ja muissa käyttöliittymäelementeissä.

Kannattaa kuitenkin muistaa, että suoritettavan tiedoston resurssit ovat erillisiä ohjelmakoodista, ja ohjelman käyttöliittymää muuttamalla ei pääse käsiksi ohjelmakoodiin. Resurssieditorin avulla voit muuttaa ohjelman säätimiä. Ohjelmakoodia ei voi muuttaa resurssieditorilla.

Vakavampiin muutoksiin (jotka eivät kuitenkaan johda mihinkään hyvään ilman riittävää kokemusta Windows-sovellusten ohjelmoinnista) suosittelemme PE Explorerin (PE-tiedostorakenneeditorin) tai FlexHexin (binääritiedostojen hex-editorin) käyttöä.

EXE- tai DLL-tiedoston avaaminen Resource Tunerissa

Tukee useita tapoja avata tiedostoja. Avaa tiedosto katselua ja muokkausta varten napsauttamalla painiketta Avaa tiedosto työkalupalkissa tai valitse komento Tiedosto > Avata valikosta. Työkalurivin painikkeen vieressä oleva pudotusvalikko antaa sinulle nopean pääsyn äskettäin avattujen tiedostojen luetteloon. Saman listan saa komennolla Tiedosto > Viimeaikaiset tiedostot ohjelmavalikosta. Luettelossa olevien tiedostojen määrä määritetään valintaikkunassa Mukauta.


Voit myös avata tiedoston Resource Tunerilla suoraan Windowsin Resurssienhallinnasta napsauttamalla tiedostoa hiiren kakkospainikkeella ja valitsemalla Avaa Resource Tunerilla kontekstivalikosta.

Tai voit yksinkertaisesti vetää ja pudottaa tiedostokuvakkeen Windowsin Resurssienhallinnasta Resource Tuner -kuvakkeeseen työpöydällä tai käynnissä olevan Resource Tunerin ikkunaan.

Voit myös avata tiedoston komentoriviltä.
Esimerkiksi: restuner.exe tiedostonimi.exe

Kun tiedostoa avataan, Resource Tuner suorittaa useita automaattisia toimintoja: purkaa tiedoston, jos havaitaan, että se on pakattu UPX:n avulla, sitten tarkistaa tiedoston rakenteen ja resurssit mahdollisten virheiden varalta ja rakentaa lopuksi vaurioituneet resurssit uudelleen suoritettavan tiedoston mukaisesti. muotomäärittely.

Virheitä avattaessa tiedostoa

Jos tiedostoa avattaessa tapahtuu virhe, se johtuu todennäköisesti kolmesta syystä: tiedosto on suojattu, tiedosto on 16-bittinen tai se ei ole ollenkaan suoritettava tiedosto.

1. Virhe: Tiedosto on vaurioitunut, pakkaaja pakattu tai suojattu.

On erittäin hyvä mahdollisuus, että tiedosto on pakattu sen koon pienentämiseksi. Suoritettaville tiedostoille on olemassa kymmeniä pakkaajia ja suojia, ja uusia ilmestyy koko ajan. Resource Tuner tukee vain yhden, mutta yleisimmän pakkaajan - UPX:n - purkamista. Muita pakkaajia ei tueta, ja sinun on purettava tiedosto itse ennen kuin voit avata tiedoston katselua tai muokkaamista varten.

Tätä tilannetta ei pidetä ohjelmavirheenä. Emme aio taistella muiden ohjelmien tekijöiden yrityksiä suojella luomuksiaan hakkeroinnilta, emmekä tue useiden kymmenien erilaisten pakkaajien purkamista, mukaan lukien sekä kaupalliset tuotteet että kotitekoiset tuotteet.

2. Virhe: Tiedosto on määritelty 16-bittiseksi NE-suoritettavaksi. Tätä muotoa ei tueta!

Ohjelmamme toimivat vain 32- ja 64-bittisten PE-tiedostojen kanssa. NE-muoto (lyhenne sanoista "New Executable") on 16-bittinen sovellusmuoto, joka on jäänyt vanhemmista Windows 3.xx -versioista. Windows 95:n myötä tätä muotoa pidetään vanhentuneena, eikä sitä käytetä, vaikka se voidaan suorittaa Microsoftin nykyaikaisilla alustoilla. Emme tue 16-bittisiä tiedostoja emmekä aio tukea niitä.

3. Virhe: Tiedosto ei ole EXE- tai DLL-tiedosto. Ollenkaan!

Resource Tuner ei tunnista tiedostoa laajennuksen perusteella. Jos nimeät suoritettavan tiedoston tunnisteen uudelleen, esimerkiksi korjaat .EXE .TXT:ksi tai poistat laajennuksen kokonaan, Resource Tuner ei huijaa tätä: tiedostoa avattaessa ohjelma analysoi tiedoston sisällä olevan tiedoston otsikon ja ei katso laajennusta ollenkaan.

Siksi, jos Resource Tuner kertoo, että tiedosto ei ole suoritettava, niin se on niin. Jos joku jostain syystä lisäsi .DLL-tunnisteen pelipaketin tekstitiedostoon, tiedosto ei lakkaa olemasta tekstiä eikä siitä tule dynaamista kirjastoa. Älä anna tiedostotunnisteen hämätä.

Mitä tiedostoja ei ole järkevää avata resurssieditorissa?

Huolimatta siitä, että Resource Tuner on suunniteltu avaamaan ja muokkaamaan mitä tahansa 32/64-bittisiä suoritettavia tiedostoja, on tietyntyyppisiä EXE-tiedostoja, joilla ei käytännössä ole resursseja.

1. Visual Basicilla luodut tiedostot.

Tällaisissa tiedostoissa resurssiosiossa ei ole muuta kuin kuvake ja versiotiedot. Visual BASICilla kirjoitettujen ohjelmien rivit ja dialogit tallennetaan omaan omaan muotoonsa, eivätkä ne käytä vakioresurssiosiota.

2. EXE-tiedostot, joiden koko on vähintään gigatavua.

Koska Resource Tuner on 32-bittinen ohjelma, avattavan tiedoston kuvan sijoittamiselle virtuaalimuistiin ensimmäisen gigatavun sisällä on luonnollisia rajoituksia. Gigatavun tai suuremman kokoinen tiedosto ei yksinkertaisesti mahdu sinne.

3. Itsepurkautuvat arkistot EXE-tiedostoina.

Tällaisissa tiedostoissa resursseissa ei ole muuta kuin kuvake ja versiotiedot, ja ehkä jopa se. Pohjimmiltaan tämä on arkistoitua tietoa, joka on varustettu aliohjelmalla purkamista varten.

4. Muiden ohjelmien asentajat.

Tällaisissa tiedostoissa resursseissa ei ole muuta kuin kuvake ja versiotiedot. Hyvin samanlainen kuin kohta 3. Asennustiedostoa voidaan pitää säilönä, joka sisältää toisen .EXE-tiedoston pakatussa muodossa ja rutiinin sen purkamiseksi. Lisäksi asennusohjelmien luontiohjelmat käyttävät erilaisia ​​algoritmeja arkistoitujen tietojen tallentamiseen itseensä.

Lataa ilmainen kokeiluversiosi!


Resource Tuner toimii kaikki Windows-versiot
2000:sta ja XP:stä 8:aan ja 10:een.

Järjestelmän vähimmäisvaatimukset:
Intel Pentium® tai AMD K5 166 MHz prosessori
16 MB RAM

Lähdekoodin paljastaminen on mahdotonta, jos he ovat yrittäneet varmistaa turvallisuuden (varsinkin jos kyseessä on omistusoikeus).

Mutta on olemassa tapoja paljastaa koodi kokonaan tai osittain.

  • IDA Pro on paras ilmainen krakkauslaite, joidenkin makrojen avulla voit muuntaa koodin takaisin. Mutta ei aina. Borlandin tuotteet ovat erityisen hyviä.
  • Hiew.Exe on ilmainen apuohjelma, erittäin pieni, jonka avulla voit muokata kokoonpanokielen koodia. Voit muokata tekstiä ja kokonaislukuvakioita. Voit jopa käyttää sitä ohjelman "kääntämiseen" toiselle kielelle, yrityksen nimen poistamiseen jne.
  • Jos PDB-tiedosto on olemassa tai debug-info on liitetty tiedostoon, niin koodi voidaan saada kehitysympäristöstä (jos debug-info on valmis), sitä voidaan harvoin käyttää. Lähdekoodia on mahdotonta saada, mutta voit saada "rivien numerot ja lähteiden nimet", sekä kaikkien vakioiden nimet/arvot, paikalliset muuttujat, välttää "funktion pirstoutumista" ja saada myös luokkia luokkatäytteillä ( lähes kaikki rakenteet paitsi ohjelman teksti), mikä yksinkertaistaa huomattavasti ohjelman toiminnan ymmärtämistä. Joillekin kirjastoille (dll-tiedostoille) pdb-tiedostot voidaan ladata erikseen. On epätodennäköistä, että itseään kunnioittava yritys sallisi arvokkaan tuotteensa ATE:n vuotaa.
  • Virheenkorjaustiedot, exe-tiedostoon on sisäänrakennettu DebugInfo-tiedot. Jos tällaisia ​​tietoja ja vastaava apuohjelma on (esimerkiksi Delphi on käännetty Borlandiin ja se on saatavilla), voit tehdä jotain edellisen kohdan kaltaista. Mutta on epätodennäköistä, että itseään kunnioittava yritys tekee niin "tyhmän" virheen (samanlainen kuin pdb).
  • Jos tiedosto on kirjoitettu C#:lla, se voidaan katsoa lähes kokonaan koodissa disSharpin avulla (sellaiset ohjelmat "sisältävät" vain mscorlibin tuontitaulukkoon ja siinä kaikki). DisSharp on huono purkamaan joitain ohjelman osia, mutta ehkä sen maksullinen versio tai vastaavien apuohjelmien maksulliset versiot paljastavat koodin paremmin.
  • Jos tiedosto on kirjoitettu FoxProlla, clipperillä ja muilla vastaavilla tavukoodikielillä, se avataan erityisillä apuohjelmilla (esim. Refox).
  • Exescope.exe-apuohjelman ResourceHacker.exe ja vastaavien apuohjelmien avulla voit tarkastella otsikkoa, yhdistettyjä kirjastoja (näitä käyttämällä voit ymmärtää millä ohjelmalla on kirjoitettu) ja muokata ohjelmaresursseja (resurssilomakkeet mukaan lukien Delphi, kuvakkeet, kuvat, resurssimerkkijonotaulukot).
  • Jos tiedetään kuinka koodi luotiin, uskon, että on olemassa erityisiä apuohjelmia, jotka voivat avata sen (ne ovat maksullisia ja saavuttamattomia).

Jälleen tämä edellyttää, että ei ole koodinpakkaajaa (sitten sinun on ensin käytettävä depackeria), salausta/itsemuokattavaa koodia. Jos sitä ei hajota hämärälaite, sitä ei voi purkaa. Mitä suurempi koodi on, sitä vaikeampi se on ymmärtää.

P.S. Henkilökohtainen mielipiteeni on, että kaikki paljastetaan ja hakkeroidaan, mutta siihen on käytettävä paljon, paljon aikaa. Ehkä vuosi tai enemmän (kokemuksesta ja työkaluista riippuen, hyviä työkaluja ei ole vapaasti saatavilla).

*** KAIKKEA KIRJOITTUA TULEE KÄYTTÄÄ VAIN KOULUTUSTARKOITUKSESSA! ***

-Työkalut-
OLLYDBG
Sovellus, johon lisäämme koodimme.
Se tulee olemaan NOTEPAD.EXE.
Tiedostosta kannattaa tehdä kopio.
Tässä kaikki

-alkaa-
Tavoitteenamme on liittää koodimme Notepad.EXE-tiedostoon.
Liitämme yksinkertaisen Viestilaatikko käynnistämistä varten Muistilehtiö.
Aloitetaan Muistikirja, ja varmista, että se käynnistyy normaalisti.

Jos olet varma, että se on alkuperäinen Notepad.exe, avaa se sisään Olly.
Seuraava ikkuna tulee näkyviin:

Jotta voimme lisätä koodimme, tarvitsemme tälle paikan ohjelmakoodissa.
Exe-tiedostoissa on paljon asioita CodeCaves. Nämä ovat tavuja ( DB 00).
Sinun tarvitsee vain vierittää ohjelmakoodia hieman alun alapuolelle ja näet CodeCave:


Punainen suorakulmio korostaa kappaletta CodeCave"olenko minä?
Voit lisätä tähän minkä tahansa koodin, eikä ohjelma kaadu.
Jos tiedät kutsuttavan API-toiminnon Viestilaatikko ohita nämä rivit.

***** ALOITA LAINAUS WIN32-OHJELMOIJAN OPAS

MessageBox-toiminto luo, näyttää ja käyttää viestilaatikkoa.
Viestilaatikko sisältää sovelluksen määrittämän viestin ja otsikon,
sekä mikä tahansa ennalta määritettyjen kuvakkeiden ja painikkeiden yhdistelmä.

Int MessageBox(
HWND hWnd, // omistajan ikkunan kahva
LPCTSTR lpText, // tekstin osoite viestilaatikossa
LPCTSTR lpCaption, // viestilaatikon otsikon osoite
UINT uType // viestilaatikon tyyli
);

***** LOPPU LAINAUS WIN32-OHJELMOINTIOHJEESTA

Laajenna napsauttamalla...

Siinä kaikki, mitä sinun tarvitsee tietää Viestilaatikko.
Tehdään jotain kanssa CodeCaves.
Jotta voisi käyttää Viestilaatikko, meidän on luotava teksti, jossa näytämme
Viestilaatikko. Seuraavassa kuvassa olen korostanut pari riviä CodeCaves Ja
näytti valikon BinaryEdit sinulle (tarvitsemme sitä).


Jos painat Binary=>Muokkaa tai (CTRL+E) näet seuraavan ikkunan.
Täytä vain yläkenttä samalla tavalla kuin minä tein.
Napsauta OK ja näet muokatun koodin (korostettu punaisella):
Analysoi koodi uudelleen painamalla CTRL+A.
OK! Nyt, jos haluat muuttaa viestin otsikkoa, kopioi tämä rivi
(tämä on kuin proseduurikutsun toinen parametri).

-Vähän kokoajaa-

Sen aika on tullut A.S.M. A
Tässä hyvä esimerkki!

PUSH 0 ; PAINIKKEET =<ТОЛЬКО КНОПКА OK>
PUSH 1008751 ; CAPTION = OSOITTEEMME "INJECTED NOTEPAD"
PUSH 1008751 ; VIESTI = SAMA.
PUSH 0 ; IKONI =<БЕЗ ИКОНКИ>
SOITTA ViestiBoxA; Soita MessageBoxA:lle määritetyillä parametreilla.

Laajenna napsauttamalla...

Nämä rivit tulivat sisään Ollie näyttää tältä:

Näetkö nuolen?! SE ON ERITTÄIN TÄRKEÄÄ!
Loppujen lopuksi, jos suoritamme ohjelman, mitään ei tapahdu. Miksi?
Koska meidän pientä toimenpidettämme ei ole vielä kutsuttu mihinkään!
Sinun on kirjoitettava muistiin sen alun osoite, ts. osoite" TYÖNTÄ 0", koska meidän täytyy tehdä hyppy
menettelyämme ja tule takaisin
Loistava. Palaa nyt ohjelman alkuun ( painike C työkalupalkissa Ollie tai kuten kuvassa).

Nyt olemme aivan ensimmäisellä rivillä, joka suoritetaan.
Muistatko vielä, että tavoitteemme on lisätä koodisi?
Sitten jatketaan!
Valitse pari riviä alusta ja kopioi ne leikepöydälle.


Liitä ne mihin tahansa tekstireaktoriin - niistä on meille hyötyä myöhemmin.
Palaa uudelleen ohjelman alkuun.
(Yllä oleva kuva on TYÖNTÄ 70).
Kaksoisnapsauttamalla tätä riviä saamme näkyviin seuraavan ikkunan.
Sinun on syötettävä " JMP<адрес PUSH 0, который мы записывали ранее> "
Napsauta Assemble-painiketta ja ohjelmakoodi vaihtuu uudelleen, ts. muutokset korostetaan punaisella.

Katso punaista suorakulmiota! Tämä on osoite, johon meidän on siirryttävä, kun koodimme on valmis.
Mutta jos hyppäämme tähän injektion jälkeen, ohjelma suoritetaan kuin ilman sitä
Joten on vielä yksi asia tehtävänä!
Vertaa ohjelman uutta alkua vanhaan, jonka kopioimme tekstieditoriin.
Näet, että kaksi riviä on kirjoitettu uudelleen! Mutta tarvitsemme niitä normaaliin toimintaan.
ohjelmia ilman virheitä. Etsi rivit, jotka on kirjoitettu päälle.
Minun tapauksessani se oli seuraava koodi:

TYÖNTÄ 70
TYÖNTÄ HUOMAUTUS.01001898

Laajenna napsauttamalla...

Napsauta ensimmäistä koodiriviä (meidän JMP) ja paina TULLA SISÄÄN.
Sinut ohjataan lisättyyn MessageBoxin kutsukoodiin!
Jälkeen SOITTA ViestiBoxA meidän täytyy lisätä nämä kaksi riviä JA hypätä taaksepäin!


SIINÄ KAIKKI!
(On helppo tarkistaa, toimiiko hyppy oikein - napsauta sitä TULLA SISÄÄN!)
Tallenna "muokattu" Muistiomme noudattamalla kuvan ohjeita:
Paina sitten Kopioi kaikki. Näyttöön tulevassa ikkunassa sinun on napsautettava hiiren kakkospainikkeella
valitse valikkokohta Tallenna tiedosto ja tallenna uudella nimellä. Suorita tiedosto:

Lisättyä toimintoa ei pidä kutsua suoraan, kuten artikkelissa on kirjoitettu, vaan hieman eri tavalla.

Ensinnäkin, kun olet lisännyt menettelyn tuontiin, sinun on tiedettävä se FT (FirstThunk "IAT"). Se näkyy tässä:

Muista se!(Soitan hänelle TrueAddress)​


Siirrytään nyt paikkaan, jossa kirjoitamme koodimme ( Code Caves).
Lisätään nyt oikea kutsu toimintoomme ViestilaatikkoA. Tätä varten kirjoitamme:

JMP [[B]TrueAddress]

Jos Olly tunnisti uuden koodin automaattisesti menettelykutsuksi - tämä on erittäin, erittäin hyvä! Joten se on helpompaa jatkossa. Jos ei, olet laskenut tuontiosoitteen väärin. Varmistaa!
Kirjoita tämän osoite muistiin JMP(Soitan hänelle TrueCall).

Nyt teemme kaiken kuten artikkelissa (lisäämme rivejä, PUSH jne.), mutta sen sijaan:

Soita MessageBoxA

sinun täytyy kirjoittaa:

Soita[B]TrueCall

Loput pysyvät ennallaan.

Laajenna napsauttamalla...