Pievieno rakstu! Seko Draugiem Seko Facebook Seko Twitter
spoki fosilijas ikona Fosilija
0
353

Gribi redzēt, kā pašam uzlauzt kādu programmu? Kliko šeit!

Protams, ka neviens spoks jau nelegālu programmatūru neizmanto - fui, nē Bet gan jau dzirdējuši par nelegālu-krakotu programmatūru ir visi

Maksas programmām parasti ir jāievada kāds seriālais numurs vai jāpalaiž "kraks", kas liek programmai domāt, ka viss ir kārtībā, ir reģistrēts un samaksāts. Bet kā gan tādus krakus taisa, kā tās programmas lauž? No debesīm taču tas viss nenokrīt. Par to - šajā rakstā!

Kā piemēru uztaisīju maziņu programmiņu ar C++ un Windows API, kas pārbauda "reģistrācijas" nosacījumu un rāda - vai viss ir kārtībā. Reģistrācijas nosacījumu uzliku nereālu - ja 65 ir lielāks par nulli, tad feilojam Tātad neveiksme būs 100% gadījumu un rādīs bēdīgas sejiņas, bēdīgas bildītes. Uzlauzīsim šo programmiņu, liekot tai domāt, ka tā pēkšņi ir kļuvusi reģistrēta un sāk rādīt to, ko tā slēpj patiesībā!

Ko mums vajadzēs lai... Autors: Fosilija Programmu laušana jeb krakošana savām rokām
1.

Ko mums vajadzēs, lai programmu uzlauztu? 

1) Pašu programmas EXE failu
2) kādu debugeri (atkļūdotāju) - tā ir speciāla programma, kas soli pa solim māk parādīt, ko programma savā iekšienē dara un ko tā taisās darīt. Ar to var nopauzēt programmiņu pie konkrētām vietām. Šoreiz izmantoju Olly - labs, spēcīgs.
3) Pēc vajadzības - tēju vai kafiju, mūziku austiņās.

Āāāāāi-ziet!

Palaižam programmu normāli, mjā .. rāda bēdīgas sejiņas. Sliktākais scenārijs. Programma negrib mūs atzīt par labajiem tēliem. Mūsu mērķis - uzlauzt, lai programma sāk domāt, ka ir reģistrēta un rādīt ko citu, pozitīvāku. Mēs taču to varam, vai ne?   

Uzmanīgi apskatām ... Autors: Fosilija Programmu laušana jeb krakošana savām rokām
2.

Uzmanīgi apskatām - piefiksējam pieturas punktus, piemēram, atceramies parādīto tekstu. Iesākumam ar to pietiek, laižam darbā smago artilēriju - iedarbināsim debugeri, kurš smuki kā zem mikroskopa māk parādīt, ko programma plāno darīt. Palaidīsim, paskatīsimies, kas lācītim vēderā!

Scaronādi izskatās... Autors: Fosilija Programmu laušana jeb krakošana savām rokām
3.

Šādi izskatās atkļūdotājs (debugeris). Baisi un daudz cipariņu, vai ne? Patiesībā arī te ir vienkārši - galvenais, nemēģināt saprast visu uzreiz  
Labajā pusē ir EAX, EBX u.c. procesora REĢISTRI - kas tajos šobrīd pēc programmas domām atrodas. Datora sirds un dvēsele. Kreisajā pusē - izpildāmais kods, ko mēs arī pētīsim.

Mēģināsim atrast pazīstamus tekstus - piemēram, neveiksmīgo uzrakstu. Meklējam pēc "referenced strings" - jā, atrodas mūsu teksts "Pieeja liegta!". EXE failā viss ir apslēpts, atliek tikai ieskatīties tajā!

Uzklikojam lai debugeris mūs... Autors: Fosilija Programmu laušana jeb krakošana savām rokām
4.

Uzklikojam, lai debugeris mūs aizved uz vietu, kur to lieto - nu mēs redzam, kur šis teksts "Pieeja liegta" ar bēdīgo sejiņu tiek lietots. Tas ir Windows API funkcijā "SetWindowTextA", kas ieraksta tekstu formas lauciņā.

Ideāli parādīts ko viņscaron... Autors: Fosilija Programmu laušana jeb krakošana savām rokām
5.

