Page 1 of 2

[Tutoriaali] CBEditorin muokkaaminen

Posted: Fri Feb 19, 2010 9:13 pm
by KilledWhale
Tämän oppaan tarkoituksena on tarjota teille foorumilaisille lyhyt oppimäärä windows-ohjelmien muokkaamisesta käyttäen hyväksi muutamia yleispäteviä työkaluja. Kohteeksi valitsin CoolBasicin iki-ihanan editorin siksi, että sen muokkaus on suhteellisen helppoa ja koska se koskettaa lähes kaikkia foorumien käyttäjiä. Olen pyrkinyt rakentamaan oppaan niin, ettei se vaadi minkäänlaista aiempaa osaamista, mutta jonkinlaisesta Windows- ja assemblyosaamisesta voi olla hyötyä.

Oppaassa muokkaan vaihe-vaiheelta CoolBasic-editoria niin, ettei se poista IDE kansioon tulevaa Keywords.dat tiedostoa editoria käynnistäessä ja sulkiessa. Tämän korjauksen myötä on mahdollista lisätä syntaksivärjäyksiä omiin avainsanoihin, mutta pääasia on kuitenkin opettaa suppeasti ohjelmien editointia.

Helpoin tapa olisi suoraan muuttaa Keywords.dat vain luku -tiedostoksi, mutta tämän jälkeen editori heittäisi ilkeän virheilmoituksen joka käynnistyskerralla. Hyi hyi.
Sen sijaan paljon siistimpi ja elegantimpi työtapa on muokata itse editoria niin, ettei se poista tai ylikirjoita Keywords.dat tiedostoa missään vaiheessa. Tämä toki vaatii edellistä tapaa hieman enemmän osaamista, mutta pyrin tällä oppaalla valottamaan asiaa teille hieman.

Ennen säätämisen aloittamista sanon vielä:
Hyödynnät tätä opasta täysin omalla vastuullasi. En ota MITÄÄN vastuuta mahdollisesti hajotetusta CoolBasicista, menetetystä työstä, kadonneesta koodista tai mistään muustakaan. Jos seuraat opasta tarkasti ja teet juuri niin kuin käsketään kaiken tulisi kuitenkin onnistua hienosti ilman mahdollisia tiedosto- tai henkilövahinkoja.

Sisältö
1. Tarvittavat ohjelmat
2. Alkuvalmistelut
3. Pakkausformaatin selvittäminen ja pakkauksen purkaminen
3.1. Pakkausformaatin selvittäminen
3.2. Pakkauksen purkaminen
4. Editorin muokkaaminen
4.1. Aloitus
4.2. Tiedoston poistamisen kiertäminen
4.3. Tiedoston uudelleenkirjoittamisen kiertäminen
4.4. Viimeistely
5. Loppusanat

1. Tarvittavat ohjelmat
Oppaassa käytetyt työkalut olen valinnut lähinnä oman makuni mukaan ajattelematta helppoutta tai käyttöystävällisyyttä :P
Tarkoitus olisi saada lukijat jollain tapaan ymmärtämään näiden ohjelmien toimintaa, sekä samalla valottaa hieman assemblyn ja pinolaskennan saloja.
Lataa seuraavat paketit ja pura johonkin josta löydät ne:
  • PEiD on yleispätevä ohjelma .exejen pakkausformaattien tunnistamiseen, jonka mainitsen tässä oppaassa lähinnä teille mainostamisen vuoksi ja siksi, että siitä on paljolti hyötyä muidenkin ohjelmien murtamisessa.
  • UPX on ohjelma, jolla CoolBasicin editori on pakattu ja jolla pakkaus voidaan myös purkaa.
  • OllyDbg on ilmainen ja kätevä ohjelma windows-ohjelmien tutkimiseen ja muokkaamiseen silloin kun lähdekoodia ei ole saatavilla. Sanoisin että olly on tämän oppaan tärkein ohjelma, koska kaikki varsinainen muokkaaminen tapahtuu sillä.
  • Lisäksi tarvitset muokattavan ohjelman, joka on tässä tapauksessa CBEditor 10.43 :D
