Profesionālie tulkošanas pakalpojumi. 5
Pardod: MSI GeForce RTX 2080ti gaming X TRIO Graphic Card 1
Vēlos piedāvāt darbu online. 0
OCTA termiņš 13
Ka sauc Pasaules dalu kura dzivojam 4
google 1
Taustiņu funkcijas izmainīšana 2
Torrent 1
Cik maksā šodien kārtigs Gamer PC? 4
ESET izlaiž 2017.gada produktu izdevumus 23
VIAPLAY: Video tiešsaistē skatās 70% Latvijas iedzīvotāju 21
Katrā desmitajā datorā joprojām izmanto Windows XP 2
Google tuvākajā laikā atteiksies no Chrome paplašinājuma palaidēja 2
Acer ievieš nozares pirmo ieliekto monitoru ar acu izsekošanas funkcionalitāti 4
Adobe laiž klajā ārkārtas atjauninājumu 3
Tests: Cik precīzs ir "lēta gala" velo spidometrs? 3
Leģendārie telefoni – Nokia 3310 un citi 3
Puisis iziet Super Mario spēli mazāk kā piecu minūšu laikā un labo pasaules rekordu 2
Līdz 29.jūlijam atjaunini savu Windows bez maksas! 3
Kā uzlabot televizora skaņu? 2
Programma, ar kuras palīdzību fotogrāfijas pārveidot .gif formātā 1
Aproce, kas sastāv no 25 instrumentiem 1
Trīs padomi televizora izvēlei 2
Windows 7 ēra tuvojas noslēgumam, Microsoft koncentrējas uz Windows 10 1
Lietotāji online: 388
Reģistrētie lietotāji online: 0
Viesi online: 388
Pirms kāda laiciņa uzrakstīju nelielu rakstu par "zālīšu pagatavošanu" mājas apstākļos. Interese un atsaucība bija diezgan liela. Atsaucās arī daudzi zālīšu pagatavošanas lietpratēji, tāpēc pamazām tiek domāts arī par Latvijas crackme lapas izveidi. Ja kāds grib iesaistīties, tad sūtam vēstules uz oollee at datuve.lv.
Vecais_Dumais_Laacis ir iesūtījis savu versiju par keygen izveidi programmai LatHack Audio Tag Editor. Lasam un priecājamies. Ar šīm zināšanām jau vajadzētu pietikt, lai tiktu galā ar vienkāršām aizsardzībām.
Tātad. Kā izveidot keygen'u LatHack Audio Tag Editor'am?
No iepriekšējā raksta par tuvu tēmu 'Taisam zālītes paši' mēs jau zinām dažas lietas:
* Kā izsaukt reģistrācijas logu
* Lietotāja vārdam ir jābūt vismaz 5iem simboliem.
* Funkcijas, kura pārbauda koda pareizību, adresi - 0040C76C
Lietas, kuras būs nepieciešamas:
* Pati programma ;)
* OllyDbg 1.10
* Noderētu arī kāds C kompilētājs/IDE (MS Visual Studio / DevC++)
* Nedaudz laika un pacietības
* Kaut nelielas zināšanas par C/ASM
Nu aš sāksim nu ;)
1) Palaižam programmu un tiekam līdz reģistrācijas pieprasījumam
2) Palaižam OllyDbg un 'attačojamies' procesam (File - Attach)
3) Ieliekam 'breikpointu' lai programmas izpilde apstaatos uz paarbaudes. Plugins-Command Line-Command Line
Liekam 'breikpointu' - ierakstām 'bp 0040C76C'
Braši nospiežam Enter taustiņu un Breakpoints logā vajadzētu parādīties jaunam ierakstam
4) Turpinām programas izpildi, kura tika apstādināta brīdī, kad tika veikts 'attach to process', ar Debug-Run.
Ierakstām lietotāja vārdu (pietiekoši garu) un kautkādu kodu.
Nospiežam register un caps ollydbg apstaadina programmu tieshi uz paarbaudes funkcijas saakumu
5) Te nu naaksies mazlietiņ padomāt ;)
Tas, kas uzreiz krīt acīs, ir:
* sprintf ar "ID3TEDT-%X"
* strcmp
Ar strcmp viss daudz maz skaidrs salīdzinam stringus un pasakām sakrīt vai nē.
Ar sprintf ir mazlietiņ tā, ka jāpadomā ;)
No dotajiem datiem varam spriest, ka kods ir jaaievada dotajaa formaa ("ID3TEDT-%X", kur %X apzīmē heksdecimālo skaitli ar lielajiem burtiem)
Vēl var nojaust, ka šis skaitlis tiek ģenerēts šajā vietā:
Tātad lecam bedrē, lecam bedrē.. tfu. Liekam breikpointu uz 0040C74D.
Laižaim programmu tālāk - Debug-Run
6) Apstājamies pie tikko ieliktā breikpointa.
Redzam savu ievadīto lietotāja vārdu un strlen funkciju.
Šeit var arī redzēt, ka tiek izsaukt vēl viena funkcija (0040C6D9), kurai tiek kā parametri padoti:
* lietotāja vārda garums (PUSH EAX, kas ir strlen rezultāts)
* pats lietotāja vārds (PUSH DWORD PTR SS:[ESP+8] )
* 0?
Šīs funkcijas (0040C6D9) atgrieztais rezultāts tiek 'xorēts' (XOR EAX, DEADBEEF)
Ejam tālāk liekam breikpointu uz 0040C6D9 un turpinām izpildi.
7) Atkal apstājamies
Sadalīsim visu 2ās daļās
No 0040C6D9 līdz 0040C713 (neieskaitot)
No 0040C713 līdz 0040C74C
Pirmajā daļā tiek aizpildīts masīvs ar ģenerētiem skaitļiem (to gan es sapratu tikai rakstot rakstu ;)
Otrajā daļā tiek ņemti burti no lietotāja vārda un izmantojot iepriekš ģenerēto masīvu tiek ģenerēts maģiskais skaitlis, kuru beigās izmanto koda ģenerācijā.
Ņemot vērā to, ka es vēljoprojām neesmu iedziļinājies masīva ģenerēšanas algoritmā, pirmo daļu attiecīgi nevarēšu aprakstīt.
Par otro daļu:
0040C713 |> 8B4C24 14 MOV ECX,DWORD PTR SS:[ESP+14]
Ievietojam ECX reģistrā lietotāja vārda garumu (padots kā parametrs)
0040C717 |. 8B4424 0C MOV EAX,DWORD PTR SS:[ESP+C]
Ievietojam EAX reģistrā trešo parametru 0
0040C71B |. 8BD1 MOV EDX,ECX
Kopējam ECX reģistra saturu (lietotāja vārda garums) uz EDX reģistru
0040C71D |. 49 DEC ECX
Samazinām par vienu ECX reģistra vērtību
0040C71E |. 85D2 TEST EDX,EDX
Salīdzinām EDX ar EDX
0040C720 |. F7D0 NOT EAX
Invertējam EAX reģistru (iegūstam 0xFFFFFFFF, jo rindā 0040C717 ieguvām 0)
0040C722 |. 76 24 JBE SHORT id3tedt.0040C748
Lecam projām, ja lietotāja vārda garums ir 0?
0040C724 |. 8D51 01 LEA EDX,DWORD PTR DS:[ECX+1]
Ielādējam EDX reģistrā 9???
0040C727 |. 8B4C24 10 MOV ECX,DWORD PTR SS:[ESP+10]
EAX reģistrā ieliekam lietotāja vārda adresi atmiņā
Šeit ir redzams cikls
0040C72B |> 0FB639 /MOVZX EDI,BYTE PTR DS:[ECX]
Ievietojam EDI reģistrā ECX reģistrā esošo vērtību (sākumā šī vērtība ir 4C, kas atbilst 'L', jeb pirmajam burtam dotajā gadījumā)
0040C72E |. 8BF0 |MOV ESI,EAX
Kopējam uz ESI reģistru EAX reģistra vērtību (pirmajā reizē 0xFFFFFFFF)
0040C730 |. 81E6 FF000000 |AND ESI,0FF
Izveicam bināro operāciju AND ar ESI reģistru un 0xFF (rezultātu saglabājas ESI reģistrā)
0040C736 |. 33F7 |XOR ESI,EDI
Izveicam bināro operāciju XOR ar ESI un EDI reģistriem (rezultātu saglabājas ESI reģistrā)
0040C738 |. C1E8 08 |SHR EAX,8
Izveicam bināro operāciju SHR - faktiski izdalām EAX ar 256
0040C73B |. 8B34B5 C0D9420>|MOV ESI,DWORD PTR DS:[ESI*4+42D9C0]
Izmantojot maģisko iepriekš ģenerēto tabulu kopējam vērtību no tabulas uz ESI reģistru. (ESI=Table[ESI])
0040C742 |. 33C6 |XOR EAX,ESI
Izveicam bināro operāciju XOR ar EAX un ESI reģistriem (rezultātu saglabājas EAX reģistrā)
0040C744 |. 41 |INC ECX
Palielinam ECX reģistru (tur glabājas pointeris uz lietotāja vārdu. Pēc šīs operācijas ECX norāda uz nākošo burtu)
0040C745 |. 4A |DEC EDX
Samazinām EDX reģistru - EDX bija vārda garums, kurš tiek samazināts līdz visi burti ir izmantoti)
0040C746 |.^75 E3 \JNZ SHORT id3tedt.0040C72B
Ja visi burti navizmantoti (EDX!=0), tad atkārtojam ciklu
0040C748 |> 5F POP EDI
0040C749 |. 5E POP ESI
Atjaunojam no steka iepriekšējās EDI un ESI vērtības
0040C74A |. F7D0 NOT EAX
Invertējam EAX reģistru
0040C74C \. C3 RETN
Atgriežamies pie izsaucēja funkcijas
Uff. Pārvēršot šo visu c kodā sanāk apmēram šādi.
DWORD GetSerial2(int len, char *Username){
DWORD esi;
DWORD eax=-1;//0040C720
for(int s=0;schar edi=Username[s];//0040C72B
esi=eax;//0040C72E
esi=esi & 255;//0040C730
esi=esi ^ edi;//0040C736
eax=eax >> 8;//0040C738
esi=table[esi];//0040C73B
eax=eax ^ esi;//0040C742
}
eax=-eax-1;//0040C74A
return eax;
}
Par tabulu mazliet vēlāk.
void GetSerial(char *Username, char *code){
int l=strlen(Username);
DWORD l2=GetSerial2(l, Username);//oriģināli šī funkcija tiek izsaukt
ar 0?, bet ja jau mēs to zinām tad ievietojam to jau pašā funkcijā
l2=l2 ^ 0xDEADBEEF;//0040C766
//atceroties 4o daļu un sprintf'u
sprintf(code, "ID3TEDT-%X", l2);
}
vot shitais toch ir viens kaartiigi labs lasaamgabals. sapratu, ka vietaam ar manaam asm zinaashanaam ir par iisu. bet nu, manuaalis kjepaa un uz priekshu. par to OllyDbg iistenibaa nebiju nemaz dzirdeejis. nu lab, nebiju arii neko iedomaajies liidz shim lauzt un mekleejis vajadziigo programnodroshinaajumu. toties tagad buus azarts kaut ko paurkjeet.
mans mazais bra4ka ar sāk domāt, ka jāmācās šitās gudrības !!! -> varēšot taisīt keygenus un pa4us :) lai jau sanāk, 15 gadi 4omam :)
Iesaku datuves dzineeja autoriem pielabot bugus, a to shamie ir izdzeesushi vien koda fragmentinju tekstaa. Lasot rakstu es pamaniiju, ka kaut kas nav labi, taadeelj novilku sources. Dzineejs bija sapratis < ziimi tekstaa kaa HTML tega saakumu un taadeelj bija to izdzeesi. Kaadu laiku neesmu njeemies ar PHP, taadeelj nepateikshu preciizu funkciju, kas tos paarveerta par <
Runaajot par rakstu, tad tas ir iespaidiigs un sho to veertiigu pamaniiju tajaa. Bet joprojaam interesee, kaa dekompreseet un dekripteet pasargaatas executable's. Kaa jau mums tas labi zinaams, ka taadus softus ir visgruutaak sazaaljot.
mjaa. respect autoram. taalaak varetu kautkas buut par ASM'u. jo C ir daudz elementaaraaks.
Nja. Shis raxts jau ir stimuls man kaa programmeetaaju nideejam pieshauties pie C. :P
Tikai gribeetos zinaat kaa nevisai apteests whatever zinaas kur jaaliek tie breikpointi??? taadu tutoriaalu ir pilns kur raxtiits, taa tagad ieliekam breikpointu te, tagad te, tagad te un daram taa, a pastaatsi luudzu kaa tu zini kur jaaliek breikpoints.
a es varu padaliities ar video tutoriaaliem par to kaa jakrako softs :) varbuut :P
a piemeeram shaadaa veidaa var dabuut arii masu MultuPlayer speeleem veel nelietotus CD-KEY'us? manam UT-2004 neleg. CD-KEY, taapeec neiet internetaa...?
Hmm, tur ir tikai daži crackme...
labāk iečeko www.crackmes.de
Vēl baigi laba lapa bija www.reverser-course.de tip reverseru akadēmija, kur jau gadu notiek pārmaiņas, nu jācer ka kaut kad būs atpakaļ.
kautkaadi 20 kopa ir, es sararoju pa pakaam, un prieks newbies pietiks lai iemaaciitos crackot, taisiit patchus, loadersu un keygenus, kaa arii atpakot aizsargatus failus, tur ir no visa kautkas
Vot sitadu man vajadzetu prieks js latvija 3 es tur atradu kur tas kods tiek parbaudits bet talak gan neko nesaprotu!
sitadu man vajadzetu prieks js latvija 3
Latvija 3 ir jāpatčo nevis keygens jāraksta!
Ar keygenu nevar noņemt watermarkus uz kartēm, objektu skaita ierobežojumu un vēlmi stučīt uz mājām!
un kur sadu patch var dabut?
Ir 2 varianti:
a) izpakot no Aspack, dizasemblēt ar IDA Pro, sameklēt maģiskos JNZ, pielabot resources, ar SoftIce pārbaudīt, vai viss notiek (var arī ar OllyDebug), sapakot atpakaļ, lai lamerz nerakājas, 2-3 nedēļas patestēt, lai neizlien kindersurprise.
b) palūgt kādam, kas to visu jau ir izdarījis, aizsūtīt risinājumu uz Joe@*.*
ta būs beidzot tractor dj studio pēdējais jāsazāļo, citādi visas tās zālītes ko esmu atradis parasti nederīgas !!
par ko te vispaar ir runa?? kas tas taads vispaar ir un ko ar vinju iisti var dariit??????!!
Vai kāds labs cilvēks nav mēģinājis uzrakstīt kaygen priekš Video Karaoke Studio - labā proga video karaoke disku taisīšanai.
eee plzz uztaisat kaad keygen spysweperam tas nu to4 buutu druumi labi ;) un peec tam iemetiet linku plzz ja kaadam izdodas ka vinjsh apdeito definiicijas. pLLzzzz
nu nekaa no taa nezin, labak zutaisiet jaunajai 3dmar06 versijai serialu vai world of warcraft;) vissmaz tad gan daudzi buus pateicigi...
tas ka wow ir mmo es zinu!! bladaac! uztaisiet keygenu vinjam! ja speesiet ko tadu izveidot Visu latvijas siikie wow'as spelmanji no amzajiem serviem9piratiskajiem suudiem) noteikti parvaksies uz officialajiem... + drosh celjsh ka varees arii nakosho addona maxaashanu apiet;) nu man jau piem zb jau maxaat par vinju ikmeenesi... bet spelet gribas...
kaa M&B var atskirt levela hexu no citiem jo man piemeeram atrod kaadus 23 vienaadus.
Labāk pasakiet kā nocrackot Starforce!!!! Tas mēsls mani jau ir izbesījis naturāli!!!!
te bus ilgi ko apguuut , deretu kda pamaciba , par programmesanu (isa apmaciba ) :)
A man tāds jautājums, kā jūs brazilieši un poļi saprotat to ko autors rakstijis latviski?
njaa.. dzekinji aizraavushie.. vaidzeetu tik vel nomainiit vaardu postam :P
A... em... khm... jūs(poliskie un braziliskie, kā arī tie angliski runājošie) lietojat kaut kādu tūlkujošu progu?
kapee teereet laiku? www.freeserials.com, pārējām tur neatrodamajām progām google vai DC......
dooh.. nu neesu es tik stulbs bet pameklee pate jo neticu ka atradiisi kaadu cracku ko nav taisiijis skmskm
Vo, šitais jau ir riktīgi labs gabals! :)