Ideāli parādīts, ko viņš plāno darīt, vai ne? Tiek sagatavoti parametri funkcijai, tieši to mēs arī gaidījām (jo C++ kodā to lietojām, programmu taisot). Meklēsim - mazliet uz augšu ir jābūt pārbaudei pašai - tai, ko mēs gribam "salauzt" jeb "pierunāt darboties savādāk". Skatāmies .. kaut kas ir!   

Nesaprotams teksts vai ne... Autors: Fosilija Programmu laušana jeb krakošana savām rokām
6.

Nesaprotams teksts, vai ne? Patiesībā tur notiek diezgan vienkāršas lietas. Tiek ielasīts skaitlis (41 heksadecimālajā sistēmā, kas ir gaidītais 65 mums pierastajā decimālajā) un salīdzināts ar nulli. Ja nulle izrādās lielāka vai vienāda ar to 65, tad lecam uz adresi 013D1198 (otrais zaļais bloks), kur ir veiksmīgais scenārijs ar labajiem tekstiem un bildēm. Adreses varam izlasīt ekrāna kreisajā pusē - katrai rindiņai ir sava adrese.

Bet ja nosacījums neizpildās (mūsu gadījums, ko gribam apiet), tad nelecam nekur - paliekam un izpildām neveiksmīgo bloku (pirmais zaļais).  Ja kāds ir mācījies programmēšanas pamatus skolā (Pascal, Basic), tad noteikti izbrīnīsies, ka mainīgo nosaukumu te nav, bet ir tāds garš-garš spageti kods pēc kārtas salikts. Bet arī drusku tajā iedziļinoties, var visu saprast un skaidri redzēt, ko programma dara un kādas pārbaudes veic

Lūk esam tikuscaroni līdz... Autors: Fosilija Programmu laušana jeb krakošana savām rokām
7.

Lūk, esam tikuši līdz pat programmas svarīgākajai daļai - nosacījumam, ko gribam nomainīt, lai programma uzvestos savādāk. Viena sīka rindiņa (013D112F) ar 2 baitiem (7E 67) nosaka visu programmatūras uzvedību - liek lēkt 67 baitus uz priekšu, ja tai patīk salīdzināšanas rezultāts. Tagad tur ir JLE (Jump if Lower or Equal). Nomainīsim, lai vienmēr tas aizlec uz veiksmīgo daļu, neskatoties ne uz kādiem pārbaudes rezultātiem!   

Kā to izdarīt?
JMP - tāda ir komanda beznosacījumu aizlekšanai uz kādu vietu, neskatoties ne uz ko. Vienārši pārlēksim tad pāri neveiksmīgajam blokam, lai mums tas vairs nav jāredz. Klikojam 2x uz vajadzīgās rindiņas, nomainam pārbaudi veicošo JLE uz nekritisko JMP (nekādas adreses neaiztiekam) -> tagad vienmēr lēks uz veiksmīgo daļu.

Mainītā vieta iekrāsojas... Autors: Fosilija Programmu laušana jeb krakošana savām rokām
8.

Mainītā vieta iekrāsojas sarkana, lai mēs to labāk ievērotu. Nomainījām tikai vienu vienīgu baitu visā programmā - no 7E uz EB, un mainīto vietu tagad var smuki redzēt sarkanu.

Palaižam debugerī mainīto... Autors: Fosilija Programmu laušana jeb krakošana savām rokām
9.

Palaižam debugerī mainīto progammiņu (trīsstūrītis augšā rīkjoslā - tūlbārā) un pārliecināmies, ka programma tagad uzvedas pavisam citādāk! 

Rezultāts ir veiksmīgs ... Autors: Fosilija Programmu laušana jeb krakošana savām rokām
10.

Rezultāts ir veiksmīgs - esam uzlauzuši savu pirmo programmiņu - jēēēēēē!!!

 Mēs esam likuši programmai darboties pavisam savādāk. Forši, vai ne?
Ierakstam atpakaļ EXE failā izmaiņas, lai tās nekur nepazūd (Olly to prot: Labais klikšķis -> Edit->copy all modifications to file).

Debugeris prasa, kur saglabāt mainīto EXE failu. Saglabāsim to blakus oriģinālajam, tikai ar citu vārdu.

0
353

Lasi vēl labākos rakstus:

komentāri [26]

Niks: vai ienāc ar
Kārtot komentārus: populārākie | jaunākie | vecākie
Rādīt bildes
LGKvideos avatars
Medaļa BetmensMedaļa Vampīru klana biedrsMedaļa Maska
  LGKvideos 10.04.17 14:33  
 