2. Alkuvalmistelut
Ohjelmia muokatessa ensimmäinen ja erittäin tärkeä vaihe on käsiteltävien tiedostojen varmuuskopiointi. Tässä tapauksessa talteenotettavat tiedostot ovat CBEditor.exe ja IDE/Keywords.dat
Siirry siis aluksi CoolBasicin kansioon ja kopio CBEditor.exe talteen johonkin, esimerkiksi työpöydälle tai muuhun kansioon.
Sen jälkeen kurkista IDE-kansioon ja katso löytyykö sieltä Keywords.dat. Jos ei löydy, avaa CBEditor ja sen tulisi ilmestyä sinne. Kopioi myös keywords.dat tiedosto talteen johonkin muualle, koska sille voi tulla tarvetta myöhemmässä vaiheessa jos tiedosto sattuu katoamaan.

3. Pakkausformaatin selvittäminen ja pakkauksen purkaminen
Pakkausformaatin selvittämistä varten latasimme koneelle PEiDin, joka kykenee selvittämään pakkausformaatin lähes jokaisesta pakatusta sovelluksesta, joka käyttää jotain tunnettua formaattia. Lisääksi PEiD kykeenee jossain määrin tunnistamaan myös päälekkäisiä pakkauksia. PEiD sisältää myös geneerisen purkajan, mutta se ei valitettavasti pure CBEditoriin, jonka vuoksi joudumme käyttämään erillistä ohjelmaa purkamiseen.

3.1. Pakkausformaatin selvittäminen
Avaa peid ja eteesi tulisi ilmestyä pienehkö ikkuna, jossa on muutamia nappuloita sekä useita käytöstä poistettuja tekstikenttiä.
Paina "..."-nappia ja selaa kohteeksi CBEditor.exe. Tämän jälkeen teksikenttiin tulisi ilmestyä mystistä tekstiä, joista ei tule välittää alinta, isointa tekstikentää lukuunottamatta.
Alimmassa kentässä lukee jotain tyyliin UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo, jolloin näemme heti, mikä pakkaus on kyseessä. Tässä tapauksessa pakkauksena on UPX, joka ei näytä olevan normaalista poikkeava, jolloin purkamisen tulisi olla suhteellisen helppoa ;)

3.2. Pakkauksen purkaminen
Kun kyseessä on tavallinen UPX-pakkaus ei purkaminen voi olla mitään muuta kuin helppoa. Kopio aluksi CBEditor.exe UPX:n kansioon, jonka jälkeen avaa windowsin komentorivi. (Hoituu esimerkiksi valitsemalla käynnistä-valikosta Suorita, ja kirjoittamalla Avaa: -kenttään cmd
Tämän jälkeen siirry komentorivillä UPX:n kansioon kirjoittamalla cd C:\kansio_minne_purit_upx_ja_siirsit_cbeditorin
Kansioon siirtymisen jälkeen kirjoita komentoriville "upx -d CBEditor.exe", jonka jälkeen UPX:n kansiossa tulisi olla purettu CBEditor ja varsinainen työstäminen voi alkaa :)
Kopio vielä purettu CBEditor UPX:n kansiosta takaisin CoolBasicin kansioon niin, että korvaat vanhan CBEditorin uudella, puretulla versiolla.

