Adım adım cracking(program şifrelerini kırma)

Mfg02

Üye
8 Ara 2010
95
0
cracking kısa olarak program
kırma da denilebilir. Program
kırabilmek için
assembly dilini bilmeniz
lazımdır . dongle adı verilen
donanımlarla korunan
programlar
için ise iyi derecede assembly
dilini bilmeniz lazımdır.
Assembly nedir
Assembly bir programlama
dilidir. Bu dil ilk
bilgisayarcıların keşfettiği bir
dildir.
İlk programcılar makine dili
komutları ile programları
yazmaktaydılar. Makina dili
işlemciye
veri bitlerinin hexdecimal
sayı sisteminde
gösterilmesiyle oluşmuş bir
dildir.
yani ilk programlar 0 ve 1
sayılarıyla yazılıyordu . ve bu
sayılarla assembly dili
geliştirildi
assembly dili ile işlemlerin
ingilizce karşılıklarının
kısaltmalarından oluşuyordu.
Program Nasıl Kırılır
Eğer amacınız programları
ücretsiz veya sınrısız
kullanmak ise bu zorlu işe
girmenize hiç gerek yok
https://tik.lat/IfAnI
da programın crackini
bulabilrisiniz.
Fakat cracker olmak
istiyorsanız başlayabilirsiniz.
Program kırabilmek için
programcılıktan da
anlamanız gerekiyor.
Programları en basitinden
debug programlarıyla kırılır
bu programlarla kırmak
istediğiniz programın o anda
yaptığı ilşlemleri
takip edersiniz dolayısıyla
şifre yanlış hatası verdiği anı
takip
ettiğinizde şifre ye ulaşabilir
veya şifrenin algortimasını
çözebilirsiniz
Program Kırmak için
gerekenler
1- Sabır
2- Assembly dilini bilmek
3- Windows u iyi derecede
bilmek
3- Gerekli programlara sahip
olmak
Gerekli Programlar
En önemlisi debug programı
olan softice, disassembler
programı Windasm, Hex
editör programı Hiew
(Hackers View)
bunlardan başka işinizi
kolaylıştıracak ekstra
programlar da var. Örneğin
Visual Basic programları için
SmartCheck Delphi
programları için Dede vb.
Programların linklerini
vermiyorum siz google de
bulabilirsiniz
eğer bulamayacak kadar
bilgisayarda bilgisizseniz bu
iştende vazgeçmelisiniz.
SoftIce Kullanma klavuzu
alıntıdır (MEB.NET -BELİRTMEM
GERKLİYDİ)
SofICE Kurulumu
SoftICE ı iyi bir şekilde kurup
ayarlamazsanız gerekli verimi
alamazsınız.Kurulum
ekranında önemli olan 3
nokta var
Video Adapter
Mouse
Video
Ekran kartı ayarları SoftICE&#
&#’ın çalışması için çok
gereklidir.Bu ayarları yanlış
yaparsanız SoftICE ı
kullanmanız mümkün
olmıyabilir.Bu ayarlara çok
dikat edin.İlk olarak ekran
kartnız listede varsa onu
seçin.Daha sonra Test tuşu ile
çalışıp çalışmadığınız kontrol
edin.Eğer ekran kartınız
listede yoksa yahut ilerde
problem yaşarsanız ekran
kartı olarak "Universal Video
Driver" seçeneğini seçin.
Mouse
Mouse unuzun tipi neyse ona
uygun mouseu seçin. Yanlış
mouse u seçerseniz SoftICE
sapıtabilir o yüzden dikkatli
olun.
SoftICE&#&#’ın Ayarlanması
SofICE i iyi ayarlıyamazsanız
programdan
faydalanamazsınız.İlk olarak
bir boot menüsü oluşturalım
böylelikle windows her
açıldığında bize SofICE ile
açılıp açılmıycağını
sorsun.Autoexec.bat ve
config.sys dosyalarını
aşağıdaki gibi değiştirin.
Eğer işletim sisteminiz WinME
ise https://tik.lat/S5Ovh
adresinden wmloaderı
indirin ve readme dosyası
okuyun.
Autoexec.bat dosya örneği.
!!!!Sizin autoexec.bat
dosyanızın sonuna bu
satırları ekleyin.Eğer başa
eklerseniz sorun yapar.!!!
Rem -----Buradan itibaren
kopyalayın -------
goto %config%
REM Load SoftICE - SoftICE in
kurulu oldugu yer onemli !!
:SICE
C:\PROGRA~1\NUMEGA
\SOFTIC~1\WINICE.EXE
REM SoftICE olmadan
baslangic
:NORM
Rem ----Buradan kesin------
Config.sys dosya örneği.
!!!!Sizin config.sys dosyanızın
sonuna bu satırları
ekleyin.Eğer başa eklerseniz
sorun yapar.!!!
Rem -----Buradan itibaren
kopyalayın -------
REM Menüyü olustur.
[MENU]
MENUITEM NORM,Windows
98
MENUITEM SICE,SoftICE ile
Windows 98
MENUDEFAULT NORM,5
[NORM]
[SICE]
Rem ----Buradan kesin------
Benim kullandığım winice.dat
dosyasını download edin ve
SoftICE ın kurulu olduğu
klasöre kopyalayın.Winice.dat
&#&#’a yaptığınız her
değişikliğin etkili olabilmesi
için yeniden windowsun
başlatılması lazım .Bu yüzden
programı kurduktan sonra
winice.datı değiştirip öyle
restart atın
SoftICE Komutları
SoftICE kurmamıza rağmen
etkili bir şekilde kullanmayı
öğrenmek o kadar kolay
değildir.Kullana kullana sizde
bir şeyler
öğreneceksiniz.Fakat burada
SoftICE &#&#’ın nasıl
kullanıldığına dair bir kaç
örnek verelim
SoftICE a geçmek için Ctrl ve D
tuşuna aynı anda basın.Bu
bütün programları
durduracak ve sizi SoftICE
ekranına ***ürecetir.
SoftICE a geçince bir kaç
pencere ve değişik bilgiler
göreceksiniz.Alttaki pencere
bizim komutları yazdığımız
input penceresi.Bazı
komutalar şöyle..
x = SoftICE dan çık.
bpx = SoftICE a belli api
kodlarında dur emri
bpm = SoftICE a belli bellek
bölgelerinde dur emri
bpr = Belli hafıza
bölegelerinde dur emri
d = Belleği ve orada yazan
değerleri göster
e = Bellekteki değerleri
değiştirir
cls = Input penceresini
temizle.
s 0 l ffffffff &#&# ’text&#&#’=
Hafızada text yazısını arar
Örnek vermek gerekirse
bpx getdlgitemtexta SoftICE a
bu api kodunu görünce dur
komutunu verir
bpm 0157:0009AC2D SoftICE
a o belleğe erişildiği zaman
dur komutunu verir.
bpr 0157:00643345
0157:00643345 iki yer
arasında bir yere erişildiği
zaman dur komutunu verir
d 00456787 o bölgedeki
bellekteki değerleri gösterir.
d eax eax registerinin
belirttiği yerdeki belleği
gösterir.
Birde input penceresinde
kullandığımız komutalardan
da bahsedelim.
bl = O andaki breakpointleri
gösterir((00) BPX #
0028:09876543 C=01 gibi)
bc = O anda konulmuş break
pointleri temizler (bc 1 bir
nolu breakpointi siler.)
bd = Break pointi kapatir(bd
0 0 nolu breakpointi kapatır)
be = Break pointi açar (be 0,
kapatılan 0 nolu breakpointi
açar)
? = Belli bir register veya
sayının değerini gösterir.( ?
23 # gibi)
SoftICE Problemleri
Bu problemlerin %90 ı
winice.dat dosyasını
düzenlemediğiniz için
olmaktadır.
Uyarı: Problemlerinize
geçmeden önce lütfen
winice.dat dosyasını
download edip SoftICE ı
kurduğunuz klasöre
kopyalayın.
1. SoftICE a geçiyorum
breakpoint koyunca symbol
not defined diyor.
- Breakpoint koyduğunuz dll
winice.dat dosyasında
bulunmuyor
demektir.Kernel32.dll
user32.dll vs yi winice.dat
dosyasında bulun ve o satırın
en başındaki ; i kaldırın.
2. Bazen SoftICE a
kendiliğinden geçiyor ve bir
daha geriye dönemiyorum.
- R tuşuna basın ve daha
sonra faults off yazın.
3. Ctrl+D kombinasyonunu Alt
+Z şeklinde nasıl
değiştirebilirim;
- winice.dat dosyasının INIT
kısmını şu şekilde değiştirin
INIT="code on; altscr off;
lines 60; wc 32; wd 8; faults
off;ALTKEY ALT Z;X;"
4. Ekran boyutunu nasıl
değiştirebilirim.
- wc,wd lines değerlerini
değiştirerek bunu
yapabilirsiniz.
5. SoftICE bir sürü loading
unloading vs mesajları
gösteriyor bunu nasıl
kapatabilirim
- winice.dat ı açın ve
VERBOSE=OFF satırını
ekleyin.Yahut loader32.exe yi
açın .Edit/SoftICE initializing
settings den "Disable
diagnostic messages" ı seçin.
6. Init kısmına eklediğim
komutlar çalışmıyor.
- Init kısmına eklenen
komutlar ; ile birbirinden
ayrılmalı ve en sonunda X;
olmalıdır.X komutu SoftICE
dan çık demek oldupundan
eğer X; den sonra komut
eklerseniz bunlar
çalışmıycaktır .Kısacası init
kısmı şöyle olmalıdır.
INIT="command1;command
2;...;commandn;X;"
7. Bazen SoftICE girdiğim
zaman mouse deli gibi
oynamaya başlıyor.Hiç bir şey
yapamıyorum.Bu olay bazen
SoftICE dan çıktığım zamanda
oluyor.
- Bu olay mouse işlem
yaparken SoftICE a geçildiği
zaman oluyor.Bu yüzden
mouse un senkronizasyonu
bozuluyor.Bunu düzeltemek
için bir kaç kez Ctrl+M tuşuna
basın.Bir kaç kez bastıktan
sonra mouse eski haline
dönecektir. Eğer bu olay
windows ort*****
geçtiğinizde olursa Ctrl+Alt
+Del tuşlarına bir kez tıklayın
Task Manager geldiğinde
hemen Esc ile çıkın.Buda
mouse u eski haline
getirecektir.
8. Bir program HKLM
\Software\DandikSoft\Serial
diye bir keyi okuyor.Ben bpx
regqueryvalueexa şeklinde
breakpoint koyuyorum ama
SoftICE yüzlerce kez
duruyor.Sadece belli keye
ulaşıldığı zaman nasıl
durdurabilirim.
- Bu soruyu biraz açıklı*****
cevap vermek istiyorum
bunu iyi anlarsanız çok
işinize yarar.Şimdi ilk olarak
RegqueryValueexa
fonkisyonu ne işe yarar ve
hangi parametreler yollanır
ona bir bakalım.win32.hlp
dosyasını açıyoruz ve şunu
görüyoruz
LONG RegQueryValueEx(
HKEY hKey, // çağrılacak keyin
handle ı
LPTSTR lpszValueName, //
alınıcak değerinin isminin
olduğu adres
LPDWORD lpdwReserved, //
saklı
LPDWORD lpdwType, // değer
tipinin adresi
LPBYTE lpbData, // fonksiyon
sonucunun adresi
LPDWORD lpcbData //
fonksiyon sonuc adresinin
büyüklüğü
);
Bu fonksiyon stdcall şeklinde
bir fonksiyon yani
parametreler en sondan
başla ***** push ediliyor.Siz
bu breakpointi koyup SoftICE
geçtiğiniz zaman ESP şu
şekilde olacaktır
...
[ESP+18h] - lpcbData
[ESP+14h] - lpData << Buraya
fonksiyonun sonucu geliyor.
[ESP+10h] - lpType
[ESP+0Ch] - lpReserved
[ESP+08h] - lpValueName <<
Alınıcak olan değerin ismi.
[ESP+04h] - hKey
[ESP+00h] - return EIP <<
Call&#&# ’ın yapıldığı adres.
Yani SoftICE durduğu zaman
biz dd esp+14 yazarsak
fonksiyonun sonucunun
nereye yazıldığını
görürüz.Yahut dd esp+8
yazarsak hangi anahtarın
çağrıldığını bulabiliriz.Şimdi
bizim istediğimiz sadece bir
keyden okunduğu zaman
durdurmak.Aşağıdaki
breakpoint işimiz görecektir.
BPX RegQueryValueExA IF *
(ESP-> == &#&# ’Seri&#&#’
DO "D ESP->14;"
Eğer program Seri ile
başlayan bir keyden bir şey
okursa dur.İsterseniz bu
nasıl oluyor bir bakalım
*(ESP-> demek esp+8 in
gösterdiği yerdeki içerik
demek.Bildiğiniz üzere push
edilenler dword olduğu için
yani 4 byte biz sadece 4
haneyi okuyabiliyoruz. Eğer
esp+8 in gösterdiği yerde
Seri yazıyorsa,
Do d esp->14 de esp+14
bölgesi yani sonucun alındığı
bölgeyi göster demek.Bu
şekilde yazmak uzun olabilir
o yüzden macro ile bu işi
halletmek en güzeli.Bu
makroyu winice.dat
dosyasına ekliyebilirsiniz
eğer ekli değilse
MACRO bpreg="bpx
regqueryvalueexa if*(esp-
>==&#&# ’%1&#&#’ do \"d
esp->14\""
%1 demek macroya
gönderilen parametre demek
\ işaretlerini eklememizin
sebebi SoftICE, " işaretlerini
macro bitişi kabul ettiği için
biz \ işareti ile " ları yok
saydırıyoruz.
eğer Serial keyine
ulaşıldığında durmasını
istiyorsanız SoftICE da iken
artık sadece şunu yazmanız
yeterli olucak
bpreg Seri
Dikkat edin sadece ve sadece
ilk dört karakteri
giriyorsunuz.
Bu şekilde macroları
geliştirebilirsiniz.Mesela bunu
getwindowtexta veya
getdlgıtemtexta ya uygulayıp
sadece sizin isminiz
istendiğinde SoftICE a
geçmek vs .Unutmamanız
gerek fonksiyona gönderilen
parametreler ve bunları ESP
de göründüğü durum.Her bir
parametre bir dword da
oluyor.Yani sadece ilk
dworda erişme şansımız var.
Umarım bu ipuçları size
faydalı olur.
Winice.dat dosyasını
adidascrack.sitemynet.com/
winice.zip burdan
indirebilirsiniz ( eğer
indirmede sorun yaşarsanız
https://tik.lat/LokbE a
girip adres satırını
adidascrack.sitemynet.com/
winice.zip yazın.
Hiew Kullanmak Klavuzu
F1 Dosya hakkında bilgiler
verir
F2 Marj ayarlaması yapar/
ayarı kaldırır
F3 Dosyayı A/H/T moduna
dönüştürür
F4 Modu belirler
F5 Verilen adrese gider (A/H
modu için)
F6 Linefeed, satır ayarlaması
yapar.
F7 A/H/T modunda arama
yapar, E modunda crypt eder.
F8 A/H modunda header, T
modunda XLAT, E modunda
XOR
F9 A/H/T modda dosya açar,
E modda dosyayı günceller
F10 A/H/T modunda
programdan çıkar
Alt-P Ekranı bir dosya olarak
saklar.
Alt-R Dosyayı yeniden yükler.
Ctrl-F3 Bul/değiştir
Ctrl-F7 Aynı kritere göre
sonrakini ara
Ctrl-F8 Önceki dosyaya geçer
Ctrl-F9 Sonraki dosyaya geçer
+ Satır işaretler (Bookmark)
Alt-(1.. İşaretlenen satıra
gider
Alt-- Geçerli bookmarkı siler
Assembly Dili Hakkında Bilgi
Korumalı Mesaj:
Assembly Dili Hakkında Biraz
Bilgi
Kullanılan belli başlı assembly
komutlarını basitçe
açıklamaya çalıştım, bunları
bilmeden hareket edemeyiz.
mov komutu;
Bu komut registerlere değer
atamak için kullanılır.
mov eax, 8 ,bu komuttan
sonra eax=8 olacaktır.
mov eax, ebx ,ebx eax&#&#’e
kopyalanır.
cmp komutu;
Karşılaştırma komutudur.
Arkasından da sonuca göre
ya devam edilir, yada başka
bir kısma atlanır. Burayı
atlamak için ise je, jz
komutları kullanılmaktadır.
cmp eax, ecx ,burada sadece
eax, ecx ile
karşılaştırılmaktadır .
Herhangi bir dallanma yok.
jmp komutu;
Şartsız dallanma komutudur.
Program başka bir satıra
yönlendirilir.
jmp 00415265 ,ile program
bu 415265 adresine
yönlendirilir.
je komutu;
Karşılaştırma sonucu eşit ise
belirtilen adrese zıplanır.
Öncesinde ise genelde
yukarıda gösterilen cmp ile
iki değer karşılaştırılmıştır.
cmp eax, ecx
je 00415265 ,eax değeri ile
ecx değeri birbirine eşit ise
415265 adresine zıplanır,
değilse program olduğu
yerden devam edecektir.
jne komutu;
Karşılatırma sonucu eşit değil
ise belirtilen adrese zıplanır.
cmp eax, ecx
jne 00415265 ,eax değeri
ecx değerine eşit değil ise
415265 adresine zıplanır.
call- ret komutları;
call komutunun kullanıldığı
yerde program belirtilen
adrese gider ve burası
procedur diye
adlandırılır .Buradaki komut
dizisi işlenir ve ret
komutunun kullanıldığı yerde
program tekrar döner, call
komut satırının altındaki
adresten devam eder.
call 00415265 , program
00415265 adresine gider, bu
procedur işlenir ve tekrar
döner.
add komutu;
Toplama komutudur.
add eax, 5 ,eax değeri eax+5
olacaktır.
add eax, ebx ,eax yerine ebx
değeride eklenerek eax&#&#
’e yazılır.
inc komutu;
Devamındaki registerin
değerini 1 arttırır.
inc eax ,eax değeri bu komut
sonrası eax+1 olacaktır.
dec komutu;
Devamındaki registerin
değerini 1 azaltır.
dec eax ,eax değeri bu
komut sonrası eax-1
olacaktır.
push-pop komutları;
Bazı değerler tekrar lazım
olacaklar ise bunları stack&#
&#’ a atabiliriz, yani bir süre
saklayabiliriz. Bunun için
push komutunu kullanırız,
tekrar çağırmak için ise pop
komutunu kullanırız.
push eax ,eax yığına atılır,
pop eax , eax tekrar çağırılır.
Breakpointler
bpx getdlgitemtexta : Sizin
girdiğiniz değerler kontrol
edilecekse kullanılabilir,
bpx getwindowtexta :
Yukarıdaki breakpointin
alternatifi,
bpx hmemcpy : Visual basic
ile yazılmış programlarda
yukarıdakiler işe yaramaz,
böyle zamanlarda kullanılır,
bpx messageboxa :
Programların verdiği bazı
hata mesajlarını yada nag
ekranlarını bununla
yakalayabiliriz,
bpx getsystemtime : Zaman
kontrolü yapıldığı
durumlarda kullanılır,
bpx getlocaltime : Zaman
kontrolü için diğer alternatif,
bpx createfilea : Dosya
kontrolü yapıldığında crc
sınamalarında kullanılabilir,
Softice kontrolu içinde
kullanılmaktadır .
bpx readfilea : Dosya
kontrolü için diğer alternatif.
bpx regqueryvalueexa :
Register kontrolü için
kullanılmaktadır .
İlk Programın kırılması
İlk Program Kırma
Şimdi Yeni Başlayanlar için
basit bir crack ı anlatalım.
programı
adidascrack.sitemynet.com/1.
zip den indirin
Artık crackme&#&#’yi
kırmaya başlayabiliriz.
Programı açtık, sallama seriali
girdik,
Ctrl-D yaptık ve SoftIce açıldı.
Şimidi breakpoint koyalım
(GetDlgItemTextA) ve
softice&#&# ’dan
çıkalım(X yazıp
enterlayabilirsiniz.).Ve
PassMe&#&# ’de Chack
diyelim. Hooop SoftIce geldi.
winice.dat dosyasını softice
yi kurduğunuz klasöre
kopyalamazsanız softice
brakpointeri koyarken hata
alırsınız .
Bir kere F11&#&#’e basın ve
calldan çıkıp aşağıya gelin:
017F:00401056
FF15701D4000 CALL
[USER32!GetDlgItemTextA]
017F:0040105C 3C08 CMP
AL,08 <------- 8 karakterlik bir
serial girip girmediğinizi
kontrol eder.
017F:0040105E 7590 JNZ
00400FF0
017F:00401060 BFC2114000
MOV EDI,004011C2 <-- yazıyı
EDI&#&#’ye taşır
017F:00401065 33C9 XOR
ECX,ECX
017F:00401067 33D2 XOR
EDX,EDX
017F:00401069 33F6 XOR
ESI,ESI
017F:0040106B 8A0F MOV
CL,[EDI] <------ ilk karakteri
CL&#&# ’nin içine taşır
017F:0040106D 8A5701
MOV DL,[EDI+01] <--- ikinci
karakteri &#&# ’nin içine
taşırn DL
017F:00401070 80FA00 CMP
DL,00 <--------- yazının ulaşıp
ulaşmadığını kontrol eder
017F:00401073 7409 JZ
0040107E <------ evetse,
jump(atla)
017F:00401075 01D1 ADD
ECX,EDX
017F:00401077 01CE ADD
ESI,ECX
017F:00401079 83C702 ADD
EDI,02
017F:0040107C EBED JMP
0040106B
017F:0040107E 01CE ADD
ESI,ECX
Şimdi 00401056 daki olayı
anlamış olmanız lazım. Çünkü
burada yazdığımız serialin 8
karakter
olup olmadığını kontro
edecek. Program ilk 4haneyi
son 4 haneye ekliyor.
Tabiki bu HEX&#&# ’de
oluyor. Hex&#&#’de 1 = 31, 2
= 32, 3=33 gibi. Şimdi kodları
F10 ile
trace edip şağıya gelince
daha iyi anlayacaksınız.
EAX=34333231
EBX=0063FC34
ECX=38373635
EDX=00000000
ESI=455B455B
EDI=00401300
EBP=0063FBE0
ESP=0063FBE0
EIP=0040109E o d I s Z a P c
CS=0167 DS=016F SS=016F
ES=016F FS=12E7 GS=0000
ÄÄÄÄÄPASSME!
+12F4ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
byteÄÄÄÄÄÄÄÄÄÄÄÄÄÄPROTÄ
ÄÄ(0)ÄÄ
016F:004012F4 00 00 00 00
00 00 00 00-00 00 00 00 31
32 33 34 ............1234
016F:00401304 35 36 37 38
00 00 00 00-00 00 00 00 00
00 00 00 5678............
016F:00401314 00 00 00 00
00 00 00 00-00 00 00 00 00
00 00 00 ................
016F:00401324 00 00 00 00
00 00 00 00-00 00 00 00 00
00 00 00 ................
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄÄÄÄÄÄ
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
ÄPROT32Ä
0167:00401092
BF00134000 MOV
EDI,00401300
0167:00401097 33C0 XOR
EAX,EAX
0167:00401099 8B07 MOV
EAX,[EDI]
0167:0040109B 8B4F04
MOV ECX,[EDI+04]
0167:0040109B 8B4F04
MOV ECX,[EDI+04]
0167:0040109E 01C8 ADD
EAX,ECX -->EAX ECX&#&# ’e
Eklenmiş
0167:004010A0 3BC6 CMP
EAX,ESI
0167:004010A2 7402 JZ
004010A6 ;Good cracker
0167:004010A4 EB2E JMP
004010D4 ;Bad cracker
ECX registeri
"5678" (35363738) değerini
tutuyor. Satır
0167:0040109E &#&#’da
EAX ECX &#&#’e
eklenmiş. Ve sonra ESI
(455B455B) değerinde
bunlar karşılaştırılır.
Eğer eşitseler: satır
004010A6 &#&#’a atlar Bu
iyi birşey çünkü Crackme&#
&#’yi kırdın.
Ama eğer eşit değilse
yeniden dene..
Yazar bu programında
değişik bir algoritma
kullanmış ve ilk dört karakter
ile
son dört karakteri yer
değiştirmiş , bu nedenle bie
den fazla serialimiz oluyor.
Şunları deneyin:
pass1:-!-!.$.$
pass2:-$-$.!.!
pass3:-$-!.!.$
pass4:-#-#."."
pass5:."."-#-#
pass6:-#."."-#
 

baho26340

Katılımcı Üye
1 Ara 2011
533
0
26
AYRILDI
anladığım kadarıyla bu yaptığımız işlemlerde programın orjinal .exesini takip edip içinden serial kısmını bulup oradaki serialleri alıyoruz yada programı izleyip serial vb kısıtlama kısmını atlayıp aynı şekilde yazıyoruz doğru mu hocam ?
 

Vetta*

Uzman üye
27 Ocak 2012
1,234
0
Aydın
okurdum ama şunu sola bitişik yapmıssın ya olmamış yani okuyamadım. bi süre sonra gözüm yoruldu
 

tufaci

Yeni üye
17 Eyl 2012
3
0
Profosyonel yardım arıyorum

Ironcad 2012 64 bit, heryeri aradım bulamadım.30 günlük Trial versiyonu ironcad sitesinde var, bu programı kıracak birisini arıyorum
 

tufaci

Yeni üye
17 Eyl 2012
3
0
Profosyonel yardım arıyorum
Ironcad 2012 64 bit, heryeri aradım bulamadım.30 günlük Trial versiyonu ironcad sitesinde var, bu programı kıracak birisini arıyorum
 

Fliqpy

Üye
2 Ocak 2016
204
0
Program kırabilmek için programcılıktan da anlamanız gerekiyor. Programları en basitinden debug programlarıyla kırılır bu programlarla kırmak istediğiniz programın o anda yaptığı ilşlemleri takip edersiniz dolayısıyla şifre yanlış hatası verdiği anı takip ettiğinizde şifre ye ulaşabilir veya şifrenin algortimasını çözebilirsiniz Program Kırmak için gerekenler 1- Sabır 2- Assembly dilini bilmek 3- Windows u iyi derecede bilmek 3- Gerekli programlara sahip olmak Gerekli Programlar En önemlisi debug programı olan softice, disassembler programı Windasm, Hex editör programı Hiew (Hackers View) bunlardan başka işinizi kolaylıştıracak ekstra programlar da var. Örneğin Visual Basic programları için SmartCheck Delphi programları için Dede vb. Programların linklerini vermiyorum siz google de bulabilirsiniz eğer bulamayacak kadar bilgisayarda bilgisizseniz bu iştende vazgeçmelisiniz. SoftIce Kullanma klavuzu alıntıdır (MEB.NET -BELİRTMEM GERKLİYDİ) SofICE Kurulumu SoftICE ı iyi bir şekilde kurup ayarlamazsanız gerekli verimi alamazsınız.Kurulum ekranında önemli olan 3 nokta var Video Adapter Mouse Video Ekran kartı ayarları SoftICE&# &#’ın çalışması için çok gereklidir.Bu ayarları yanlış yaparsanız SoftICE ı kullanmanız mümkün olmıyabilir.Bu ayarlara çok dikat edin.İlk olarak ekran kartnız listede varsa onu seçin.Daha sonra Test tuşu ile çalışıp çalışmadığınız kontrol edin.Eğer ekran kartınız listede yoksa yahut ilerde problem yaşarsanız ekran kartı olarak "Universal Video Driver" seçeneğini seçin. Mouse Mouse unuzun tipi neyse ona uygun mouseu seçin. Yanlış mouse u seçerseniz SoftICE sapıtabilir o yüzden dikkatli olun. SoftICE&#&#’ın Ayarlanması SofICE i iyi ayarlıyamazsanız programdan faydalanamazsınız.İlk olarak bir boot menüsü oluşturalım böylelikle windows her açıldığında bize SofICE ile açılıp açılmıycağını sorsun.Autoexec.bat ve config.sys dosyalarını aşağıdaki gibi değiştirin. Eğer işletim sisteminiz WinME ise http://icedump.cjb.net/ adresinden wmloaderı indirin ve readme dosyası okuyun. Autoexec.bat dosya örneği. !!!!Sizin autoexec.bat dosyanızın sonuna bu satırları ekleyin.Eğer başa eklerseniz sorun yapar.!!! Rem -----Buradan itibaren kopyalayın ------- goto %config% REM Load SoftICE - SoftICE in kurulu oldugu yer onemli !! :SICE C:\PROGRA~1\NUMEGA \SOFTIC~1\WINICE.EXE REM SoftICE olmadan baslangic :NORM Rem ----Buradan kesin------ Config.sys dosya örneği. !!!!Sizin config.sys dosyanızın sonuna bu satırları ekleyin.Eğer başa eklerseniz sorun yapar.!!! Rem -----Buradan itibaren kopyalayın ------- REM Menüyü olustur. [MENU] MENUITEM NORM,Windows 98 MENUITEM SICE,SoftICE ile Windows 98 MENUDEFAULT NORM,5 [NORM] [SICE] Rem ----Buradan kesin------ Benim kullandığım winice.dat dosyasını download edin ve SoftICE ın kurulu olduğu klasöre kopyalayın.Winice.dat &#&#’a yaptığınız her değişikliğin etkili olabilmesi için yeniden windowsun başlatılması lazım .Bu yüzden programı kurduktan sonra winice.datı değiştirip öyle restart atın SoftICE Komutları SoftICE kurmamıza rağmen etkili bir şekilde kullanmayı öğrenmek o kadar kolay değildir.Kullana kullana sizde bir şeyler öğreneceksiniz.Fakat burada SoftICE &#&#’ın nasıl kullanıldığına dair bir kaç örnek verelim SoftICE a geçmek için Ctrl ve D tuşuna aynı anda basın.Bu bütün programları durduracak ve sizi SoftICE ekranına ***ürecetir. SoftICE a geçince bir kaç pencere ve değişik bilgiler göreceksiniz.Alttaki pencere bizim komutları yazdığımız input penceresi.Bazı komutalar şöyle.. x = SoftICE dan çık. bpx = SoftICE a belli api kodlarında dur emri bpm = SoftICE a belli bellek bölgelerinde dur emri bpr = Belli hafıza bölegelerinde dur emri d = Belleği ve orada yazan değerleri göster e = Bellekteki değerleri değiştirir cls = Input penceresini temizle. s 0 l ffffffff &#&# ’text&#&#’= Hafızada text yazısını arar Örnek vermek gerekirse bpx getdlgitemtexta SoftICE a bu api kodunu görünce dur komutunu verir bpm 0157:0009AC2D SoftICE a o belleğe erişildiği zaman dur komutunu verir. bpr 0157:00643345 0157:00643345 iki yer arasında bir yere erişildiği zaman dur komutunu verir d 00456787 o bölgedeki bellekteki değerleri gösterir. d eax eax registerinin belirttiği yerdeki belleği gösterir. Birde input penceresinde kullandığımız komutalardan da bahsedelim. bl = O andaki breakpointleri gösterir((00) BPX # 0028:09876543 C=01 gibi) bc = O anda konulmuş break pointleri temizler (bc 1 bir nolu breakpointi siler.) bd = Break pointi kapatir(bd 0 0 nolu breakpointi kapatır) be = Break pointi açar (be 0, kapatılan 0 nolu breakpointi açar) ? = Belli bir register veya sayının değerini gösterir.( ? 23 # gibi) SoftICE Problemleri Bu problemlerin %90 ı winice.dat dosyasını düzenlemediğiniz için olmaktadır. Uyarı: Problemlerinize geçmeden önce lütfen winice.dat dosyasını download edip SoftICE ı kurduğunuz klasöre kopyalayın. 1. SoftICE a geçiyorum breakpoint koyunca symbol not defined diyor. - Breakpoint koyduğunuz dll winice.dat dosyasında bulunmuyor demektir.Kernel32.dll user32.dll vs yi winice.dat dosyasında bulun ve o satırın en başındaki ; i kaldırın. 2. Bazen SoftICE a kendiliğinden geçiyor ve bir daha geriye dönemiyorum. - R tuşuna basın ve daha sonra faults off yazın. 3. Ctrl+D kombinasyonunu Alt +Z şeklinde nasıl değiştirebilirim; - winice.dat dosyasının INIT kısmını şu şekilde değiştirin INIT="code on; altscr off; lines 60; wc 32; wd 8; faults off;ALTKEY ALT Z;X;" 4. Ekran boyutunu nasıl değiştirebilirim. - wc,wd lines değerlerini değiştirerek bunu yapabilirsiniz. 5. SoftICE bir sürü loading unloading vs mesajları gösteriyor bunu nasıl kapatabilirim - winice.dat ı açın ve VERBOSE=OFF satırını ekleyin.Yahut loader32.exe yi açın .Edit/SoftICE initializing settings den "Disable diagnostic messages" ı seçin. 6. Init kısmına eklediğim komutlar çalışmıyor. - Init kısmına eklenen komutlar ; ile birbirinden ayrılmalı ve en sonunda X; olmalıdır.X komutu SoftICE dan çık demek oldupundan eğer X; den sonra komut eklerseniz bunlar çalışmıycaktır .Kısacası init kısmı şöyle olmalıdır. INIT="command1;command 2;...;commandn;X;" 7. Bazen SoftICE girdiğim zaman mouse deli gibi oynamaya başlıyor.Hiç bir şey yapamıyorum.Bu olay bazen SoftICE dan çıktığım zamanda oluyor. - Bu olay mouse işlem yaparken SoftICE a geçildiği zaman oluyor.Bu yüzden mouse un senkronizasyonu bozuluyor.Bunu düzeltemek için bir kaç kez Ctrl+M tuşuna basın.Bir kaç kez bastıktan sonra mouse eski haline dönecektir. Eğer bu olay windows ort***** geçtiğinizde olursa Ctrl+Alt +Del tuşlarına bir kez tıklayın Task Manager geldiğinde hemen Esc ile çıkın.Buda mouse u eski haline getirecektir. 8. Bir program HKLM \Software\DandikSoft\Serial diye bir keyi okuyor.Ben bpx regqueryvalueexa şeklinde breakpoint koyuyorum ama SoftICE yüzlerce kez duruyor.Sadece belli keye ulaşıldığı zaman nasıl durdurabilirim. - Bu soruyu biraz açıklı***** cevap vermek istiyorum bunu iyi anlarsanız çok işinize yarar.Şimdi ilk olarak RegqueryValueexa fonkisyonu ne işe yarar ve hangi parametreler yollanır ona bir bakalım.win32.hlp dosyasını açıyoruz ve şunu görüyoruz LONG RegQueryValueEx( HKEY hKey, // çağrılacak keyin handle ı LPTSTR lpszValueName, // alınıcak değerinin isminin olduğu adres LPDWORD lpdwReserved, // saklı LPDWORD lpdwType, // değer tipinin adresi LPBYTE lpbData, // fonksiyon sonucunun adresi LPDWORD lpcbData // fonksiyon sonuc adresinin büyüklüğü ); Bu fonksiyon stdcall şeklinde bir fonksiyon yani parametreler en sondan başla ***** push ediliyor.Siz bu breakpointi koyup SoftICE geçtiğiniz zaman ESP şu şekilde olacaktır ... [ESP+18h] - lpcbData [ESP+14h] - lpData << Buraya fonksiyonun sonucu geliyor. [ESP+10h] - lpType [ESP+0Ch] - lpReserved [ESP+08h] - lpValueName << Alınıcak olan değerin ismi. [ESP+04h] - hKey [ESP+00h] - return EIP << Call&#&# ’ın yapıldığı adres. Yani SoftICE durduğu zaman biz dd esp+14 yazarsak fonksiyonun sonucunun nereye yazıldığını görürüz.Yahut dd esp+8 yazarsak hangi anahtarın çağrıldığını bulabiliriz.Şimdi bizim istediğimiz sadece bir keyden okunduğu zaman durdurmak.Aşağıdaki breakpoint işimiz görecektir. BPX RegQueryValueExA IF * (ESP-> == &#&# ’Seri&#&#’ DO "D ESP->14;" Eğer program Seri ile başlayan bir keyden bir şey okursa dur.İsterseniz bu nasıl oluyor bir bakalım *(ESP-> demek esp+8 in gösterdiği yerdeki içerik demek.Bildiğiniz üzere push edilenler dword olduğu için yani 4 byte biz sadece 4 haneyi okuyabiliyoruz. Eğer esp+8 in gösterdiği yerde Seri yazıyorsa, Do d esp->14 de esp+14 bölgesi yani sonucun alındığı bölgeyi göster demek.Bu şekilde yazmak uzun olabilir o yüzden macro ile bu işi halletmek en güzeli.Bu makroyu winice.dat dosyasına ekliyebilirsiniz eğer ekli değilse MACRO bpreg="bpx regqueryvalueexa if*(esp- >==&#&# ’%1&#&#’ do "d esp->14"" %1 demek macroya gönderilen parametre demek \ işaretlerini eklememizin sebebi SoftICE, " işaretlerini macro bitişi kabul ettiği için biz \ işareti ile " ları yok saydırıyoruz. eğer Serial keyine ulaşıldığında durmasını istiyorsanız SoftICE da iken artık sadece şunu yazmanız yeterli olucak bpreg Seri Dikkat edin sadece ve sadece ilk dört karakteri giriyorsunuz. Bu şekilde macroları geliştirebilirsiniz.Mesela bunu getwindowtexta veya getdlgıtemtexta ya uygulayıp sadece sizin isminiz istendiğinde SoftICE a geçmek vs .Unutmamanız gerek fonksiyona gönderilen parametreler ve bunları ESP de göründüğü durum.Her bir parametre bir dword da oluyor.Yani sadece ilk dworda erişme şansımız var. Umarım bu ipuçları size faydalı olur. Winice.dat dosyasını adidascrack.sitemynet.com/ winice.zip burdan indirebilirsiniz ( eğer indirmede sorun yaşarsanız Mynet | Haber, Oyun, Video, Spor, Burçlar ve fazlası sizin için burada a girip adres satırını adidascrack.sitemynet.com/ winice.zip yazın. Hiew Kullanmak Klavuzu F1 Dosya hakkında bilgiler verir F2 Marj ayarlaması yapar/ ayarı kaldırır F3 Dosyayı A/H/T moduna dönüştürür F4 Modu belirler F5 Verilen adrese gider (A/H modu için) F6 Linefeed, satır ayarlaması yapar. F7 A/H/T modunda arama yapar, E modunda crypt eder. F8 A/H modunda header, T modunda XLAT, E modunda XOR F9 A/H/T modda dosya açar, E modda dosyayı günceller F10 A/H/T modunda programdan çıkar Alt-P Ekranı bir dosya olarak saklar. Alt-R Dosyayı yeniden yükler. Ctrl-F3 Bul/değiştir Ctrl-F7 Aynı kritere göre sonrakini ara Ctrl-F8 Önceki dosyaya geçer Ctrl-F9 Sonraki dosyaya geçer + Satır işaretler (Bookmark) Alt-(1.. İşaretlenen satıra gider Alt-- Geçerli bookmarkı siler Assembly Dili Hakkında Bilgi Korumalı Mesaj: Assembly Dili Hakkında Biraz Bilgi Kullanılan belli başlı assembly komutlarını basitçe açıklamaya çalıştım, bunları bilmeden hareket edemeyiz. mov komutu; Bu komut registerlere değer atamak için kullanılır. mov eax, 8 ,bu komuttan sonra eax=8 olacaktır. mov eax, ebx ,ebx eax&#&#’e kopyalanır. cmp komutu; Karşılaştırma komutudur. Arkasından da sonuca göre ya devam edilir, yada başka bir kısma atlanır. Burayı atlamak için ise je, jz komutları kullanılmaktadır. cmp eax, ecx ,burada sadece eax, ecx ile karşılaştırılmaktadır . Herhangi bir dallanma yok. jmp komutu; Şartsız dallanma komutudur. Program başka bir satıra yönlendirilir. jmp 00415265 ,ile program bu 415265 adresine yönlendirilir. je komutu; Karşılaştırma sonucu eşit ise belirtilen adrese zıplanır. Öncesinde ise genelde yukarıda gösterilen cmp ile iki değer karşılaştırılmıştır. cmp eax, ecx je 00415265 ,eax değeri ile ecx değeri birbirine eşit ise 415265 adresine zıplanır, değilse program olduğu yerden devam edecektir. jne komutu; Karşılatırma sonucu eşit değil ise belirtilen adrese zıplanır. cmp eax, ecx jne 00415265 ,eax değeri ecx değerine eşit değil ise 415265 adresine zıplanır. call- ret komutları; call komutunun kullanıldığı yerde program belirtilen adrese gider ve burası procedur diye adlandırılır .Buradaki komut dizisi işlenir ve ret komutunun kullanıldığı yerde program tekrar döner, call komut satırının altındaki adresten devam eder. call 00415265 , program 00415265 adresine gider, bu procedur işlenir ve tekrar döner. add komutu; Toplama komutudur. add eax, 5 ,eax değeri eax+5 olacaktır. add eax, ebx ,eax yerine ebx değeride eklenerek eax&#&# ’e yazılır. inc komutu; Devamındaki registerin değerini 1 arttırır. inc eax ,eax değeri bu komut sonrası eax+1 olacaktır. dec komutu; Devamındaki registerin değerini 1 azaltır. dec eax ,eax değeri bu komut sonrası eax-1 olacaktır. push-pop komutları; Bazı değerler tekrar lazım olacaklar ise bunları stack&# &#’ a atabiliriz, yani bir süre saklayabiliriz. Bunun için push komutunu kullanırız, tekrar çağırmak için ise pop komutunu kullanırız. push eax ,eax yığına atılır, pop eax , eax tekrar çağırılır. Breakpointler bpx getdlgitemtexta : Sizin girdiğiniz değerler kontrol edilecekse kullanılabilir, bpx getwindowtexta : Yukarıdaki breakpointin alternatifi, bpx hmemcpy : Visual basic ile yazılmış programlarda yukarıdakiler işe yaramaz, böyle zamanlarda kullanılır, bpx messageboxa : Programların verdiği bazı hata mesajlarını yada nag ekranlarını bununla yakalayabiliriz, bpx getsystemtime : Zaman kontrolü yapıldığı durumlarda kullanılır, bpx getlocaltime : Zaman kontrolü için diğer alternatif, bpx createfilea : Dosya kontrolü yapıldığında crc sınamalarında kullanılabilir, Softice kontrolu içinde kullanılmaktadır . bpx readfilea : Dosya kontrolü için diğer alternatif. bpx regqueryvalueexa : Register kontrolü için kullanılmaktadır . İlk Programın kırılması İlk Program Kırma Şimdi Yeni Başlayanlar için basit bir crack ı anlatalım. programı adidascrack.sitemynet.com/1. zip den indirin Artık crackme&#&#’yi kırmaya başlayabiliriz. Programı açtık, sallama seriali girdik, Ctrl-D yaptık ve SoftIce açıldı. Şimidi breakpoint koyalım (GetDlgItemTextA) ve softice&#&# ’dan çıkalım(X yazıp enterlayabilirsiniz.).Ve PassMe&#&# ’de Chack diyelim. Hooop SoftIce geldi. winice.dat dosyasını softice yi kurduğunuz klasöre kopyalamazsanız softice brakpointeri koyarken hata alırsınız . Bir kere F11&#&#’e basın ve calldan çıkıp aşağıya gelin: 017F:00401056 FF15701D4000 CALL [USER32!GetDlgItemTextA] 017F:0040105C 3C08 CMP AL,08 <------- 8 karakterlik bir serial girip girmediğinizi kontrol eder. 017F:0040105E 7590 JNZ 00400FF0 017F:00401060 BFC2114000 MOV EDI,004011C2 <-- yazıyı EDI&#&#’ye taşır 017F:00401065 33C9 XOR ECX,ECX 017F:00401067 33D2 XOR EDX,EDX 017F:00401069 33F6 XOR ESI,ESI 017F:0040106B 8A0F MOV CL,[EDI] <------ ilk karakteri CL&#&# ’nin içine taşır 017F:0040106D 8A5701 MOV DL,[EDI+01] <--- ikinci karakteri &#&# ’nin içine taşırn DL 017F:00401070 80FA00 CMP DL,00 <--------- yazının ulaşıp ulaşmadığını kontrol eder 017F:00401073 7409 JZ 0040107E <------ evetse, jump(atla) 017F:00401075 01D1 ADD ECX,EDX 017F:00401077 01CE ADD ESI,ECX 017F:00401079 83C702 ADD EDI,02 017F:0040107C EBED JMP 0040106B 017F:0040107E 01CE ADD ESI,ECX Şimdi 00401056 daki olayı anlamış olmanız lazım. Çünkü burada yazdığımız serialin 8 karakter olup olmadığını kontro edecek. Program ilk 4haneyi son 4 haneye ekliyor. Tabiki bu HEX&#&# ’de oluyor. Hex&#&#’de 1 = 31, 2 = 32, 3=33 gibi. Şimdi kodları F10 ile trace edip şağıya gelince daha iyi anlayacaksınız. EAX=34333231 EBX=0063FC34 ECX=38373635 EDX=00000000 ESI=455B455B EDI=00401300 EBP=0063FBE0 ESP=0063FBE0 EIP=0040109E o d I s Z a P c CS=0167 DS=016F SS=016F ES=016F FS=12E7 GS=0000 ÄÄÄÄÄPASSME! +12F4ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ byteÄÄÄÄÄÄÄÄÄÄÄÄÄÄPROTÄ ÄÄ(0)ÄÄ 016F:004012F4 00 00 00 00 00 00 00 00-00 00 00 00 31 32 33 34 ............1234 016F:00401304 35 36 37 38 00 00 00 00-00 00 00 00 00 00 00 00 5678............ 016F:00401314 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 016F:00401324 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄÄÄÄÄÄ ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ ÄPROT32Ä 0167:00401092 BF00134000 MOV EDI,00401300 0167:00401097 33C0 XOR EAX,EAX 0167:00401099 8B07 MOV EAX,[EDI] 0167:0040109B 8B4F04 MOV ECX,[EDI+04] 0167:0040109B 8B4F04 MOV ECX,[EDI+04] 0167:0040109E 01C8 ADD EAX,ECX -->EAX ECX&#&# ’e Eklenmiş 0167:004010A0 3BC6 CMP EAX,ESI 0167:004010A2 7402 JZ 004010A6 ;Good cracker 0167:004010A4 EB2E JMP 004010D4 ;Bad cracker ECX registeri "5678" (35363738) değerini tutuyor. Satır 0167:0040109E &#&#’da EAX ECX &#&#’e eklenmiş. Ve sonra ESI (455B455B) değerinde bunlar karşılaştırılır. Eğer eşitseler: satır 004010A6 &#&#’a atlar Bu iyi birşey çünkü Crackme&# &#’yi kırdın. Ama eğer eşit değilse yeniden dene.. Yazar bu programında değişik bir algoritma kullanmış ve ilk dört karakter ile son dört karakteri yer değiştirmiş , bu nedenle bie den fazla serialimiz oluyor. Şunları deneyin: pass1:-!-!.$.$ pass2:-$-$.!.! pass3:-$-!.!.$ pass4:-#-#."." pass5:."."-#-# pass6:-#."."-# Buyrun arkadaş biraz zorluk çıkartmış ama emeğine sağık buradan okuyabilirsiniz
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.