8
0
Bija interesanti palasīt. Būs laikam kādreiz jāizmēģina.
Fosilija
Spoku fosilijas ikonaFosilija 10.04.17 20:45  
 
6
0
atbildot uz Mahitoo komentāru " Tikai viens bet - nopietnās programmās ... "Paldies, šis piemērs der kā ļoti labs ievads, lai nejauktu galvu, bet aizsardzības lietas ir atrunātas BUJ raksta beigās - ka fotošopam tik lēti vis cauri netiks Softa izmaksas patiesībā ir smieklīgas salīdzinājumā ar darbinieku algu, tāpēc tie, kam vajag, sen jau ir sapirkuši fotošopus, ofisus un windows. Attiecīgi krakošana IMO ir vairs tikai mājas lietotāju untums, ka visiem vajag zagtu fotošopu jebkam.
Kekistānis avatars
Medaļa TestētājsMedaļa Admins iesakaMedaļa Palaidnis
  Kekistānis 10.04.17 14:36
 
5
0

Lielisks darbs! Tagad sagaidu spokos programmu šerošanas sadaļu.

Nākamajā rakstā gribu redzēt, kā ietekmēt ASV vēlēšanu iznākumu, izmantojot tikai bezmaksas programmatūru   

 

http://i1.kym-cdn.com/entries/icons/original/000/021/807/4d7.png

 

Fosilija
Spoku fosilijas ikonaFosilija 10.04.17 21:29
 
5
0

atbildot uz Senču Lācis komentāru " Nevis savādāk, bet citādāk.  ''Ka... " Paldies, palaboju

Juris1604 avatars
Medaļa Misija izpildītaMedaļa NastijsMedaļa Dienas doma
  Juris1604 11.04.17 15:05
 
4
0

     Labs, es arī kādreiz nodarbojos ar programmēšanu, Asamblers nemaz nav tik sarežģīts, to var ātri apgūt, un tad uz priekšu.  

Fosilija
Spoku fosilijas ikonaFosilija 10.04.17 21:30
 
4
0

atbildot uz Trakais Jēgers komentāru " "

IMO strīda vēl nemaz nav - viss OK 

Mahitoo avatars
Medaļa Admins iesakaMedaļa Redaktors iesakaMedaļa Kukijs
  Mahitoo 10.04.17 20:06
 
4
0

Tikai viens bet - nopietnās programmās jau kodā iekļauta aizsardzība pret krakošanu un tā atslēga vai atslēgas fails, tiek pārbaudīts nevis vienā exe failā, bet gan pāris exe + dll + sistēmas reģistrs, ja atslēga paredzēta tikai 1 datoram. Tad vēl tāda fīča, kā paša koda šifrēšana un nopakošana, ka debbugeris vai nu neko neuzrāda, vai arī uzrāda totālu ķīseli.

Bet rakstam nav ne vainas, nākamo reizi paņem priekšā kādu advancētu crackme.

P.s. Cits jautājums ir vai ir vispār nepieciešams krakot, jo tagad ir piejams tiiik plašs Open Sorce programmu klāsts, ka personīgi man tas līdz šim nav bijis nepieciešams, ja nu vienīgi just for fun!

Lying Son Of A Bitch avatars
Medaļa Dienas domaMedaļa Dienas domaMedaļa Spēlmanis
  Lying Son Of A Bitch 10.04.17 19:14
 
4
0

Un ko darīt, ja Debug programma arī ir maksas?   

 

Senču Lācis avatars
Medaļa Gada spoks 2014Medaļa LācītisMedaļa Gada spoks 2014
  Senču Lācis 10.04.17 21:31
 
4
0

atbildot uz Trakais Jēgers komentāru "Nevis savādāk, bet citādāk.  ''Kad latvie... " Nez, it kā nekur citur nepiekasijos, saprastu, ja tas būtu darīts.

Raksts labs, tik tas krita acīs.

Fosilija
Spoku fosilijas ikonaFosilija 10.04.17 19:48  
 
3
0
atbildot uz kibulis komentāru " Un ko darīt, ja Debug programma arī ir ... "Nelietot - izvēlēties tā vietas bezmaksas debugeri! Olly, piemēram
Trakais Jēgers avatars
Medaļa Gada Spoks 2015Medaļa Gada RAKSTS 2016Medaļa Cacans
  Trakais Jēgers 10.04.17 21:13
 