4. Editorin muokkaaminen
4.1. Aloitus
Aina ohjelmien muokkausta aloittaessa tulee miettiä tarkasti mitä halutaan tehdä ja mistä kannattaa lähteä liikkeelle. Tässä tapauksessa haluamme estää Keywords.dat-tiedoston poistamisen ja uudelleenkirjoittamisen, joten hyvä tapa lähteä liikkeelle on etsiä ohjelmasta sanoja Keywords.dat, IDE\Keywords.dat sekä yhdistää niitä tiedostojen luomiseen, poistamiseen ja kirjoittamiseen liittyviin komentoihin.
Avaa OllyDbg:n kansiossa oleva OLLYDBG.EXE ja valitse File-valikon alta Open.
Jos OllyDbg käynnistyessään kysyy jotain, vastaa vain Kyllä.
Selaa CoolBasicin kansioon, valitse CBEditor.exe ja klikkaa Avaa.
Eteesi tulisi nyt ilmestyä uusi ikkuna ja ruudun tulisi näyttää jotakuinkin tältä:
Image
Tulemme kiinnittämään huomiota ainoastaan siihen laatikkoon, mikä on uuden ikkunan vasemmassa yläkulmassa ja jossa näkyy itse ohjelman koodi.
4.2. Tiedoston poistamisen kiertäminen
Klikkaa laatikkoa hiiren oikealla napilla ja valitse aukeavasta valikosta Search for -> All referenced text strings
Image
Tämän tulisi aukaista jälleen uusi ikkuna Ollyn sisäpuolelle. Ikkuna näyttää jotakuinkin seuraavalta ja siihen on listattuna kaikki merkkijonot, joihin editori viittaa koodissa.
Image
Teksti jota haluamme etsiä on "IDE\Keywords.dat" joten klikkaa hiiren oikealla napilla ja valitse Search for text. Sen jälkeen valituksi tulee ensimmäinen löydetty hakutulos, eli rivi joka näyttää seuraavalta:
0041305C | MOV EDX,CBEditor.00424565 | ASCII "IDE\Keywords.dat"
Asetetaan kohtaan pysäytyspiste (eng. breakpoint) painamalla F2. Tällöin osoitekentässä oleva kohta 0041305C muuttuu väriltää punaiseksi.
Seuraavaan hakutulokseen pääsemme painamalla Ctrl + L, joten toistetaan vaihe niin monta kertaa kuin hakutuloksia löytyy. Viimeisen hakutuloksen jälkeen Ctrl + L painallus väläyttää ohjelman alapalkkia keltaisena niin, että siellä lukee samalla teksti Item not found
Ensimmäisen hakutuloksen lisäksi ohjelmasta tulisi löytyä kaksi muuta IDE\Keywords.dat kohtaa, jotka ovat:
004130AF | MOV EDX,CBEditor.00424577 | ASCII "IDE\Keywords.dat"
0041449A | MOV EDX,CBEditor.00424577 | ASCII "IDE\Keywords.dat"
Aseta myös näille kohdille edellämainitut pysäytyspisteet.
Koska tiedämme, että CBEditor poistaa Keywords.dat editoria sulkiessa, tuplaklikatkaamme alinta hakutulosta, jolloin eteen tulisi hypätä seuraavanlainen näkymä:
Image
Katselkaamme hieman valittua koodiriviä, sekä sen alapuolella olevia rivejä saadaksemme hieman käsitystä siitä, mitä tuon maagisen rivin jälkeen tapahtuu.
Ensimmäisen silmään pistää muutaman rivin alempana oleva, punaisella värillä koristettu kommentti: CBEditor.00420D80
Valitse kyseinen rivi ja paina Enter, jolloin debuggeri siirtyy osoitteen 00420D80 kohdalle. Muutaman rivin alempana huomaamme jälleen punaisella koristellun kommentin, DeleteFileA, joten voimme päätellä, että näillä asioilla on jotain tekemistä Keywords.dat katoamisen kanssa.
Image
Siirrytään takaisin viimeisen tuloksen kohdalle painamalla Ctrl + G ja kirjoittamalla tekstikentään 0041449A.
Valitse muutama rivi alempana oleva rivi 004144AA | . E8 D1C80000 | CALL CBEditor.00420D80 | CBEditor.00420D80 ja paina välilyöntiä.
Näytölle pomppaavan ikkunan tekstikentässä tulisi lukea CALL 00420D80. Korvaa se sanalla NOP ja varmista, että Fill with NOP's-valintaruutu on valittuna.
Image
Tämän jälkeen olemme jo osittain valmiita, sillä editori ei enää poista avainsanatiedostoa sulkeutuessaan, mutta editori edelleen korvaa käynnistyessään valmiin Keywords.dat omalla tiedostollaan.

Tässä vielä lyhyt selvitys sille mitä juuri teimme:
1. Paikansimme avainsanatiedostoon liittyvät merkkijonot ja aloimme tutkia niistä viimeistä.
2. Selvitimme että viimeistä merkkijonoa käytetään tiedoston poistamiseen.
3. Koodissa merkkijonoon viittaavaan rivin alapuolella oleva CALL 00420D80 siis kutsui koodia, joka poisti tiedoston.
4. Korvasimme CALL 00420D80 -> NOP, jolloin kutsun sijasta ohjelma ei tee mitään :)

4.3. Tiedoston uudelleenkirjoittamisen kiertäminen
Hoituu jotakuinkin samalla tavalla kuin edellinen.
Käynnistyessään CBEditor pyytää kääntäjää kirjoittamaan avainsanat IDE\Keywords.dat -tiedostoon.
Helpoin tapa tämän kiertämiseen on yksinkertaisesti poistaa kutsu joka käynnistää kääntäjän komennolla CBCompiler.exe -k "IDE\Keywords.dat", mutta miten löydämme oikean kohdan?
Tiedämme että kirjoitus hoidetaan varmasti ennen lukemista ja Keywords.dat viitataan tasan kolme kertaa ohjelmassa. Tämän vuoksi voimme olettaa että ensimmäinen viittaus on läheisimmässä yhteydessä avainsanojen kirjoittamiseen, joten katsokaamme tarkemmin sitä. Koska ensimmäinen viittaus oli kohdassa 0041305C siirrymme sinne painamalla Ctrl + G ja kirjoittamalla tekstikenttään 0041305C. Ruudullasi tulisi näkyä samanlaista kuin minulla:
Image
Osoitteessa 0041308D punaisella korostettu kommentti kiinnittää taas huomiomme. Sen yläpuolella oleva ASCII "IDE\CBCompiler.exe" vain vahvistaa ideaa siitä, että tuolla nimenomaisella kutsulla on jotain tekemistä avainsanojen kirjoitusten kanssa. Valitse kyseinen rivi hiirellä ja paina Enter kurkistaaksesi mitä kutsun takana näkyy. Selaa hieman alaspäin ja siellähän pilkottaakin ShellExecuteExA, joka on komento toisen ohjelman suorittamiseen.
Image
Palaa takaisin kutsukohtaan painamalla muutaman kerran - näppäintä tai painamalla Ctrl + G ja kirjoittamalla tekstikenttään 0041308D. Painetaan välilyöntiä valitussa kohdassa ja kirjoitetaan NOP, jolloin korvaamme taas kutsun komennolla joka ei tee mitään :)
Image
Tadaa, nyt kaiken pitäisi olla valmista. Viimeinen tehtävä on tallentaa muokattu koodi takaisin exeen, jonka jälkeen olemme valmiita testaamaan ohjelmaa.
4.4. Viimeistely
Seuraava tehtävä on tallentaa tehdyt muutokset sovellukseen, jonka jälkeen kaikki olisi valmista. Innokkaimmat voivat toki pakata editorin uudestaan, mutta sille ei ole tarvetta.
Ollyssa tallennus hoituu kätevästi painamalla oikealla klikillä koodi-ikkunaa ja valitsemalla valikosta Copy to executable -> All modifications
Image
Klikkaa Copy all, jonka jälkeen eteesi tulisi pompata uusi ikkuna. Klikkaa ikkunan sisältöä oikealla ja valitse Save file. Selaa CoolBasic kansioosi ja tallenna tuotos nimellä CBEditor.exe. Kopioi talteenottamasi Keywords.dat -> CoolBasic\IDE\Keywords.dat ja Lisäile omia värjäyksiäsi niin paljon kuin sielu sietää.
Muista aina että Keywords.datin ensimmäisellä rivillä oleva luku kertoo kuinka monta komentoa on värjäyksen alla ja on tärkeää että luku on paikkaansapitävä.

Varmista vielä, että CoolBasicin editori käynnistyy ja syntaksivärjäykset toimivat. Jos jokin meni pieleen, palauta vanha editori ja yritä uudelleen.