4
1

atbildot uz Senču Lācis komentāru " Nevis savādāk, bet citādāk.  ''Ka... " http://spi3.itvnet.lv/upload2/articles/82/829309/images/36-geniali-joki-un-18.jpg

Fosilija
Spoku fosilijas ikonaFosilija 10.04.17 18:19
 
4
1

atbildot uz vecums nenak viens komentāru " Bet nav ta ka kacajam krakotas programm... "

Tas ir diezgan ierasti - ej nu saproti, kurš no krakiem der konkrētajai versijai, kurš nav inficēts ar ko sliktu.

Krakus neizmantoju jau dažus gadus, softu praktiski visu godīgi pērku, tāpēc atkrīt daudzas klapatas. :) Kad izmantoju, tad rūpīgi bija jāseko līdzi visam, rūpīgi jāizvēlas avoti. Ja nezinātājs ieskrien Internetā un pagrābj pirmo atrasto kraku, tad tiešām var rasties lielas problēmas.

exkluzīvais avatars
Medaļa Zvaniņš skanMedaļa UberautorsMedaļa Prieks
  exkluzīvais 10.04.17 14:49
 
3
0

  

Fosilija
Spoku fosilijas ikonaFosilija 10.04.17 14:42  
 
2
0
atbildot uz Kekistānis komentāru " Lielisks darbs! Tagad sagaidu spokos pr... "Vēlēšanu rezultātus - jap, ir arī tam zināšanas. Tik nez, vai spokos ko tādu var publicēt Un paldies par cepumiem!
SAMSS avatars
Medaļa Zoles 3000 spelesMedaļa Duraka 3000 spelesMedaļa Zoles 3000 speles
  SAMSS 17.04.17 19:51
 
2
0

  

Fosilija
Spoku fosilijas ikonaFosilija 10.04.17 21:45
 
2
0

atbildot uz kibulis komentāru " Bet maksas izskatās daudz smukāk un profesion... "

Piekrītu, maksas softus pats esmu pircis vairākus - tie bieži vien tiek vairāk uzturēti un labāk apaug ar fīčam nekā atsevišķu entuziastu veidota bezmaksas programmatūra, kas pēc dažiem gadiem vienkārši atmirst.

Tas pats Olly - foršs softs, bet 2.x versija šur-tur sakaras (vecāka ir stabilāka), bet pēdējie updeiti - pirms 3 gadiem. Ja uzliktu kaut 25$ maksu, bet pārējiem rādītu nagskrīnu, tad autoram būtu lielāka motivācija to uzturēt svaigu un stabilu. Gluži kā Sublime redaktora biznesa modelis - par brīvu lietojams, bet nagskrīns ik pa laikam. Pirks jau tāpat USA iedzīvotāji, daži tūkstoši ienāks, stimuls būs. Bezmaksas softi diemžēl noplok un pietrūkst tās dinamikas attīstībā. Lietoju teicamu maksas grafisko redaktoru (30$) fotošopa vietā - attīstība notiek, visu vajadzīgo spēju izdarīt uz urrā (šeit pat fotošopa konkursos ir gājis tīri labi), kamēr bezmaksas Pinta nīkuļo, karas un ir pamesta likteņa varā. Bet GIMP ar 3 piegājieniem tā arī nav sanācis iemīlēt.

Fosilija
Spoku fosilijas ikonaFosilija 10.04.17 22:32  
 
3
2
Riktīgi forša pamācība! Nākamo vari taisīt par to, kā uztaisīt savu minivīrusu lai izjokotu draugus.
vecums nenak viens avatars
Medaļa Dienas joksMedaļa Lord RudolphMedaļa Dienas joks
  vecums nenak viens 10.04.17 18:09  
 
2
1
Bet nav ta ka kacajam krakotas programmas un priecajamies ka par brivu bet pielikts klat kads kods kas atlauj hakeriem musu datoru lietot ka savu? Liekas bezmaksas a izradas ka ta tiri nav.

drumsibumsi avatars
Medaļa JubilārsMedaļa Dienas domaMedaļa Dienas doma
  drumsibumsi 11.04.17 00:01
 
1
0

O! 32-bitīgais Ollijs!

Fosilija
Spoku fosilijas ikonaFosilija 19.04.17 17:53
 
0
0

atbildot uz finks komentāru " ieteiktu ollydbg opcijās (CPU sadaļa) a... " Paldies - zināšu!