5. Loppusanat
Jos jotain jäi hampaankoloon tai haluat muuten vain ottaa yhteyttä, se onnistuu helpoiten irkitse. Minut tavoittaa seuraavista verkoista nimimerkillä KilledWhale: IRCNet, Freenode ja joskus myös QuakeNetistä. IRC6-verkossa pyörin KW-nimimerkillä. Palautetta otan mielelläni vastaan ja parantelen opasta mielelläni selkeämmäksi ja helpommaksi käyttäjien toiveiden mukaan.
Toivottavasti oppaasta jäi jotain mieleen tai siitä on hyötyä edes jollekkin :mrgreen:

Tässä vielä todiste siitä, että kaikki toimii ja laitoin mukaan vielä valmiiksi muokatun editorin laiskoja varten. Editorin paketissa on mukana Keywords.dat jottei sitä tarvitse alkaa generoimaan kääntäjällä erikseen.
Image
Lataa tästä valmiiksi muokattu editori!

Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Sat Feb 20, 2010 8:32 am
by Wingman
hieno tutoriaali, sainpas editorin muokattua.

Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Sat Feb 20, 2010 11:59 am
by legend
Voisitko lähettää, valmiiksi muokatun exen tänne?
EDIT:

Jaa, alhaalla =)


Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Sat Feb 20, 2010 12:21 pm
by Wingman
eikös se ole tuossa ihan alhaalla?

Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Mon Jun 14, 2010 5:00 pm
by Koodari
Voitko laittaa puretun editorin?
Ei kun oikein onnistunut tuo purkaminen :roll:

Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Mon Jun 14, 2010 10:28 pm
by valscion
Koodari wrote:Voitko laittaa puretun editorin?
Ei kun oikein onnistunut tuo purkaminen :roll:
Googleta 7-zip tai WinRAR.

Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Tue Jun 15, 2010 12:24 am
by temu92
Koodari wrote:Voitko laittaa puretun editorin?
Ei kun oikein onnistunut tuo purkaminen :roll:
Miten muka valmiiks purettu? Vai jaksatko alkaa lataamaan yksitellen muutamaa sataa tiedostoa?

Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Tue Jun 15, 2010 9:14 am
by legend
temu92 wrote:
Koodari wrote:Voitko laittaa puretun editorin?
Ei kun oikein onnistunut tuo purkaminen :roll:
Miten muka valmiiks purettu? Vai jaksatko alkaa lataamaan yksitellen muutamaa sataa tiedostoa?
Eikö hän tarkoita cbeditorin pakkausformaaatin purkamista.

Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Thu Jun 17, 2010 3:00 pm
by Koodari
VesQ wrote:
Koodari wrote:Voitko laittaa puretun editorin?
Ei kun oikein onnistunut tuo purkaminen :roll:
Googleta 7-zip tai WinRAR.
Tarkotan että ei toiminut mulla toi komentoriviltä ohjaaminen / ohjattava ohjelma (upx)

Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Sun Jun 20, 2010 1:21 am
by DJ-Filbe
Kyllä, hieno tuto. Jokukun vielä keksisi miten omat funktiot saa tungettua osaksi cb:n standardikirjastoa niin sitten nostan hattua ja kumarran.

Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Sun Jun 20, 2010 8:34 am
by KilledWhale
DJ-Nerd wrote:Kyllä, hieno tuto. Jokukun vielä keksisi miten omat funktiot saa tungettua osaksi cb:n standardikirjastoa niin sitten nostan hattua ja kumarran.
Tutkiskelin joskus sitäkin mahdollisuutta, että käyttäjän määrittelemät funktiot saisivat syntaksivärjäyksen ja editorin puolelta sitä varten löytyisi muutama kätevä komento, mutta ongelmaksi tulisivat luultavasti funktiot, jotka ovat eri tiedostoissa ts. värjättävien funktioiden tulisi olla samassa tiedoststossa muun koodin kanssa.

Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Sun Jun 20, 2010 12:52 pm
by Koodari
DJ-Nerd wrote:Kyllä, hieno tuto. Jokukun vielä keksisi miten omat funktiot saa tungettua osaksi cb:n standardikirjastoa niin sitten nostan hattua ja kumarran.
Sama täällä!

Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Wed Sep 01, 2010 5:10 pm
by mkn
Latauslinkki ei toimi :( Jos jollain on kyseinen tiedosto koneella niin voisitko sen upata tänne? :D

Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Wed Sep 01, 2010 5:21 pm
by KilledWhale
mkn wrote:Latauslinkki ei toimi :( Jos jollain on kyseinen tiedosto koneella niin voisitko sen upata tänne? :D
Voin katsella myöhemmin jos se löytyisi vielä jostain. Mutta ainahan voit itse muokata opasta seuraten.

Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Sun Feb 27, 2011 5:45 pm
by MaGetzUb
Tää alkaa olla jo vanha aihe, mutta ei anneta sen häiritä. Kysyisinkin, että kuinkas on CB:lä tehtyjen ohjelmien laita muokkauspuolella? Onko mahdollista? =) Jos on, niin miten? Cb:lä tehtyjen ohjelmien pakkausmuoto on kyllä tuo upx, että ei varmaan ole kovin hankala lähteä liikkeelle?

Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Sun Feb 27, 2011 6:11 pm
by naputtelija
MaGetzUb wrote:Tää alkaa olla jo vanha aihe, mutta ei anneta sen häiritä. Kysyisinkin, että kuinkas on CB:lä tehtyjen ohjelmien laita muokkauspuolella? Onko mahdollista? =) Jos on, niin miten? Cb:lä tehtyjen ohjelmien pakkausmuoto on kyllä tuo upx, että ei varmaan ole kovin hankala lähteä liikkeelle?
KW on tehdyt decompilerin joka kääntää exen koodiksi, eikä hän varmaankaan halua antaa sinulle sitä/yhtään ohjetta sen tekemiseen ottaen huomioon sen minkämoisen hässäkän decompiler aiheutti. Mutta voihan sitä KW:ltä kysyä...

Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Sun Feb 27, 2011 6:17 pm
by Awaclus
naputtelija wrote:
MaGetzUb wrote:Tää alkaa olla jo vanha aihe, mutta ei anneta sen häiritä. Kysyisinkin, että kuinkas on CB:lä tehtyjen ohjelmien laita muokkauspuolella? Onko mahdollista? =) Jos on, niin miten? Cb:lä tehtyjen ohjelmien pakkausmuoto on kyllä tuo upx, että ei varmaan ole kovin hankala lähteä liikkeelle?
KW on tehdyt decompilerin joka kääntää exen koodiksi, eikä hän varmaankaan halua antaa sinulle sitä/yhtään ohjetta sen tekemiseen ottaen huomioon sen minkämoisen hässäkän decompiler aiheutti. Mutta voihan sitä KW:ltä kysyä...
Mikäs tämä on tämä hässäkkä, josta minä en ole kuullutkaan? Käsittääkseni ainoa hässäkähkö on ollut se, että KW kysyi Zerolta, saako julkaista ja Zero vastasi, että ei julkaisemista kielletä mutta ei suositellakaan.

Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Mon Feb 28, 2011 9:01 pm
by MaGetzUb
Minä en haluakkaan purkaa koko vanhaa projektiani, vaan päästä muokkailemaan pikku seikkoja siitä, ihan vain huvikseni ja pelkästä mielenkiinnosta.

Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Wed Mar 02, 2011 4:54 pm
by KilledWhale
MaGetzUb wrote:Minä en haluakkaan purkaa koko vanhaa projektiani, vaan päästä muokkailemaan pikku seikkoja siitä, ihan vain huvikseni ja pelkästä mielenkiinnosta.
Tuo on melko haastavaa muttei mahdotonta. Joutuisit päivittelemään hyppyjen ja funktioiden offsetteja uudestaan jolloin moni asia voi mennä pieleen :D
Oma CBVirukseni sääti aluksi noin, mutta operaatio on raska ja hankalahko joten siirryin suosiolla hyödyntämään CB:n tavukoodin aukkoa.

Re: [Tutoriaali] CBEditorin muokkaaminen

Posted: Wed Mar 02, 2011 6:06 pm
by MaGetzUb
Entäs, voitko debugata minulle One Shotin wanhan koodin tämän paketin sisältämästä exe:tä?