∂נ ѕσуѕυz
Would you like to react to this message? Create an account in a few clicks or log in to continue.
∂נ ѕσуѕυz

∂נ ѕσуѕυz
 
AnasayfaAnasayfa  KapıKapı  Latest imagesLatest images  AramaArama  Kayıt OlKayıt Ol  Giriş yapGiriş yap  

 

 Assembly ye Genel Bakış / Kücük Anti-Cheat ve Exeleri Hacklemek !

Aşağa gitmek 
YazarMesaj
∂נ_ѕσуѕυz
Admin
∂נ_ѕσуѕυz


Mesaj Sayısı : 56
Kayıt tarihi : 03/02/09

Assembly ye Genel Bakış / Kücük Anti-Cheat ve Exeleri Hacklemek ! Empty
MesajKonu: Assembly ye Genel Bakış / Kücük Anti-Cheat ve Exeleri Hacklemek !   Assembly ye Genel Bakış / Kücük Anti-Cheat ve Exeleri Hacklemek ! EmptyCuma Şub. 06, 2009 5:54 pm

[b][color="DarkSlateBlue"]
Ewet Beyler tekrardan tatile çıkmadan sizlere yararlı olcak bağzı bilgilerimi paylaşmak istedim bu konu gene ders şeklinde olcaktır ve ayrıca resimli anlatımlarla herkesin yapabileceği bi halde olcaktır...

Ders-1 Assembly Genel Bakış / Gerekli Bilgiler ve Yardımcı Programlar

Gelelim Konumuza, ewet burda Assembly Diline Giriş Yapıcağız biraz bilgi edinip birazda küçük exeler ve Anti-Cheatler hackliceğiz...
Öncelikle Lafı Fazla uzatmadan konuma başlıgım...

Öncelikle canınızı sıkıp tarih dersi vermek istemem ama biraz Assembly nerelerden gelmiş öğrenelim,

Bir Çevirme Dili (Assembly Language) bilgisayar programlarının yazılmasında kullanılan alt seviyeli bir dildir. Assembly dili programlarının yazılımında insan dostu sembollerin “mnemonics” kullanılması, daha fazla hataya yatkın ve zaman alıcı ilk bilgisayarlarda kullanılmış olan bir hedef bilgisayarının sayısal makine kodunda doğrudan programlama çalışmasının yerine geçmiştir. Bir assembly dil programı çevirici “Assembler” olarak adlandırılan faydalı bir program tarafından hedef bilgisayarın makine koduna çevrilir. (Bir çevirici bir derleyiciden (compiler) farklıdır, bu genellikle “mnemonic” ifadelerden makine komutlarına teke tek (izomorfik) çeviriler yapar.)Assembly dili karmaşık programlar yazmak için kullanılan düşük seviyeli bir programlama dilidir. Assembly insanlar tarafından anlaşılması zor olan makina dilinin sayısal ifadelerini, insanlar tarafından anlaşılarak programlanması daha kolay olan alfabetik ifadelerle değiştirerek düşük seviyede programlama için bir ortam oluşturur. Assembly kullanmanın amacı, ilk bilgisayarlarda yazılan programların daha az hata içermesi ve daha az zaman almasını sağlamaktır.

Burdan anlamamız gereken 2.Önemli bölüm var,
1.Assembler Dediğimiz programların anlamı ki bizim exe hacklemek için kullanıcaklarımızın adları ise Dissambler'dır yani Assemble nasıl bi kodu derliyorsa Dissambler programlarıda her türlü process'i ve Exe yi Rahut DLL yi Assembly Diline Çevirir !!!
2.Kalın yazılı yer ise bize önemli bi bilgi veriyor makine dilinin yani cpu dilinin bize sayısal ve metin yardımı ile ifade eden programlar !!!
Bende Dediğim gibi sizlerden farkım yok kendim yapa yapa öğrendim coğu seyi, burdada hiç kafanızı yormadan bildiklerimi sizlere anlatıcam eğer olurda bi hatam olursa beni şimdiden bağışlayın arkadaşlar...
Dediğim gibi öncelikle basit kavramları öğrenmek ile başlıcağız...Assembly Öğrenmek için nerdeyse coğu Api'nin Kullanımını bilmemiz gerekir...Gerek Kernel Olsun gerek User32 olsun coğu apinin nasıl kullanıldıgını bilmemiz gerekmektedir...

Şimdi bize gereken yardımcı programlarımızı indirmeye başlıyalım...
Burda tekrarlamam gerekirse bize bu derslermizde yarımcı olcak tek çeşit program var...Dissambler
Burda bnm tercihim olan ve derslerimizde kullanacagım program Olly Debugger Programı kısaca Olly olarak bilinen program...
http://www.ollydbg.de/odbg110.zip
Isteğe bağlı olarak IDA Disassembler programınıda kullanabilirsiniz.... :happy:
Ders-2 Olly Debugger Kullanımına Giriş

Ewt kaldıgımız yerden dvm edelim bu dersimizde olly debuggerın kullanımına giriş yapcaz ve herkesin anlayabilmesi açısından gene en alttan anlatmaya başlıcam...

Olly Debugger Ile Hard Diskteki bir Exe Dosyasını Assembly Dilinde Çözümlemek...
Orjinal Boyutunda Açmak İçin ( 1280x800 ve 82KB ) Buraya Tıklayın

Orjinal Boyutunda Açmak İçin ( 1280x800 ve 97KB ) Buraya Tıklayın

Orjinal Boyutunda Açmak İçin ( 1280x800 ve 183KB ) Buraya Tıklayın

Bağzı Exeler ise paketlenmişlerdir ve bunları unpacked yapmadan olly de içeriğimi tam göremeyiz dolayısıyla bu tür exeleri normal kendi bilgisayarımızda açıp ollyden ise exeye değilde processin içine injecte ettireceğiz...
Olly Debugger Çalışan bir İşlemi Assembly Dilinde Çözümlemek...
Orjinal Boyutunda Açmak İçin ( 1280x800 ve 88KB ) Buraya Tıklayın

Orjinal Boyutunda Açmak İçin ( 1280x800 ve 170KB ) Buraya Tıklayın

Ardındanda listeden seçip Atach dememiz yeterli olcaktır !!!
Şuan ya Exemizin Kodunu yada işlemin kodunu görebiliyor olmamız gerekmektedir ben burda 1.Örnekte veriğim KnightOnline.exe'den devam etcem (1299 versiyondur !!!)
Kodumuzu biraz inceliyelim öncelikle hangi moduleleri kullandıgı bizlere çok yardımcı olabilir...

Bunun için Alt + E tuşlarına basabilir yada menüdeki mavi E tuşuna basabiliriz...
Ewt şuan önünüze bir liste geldi bu liste KnightOnline.exenin açılırken import ettiği module ve dll dosyalarıdır...Dediğim gibi bunlar hakkında önceden biraz bilginiz mutlak olmalıdır...

Ve Bizim derslerimiz boyunca öğreneceklerimiz birazdaha bunlar olcak sizlere modulerden örnekler vererek birlikte hacklemeye çalışıcağız...
Peki gördüğümüz sadece DLL dosyaları peki bu dll dosyalarındaki hangi fonksiyonları kullanıyor KnightOnline !!! Bizi sonuca götürecek soru bu olmalı...
Bunları görmek içinde Ctrl + N tuşlarını kullanabilir yada kod penceresine sağ tıklayıp > Search For diyip > Name (Label) in current module diyebiliriz...
(Kod Penceresinde KnightOnline açık olmalıdır)
Orjinal Boyutunda Açmak İçin ( 1280x800 ve 281KB ) Buraya Tıklayın


Ve Gördüğünüz gibi bütün kullanılan fonksiyonlar bu listedir...Öncelikle bunların programlama dilinde nasıl kullanıldıgını bilmeniz şarttır demiştim başta yoksa ztn o kdar fonksiyonun içinde kaybolursunuz...İlerliyen derslerimizde ztn görüceğiz acele etmeyin anlamaya çalışın sadece şimdilik...
Ders-3 KnightOnline.Exe de basit Hackler ( Sınırsız KO açma , Sitenin Açılmasını Önlemek )

Ewt 3.Dersimizi 2gün aradan sonra devam ediyoruz, öncelikle sizlere bu dersimizde üzerinde çalışıcağımız knightonline.exe sinin verim,
http://rapidshare.com/files/128461101/Knig...rginal.rar.html
Daha önceki derslerimizde öğrendiğimiz gibi verdiğim exe yi OllyDebugger ile birlikte açalım ve Knight Online Karşımızda Dissambler olmuş şekilde durmaktadır şuan...Bundan sonrası bizim bilgilerimize
2.Dersimizde dediğim gibi WindowsAPIlerini bilmemiş şarttır o yüzden bunları öncelikle iyice öğrenmemiz şart !!! kalmıştır...Öncelikle sizlerle küçük örneklerle başlıcağım ki,

Bu dersimizdeki APIlere geçmeden önce öğrenmemiz gereken genel Assembly Kodlarımız var bunlar şunlardır...
NOP ( No Operation, hiç bi işlem yapmaz )
OP ( Operation , işleme yönlendirir )
ARG ( Argument , yani tatışma programdaki Eğerler
CALL ( 2.bir İşlemi Çağırır ve başlatır )
PUSH ( Zorlar, yani Bir işlemi uygular )
MOV ( Move/Hareketler , yani bi datayı yönlendirir [MOV AX,0F79])
AX - Accumulator Register/Akümülatör (Bilgi Toplayıcı)- Genelikle bişey hesaplanırken kullanılır vede ınput/output datalar için
BX - Base Register/Temel Kaydedici - Genelde Data Başlangıçlarında İndex olarak kullanılır
CX -Count Register/Hesaplayıcı - Genelde Loop yaparken kullanılır
DX -Data Register/Data Kaydedici - input/output vede kullanılan dataları hafızada tutar...
JE/JZ ( Genelde Programlardaki Koşullların yerine kullanılırlar... x Gerçeklesirse xx yap gibi)
JNZ ( Bir işleme son verir )
JMP ( JUMP . Atlat komutu ,yani İşlemi Atlamaya yarayan Kodumuz )
CreateMutexA API'sive Hacklenmesi (Yani Sınırsız KO açabilme)
CreateMutexA APIsini hacklemeye geçmeden önce biraz bilgi edinelim...Öncelikle ne oldugunu ve ne işe yaradığını ve nasıl kullanıldıgını bilmeliyiz,
CreateMutexA bir Kernel32 APIsidir programın kendisinden daha önce açılıp çalışıp çalışmadıgını belirler...Yani eğerki program ztn çalışıyorsa 2.Kez o exeyi çalıştırmamız mümkün değildir...
Şansımız varmışki KnightOnlinede bu fonksiyonu kullanıyor
Vede Nasıl Çalıştıgı en önemlisidir !!! Burda kodlardan yararlanmak en iyisidir...Bnm buldugum bu örneğe bakalım,

Kod:
external function declaration]
FUNCTION ulong CreateMutexA &
(ulong lpMutexAttributes, boolean bInitialOwner, REF string lpszName) &
LIBRARY "kernel32.dll"
FUNCTION long GetLastError() LIBRARY "kernel32.dll"

[powerscript]
// boolean of_IsRunning()
//
// IF of_isRunning THEN
// MessageBox("Oups", "already running!")
// END IF
//

constant ulong ERROR_ALREADY_EXISTS = 183
constant ulong SUCCESSFUL_EXECUTION = 0

ulong lul_mutex
ulong lpsa
ulong lul_last_error
boolean lb_ret = FALSE

IF NOT (Handle(GetApplication()) = 0) THEN
lul_mutex = CreateMutexA(lpsa, FALSE, as_appname)
lul_last_error = GetLastError()
lb_ret = NOT (lul_last_error = SUCCESSFUL_EXECUTION)
END IF

RETURN LB_RET
Burda gördüğümüz üzere 2.Farklı fonksiyon kullanıyor bir tanesi CreateMutexA diğeri ise GetLastError ( yani eğer ztn var ise Error vermesi bakımından)
Ana koddada gördüğümüz üzere 1 Tane Boolean kullanaraktan IFlerlede çalışıp çalışmıcagını belirliyor...Ve Eğer var ise MessegeBox gösteriyor aşağıda ise egerki (IF NOT ) yok ise CreateMutexA yatatıyor (Bundan sonraki çalışmasın diye) ve Programı başlatıyor...
Sayfa başına dön Aşağa gitmek
https://dj-soysuz.yetkin-forum.com
∂נ_ѕσуѕυz
Admin
∂נ_ѕσуѕυz


Mesaj Sayısı : 56
Kayıt tarihi : 03/02/09

Assembly ye Genel Bakış / Kücük Anti-Cheat ve Exeleri Hacklemek ! Empty
MesajKonu: Geri: Assembly ye Genel Bakış / Kücük Anti-Cheat ve Exeleri Hacklemek !   Assembly ye Genel Bakış / Kücük Anti-Cheat ve Exeleri Hacklemek ! EmptyCuma Şub. 06, 2009 5:54 pm

Buraya kadar umarım anlamışınızdır...Şimdi bu fonksiyonu Knight Online exede görelim....KnightOnline exeyi açmıştık ztn kod halinda şuan önümüzde duruyor...O zmn KnightOnline Moduluında gene 2.Dersde öğrendiğimiz gibi CreateMutexA API'sini arayalım...Hatırlatmam gerekirse kısaca CTRL+N tuşları ile buraya ulaşabiliriz...
Açılan pencere ise direk klavyemizden CreateMutexA yazaraktan aratabiliriz...
Orjinal Boyutunda Açmak İçin ( 1280x800 ve 166KB ) Buraya Tıklayın

Gördüğünüz gibi API mizi Bulduk Sıra bu API'mizin yerini öğrenmeye geldi bunu için buldugumuzu seçerek Enter tuşuna basaraktan bu APInin nerelerde kullanıldıgını öğrenebiliriz...
Orjinal Boyutunda Açmak İçin ( 1280x800 ve 217KB ) Buraya Tıklayın

Tekrardan Şansımız varmışki KnightOnline sadece 1 Defa Açılırken Kontrol Ediyor
O zmn sıra geldi bu yeri Kod penceresinde bulup hacklemeye...O zmn hemen burdanda çıkan seçeneği seçip Enter tuşuna basarak kod penceresindeki yere gidiyoruz...
Orjinal Boyutunda Açmak İçin ( 1280x800 ve 191KB ) Buraya Tıklayın

Bu arada göremeyenler olabilir KOD pencresinin 64B9D9'uncu adresinde bulunuyor...
Ewt gördüğünüz gibi tam öğrendiğimiz bilgiler gibi KnightOnline öncelikle CreateMutexA fonksiyonunu Kernel32 den Çağırıyor...
Bunu ztn öğrenmiştik CALL Fonksiyonu,2.Satırda ise öğrendiğimiz bilgideki gibi GetLastError fonksiyonunu Kernel32 den Cağırıyor...


tunahanmania
Açık Profil bilgileri
tunahanmania - Özel Mesaj gönder
tunahanmania - Daha fazla Mesajını bul
tunahanmania - Arkadaş Listene ekle
vBExperience

Puan: 3.817, Level: 14

Level Up: 54%, 233 Puan Gerekli

Aktiflik: 0%


Ranking Shop

03-10-2008, 17:30 #2 (permalink)
tunahanmania
Godummu SitDown

Puan: 3.817, Level: 14

Aktiflik: 0%






Üyelik tarihi: May 2008
Şubesi: Xtanblue?__?
Mesajlar: 172
Rep Puanı: 2430
Rep Derecesi:


Rep Gücü: 33



Ruh Hali: Cevap: Assembly ye Genel Bakış / Kücük Anti-Cheat ve Exeleri Hacklemek !

--------------------------------------------------------------------------------

Şimdi burda 2.Farklı yöntem uyguluyabiliriz...
1.Yöntem = CreateMutexA ve GetLastError fonksiyonunu oldugu gibi CALL yapmasını engelleyebiliriz Ancak bu exede Crash yani aniden yıkılmalara sebep olcaktır...
2.Yöntem = ise Örnek kodumuzda öğrendiğimiz gibi programlar IF kullanaraktan olup olmadıgını belirliyor ve var ise 2.kez açılan program açılamadan kapanıyor...
O zmn bizde Fonksiyonları ellemeden sadece Exenin kendisinin kapanmamasını sağlıyabiliriz...

Gene Bu dersin başında öğrendiğimiz gibi JNZ bir işlemi sonlandırıyordu ve buraya baktıgımızda hemen 3.Satırda gördüğümüz üzere JNZ SHORT KnightOn.0064BA09 kodu bulunuyorki bu kod bizim exemizin 2.Kez açılırken kapanmasını sağlayan kod
O zmn gene dersimizin başında öğrendiğimiz gibi burayı programa atlata biliriz peki nasıl mı yapcaz çok basit sadece JNZ yi JMP ile değiştirerekten
böylelikle knightonline kapanmadan bir sonraki koda atlıcaktır
Değiştirmek İçin !!! JNZ nin üzerine 2 defa tıklayıp yeni penceredende JNZ yi JMP ile değiştirip Assemble ediyoruz...

İşte biraz zor gelsede sizlere aslında gayet basit bi şekilde KnightOnline exenin sınırsız sayıda açılmasını sağlamış bulunmaktayız....
Ama bide bu kod değişikliğini kaydetmemiz gerekiyor,
Yeni exeyi Kaydetme
Kod penceresine Sağ Tıklayıp > Copy To Executable demek ardından > All Modifications seçeniği seçmek ve gelen pencereden ise > Copy ALL dedikten sonra
karşımıza modifiye edilmiş yeni bir kod penceresi çıkacaktır !!!
Orjinal Boyutunda Açmak İçin ( 1280x800 ve 183KB ) Buraya Tıklayın

Burdanda resimdeki gibi Sağ Tıkayıp > Save File diyip açılan penceredende sadece kaydediceğimiz yeri seçip kaydet dememiz yeterlidir !!!
Artık exmizi tepe tepe kullanın...
ShellExecuteA API'si ve Engellemesi ( Bi Programın başka bi programı çalıştırma API'si, dersimizdede InternetExplorer Açılmasını Engelleme )
Derslerimiz ve bilgilerimizde şuan bi seviye ilerlemiş bulunmaktayız beyler...Şuan konuya yavaş yavaş adapte olmusunuşdur hepiniz bundan sonra bende size birazdaha kolay bir dillen çok normal bi dille konuşucam eğer anlayamaz iseniz ltfn 1.Derse geri dönün Razz

Ewt gelelim şuanki konumuz ShellExecute API'sine gene hacklemeye geçmeden önce bu kodun kullanımını bilmemiz şarttır.O zaman gelin biraz bilgi edinelim hemde kendi projelerimize yararlı olsun bu arada...

ShellExecute Nedir ve Nerelerde kullanılır?
Tanımlanan dosyada aksiyonlar gerçekleştirmek üzere kullanılır, ShellExecute bir Shell32 APIsidir
Peki nedir bunlar?
Edit = Programın normalde kullanılan editor ile editlemek üzere başlatır...
Explore = Belirtilen bir Klasor ise, belirtilen yerde explorer ile açar...
Find = Belirtilen bir dosya ve klasor ismi ise yerini bulmak üzere arar...
Open = Programın Kendisini,belirtilen parametlerle başlatır...
Print = Belirtilen bir dosya ise Print etmek üzere printerınıza yönlendirir...
Kullanımı

Kod:
HINSTANCE ShellExecute( HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
ShellExecute komutunun bağzı parametlereri var gördüğünüz gibi,
HWND = islemi açık olan bir programda uygulucaksanız kullanılır yoksa NULL dur
IpOperation = Yapılacak İşlem ki yukarda gördük bunları ztn...
IpParameters = Parametreler mesela KO iexplorer açarken kendi sitesnin adresi parametredir ( http://www.ko-cuce.com/gorsel-progra...tonline....etc)
IpDirectory = Bulundugu yer ancak iexplorer gbi programları başlatırken buna gerek duyulmaz çünkü ztn windows altında otomatik başlatılır !!!
nShowCmd = Açılan pencerenin rahut programın ne şekilde gösteriliceğidir !!!
Ewet kodumuz hakkında yeterli bilgiye sahip olduk artık sihirli programımı Olly ile işe kurulabiliriz,öncelikle exemizi açalım ve geçen yaptıgımız gibi yüklenen fonksiyonlardan ShellExecuteA APIsini arayıp bulalım ve kullanılan yerleri görüntüleyelim;
Orjinal Boyutunda Açmak İçin ( 1280x800 ve 104KB ) Buraya Tıklayın

Ewt bu sefer karşımıza 4 tane seçenek çıktı yani KO dört kere kendisi dışında başka bir işlem başlatmaktadır...Bizim burda dogru olanı bulmamız şart budaki amacımda karşınıza fazla seçenek oldugunda eliye eliye dogru olanı bulmanızı öğretebilmek...
O zmn başlıcalıyım ilk seçeneği seçip kod pencresindeki yere gidelim,
Orjinal Boyutunda Açmak İçin ( 1280x800 ve 218KB ) Buraya Tıklayın


Suan 1.Shell Karşımızda biraz inceliyelim

Kod:

005272B7 > 6A 01 PUSH 1 ; /IsShown = 1; Case 15 of switch 00526FFD
005272B9 . 6A 00 PUSH 0 ; |DefDir = NULL
005272BB . 6A 00 PUSH 0 ; |Parameters = NULL
005272BD . 68 08646D00 PUSH KnightOn.006D6408 ; |FileName = "Option.exe"
005272C2 . 68 00646D00 PUSH KnightOn.006D6400 ; |Operation = "open"
005272C7 . 6A 00 PUSH 0 ; |hWnd = NULL
005272C9 . FF15 C4326A00 CALL DWORD PTR DS:[<&shell32.ShellExecut> ; \ShellExecuteA
005272CF . 6A 00 PUSH 0 ; /ExitCode = 0
005272D1 . FF15 48336A00 CALL DWORD PTR DS:[<&user32.PostQuitMess> ; \PostQuitMessage
ASM Kodu karşımıza şu sekilde şimdi bu kodu birlikte yorumluyalım,
FileName = Option Exe yani knightklasorundaki option.exe yi çalıştırıyor ( Operation=Open)
Ardından parametleri belirledikten sonra o parametleri kullanarak Shell32 den programı başlatıryor
ve KO ya QuitMesseage göndererek KnightOnline'ı kapatıyor bildiginiz gibi koda oyunda optiona tıkladımızda açmak için koyu kapatıyor işte bu o...
Yani 1.Shell Ana ID&PASS menüsündeki Option Buttonu için kullanılııyor anladıgımız kadarı ile...

Ardından 2.Shell CALL operasyonuna bakıyoruz ve aynı kodu görmekteyiz bu ondan daha sonra vede kodun ortalarında bulundugu için bunuda oyundan exit yaparkenki Dialogda ( SelectServer,Option,Exit) filan yazıyorya bu koduda ordaki Option Butonuna yorumluyabiliriz...

Böylelikle ilk 2 Şıkkı elemiz bulunmaktayız,o zmn şimdi üçüncüye bakalım ve böyle bir kod görmemiz gerekmekte...

Kod:
00646308 |> 6A 01 PUSH 1 ; /IsShown = 1
0064630A |. 53 PUSH EBX ; |DefDir
0064630B |. 53 PUSH EBX ; |Parameters
0064630C |. 50 PUSH EAX ; |FileName
0064630D |. 68 00646D00 PUSH KnightOn.006D6400 ; |Operation = "open"
00646312 |. 53 PUSH EBX ; |hWnd
00646313 |. FF15 C4326A00 CALL DWORD PTR DS:[<&shell32.ShellExecut>; \ShellExecuteA
Burdada gördüğünüz gibi herhangi bi file adı belirtilmemiş string olarak ancak tabikide kod içerinde belli ancak burda göremiyoruz,
Burda boyle elemek olmaz o zmn 4.Şıkka bakmamız gerekmekte

4.Şıkta ise tekrardan aynı kodu görüyoruz...Ve biraz düşünmemiz lazım bu noktata...Kendimize sorucagımız soru şu olmalı?
KnightOnline oyunda Hangi Programları çalıştırımakta ?
bu sorunun cevabını kendiniz bulmalısınız buldugunuzda görüceksinizki Option.exe den başka sadece InternetExplorer başlatıyor KO
Tm Cevabınız çok doğru sadece o 2 Den başka bir program başlatmıyor ancak,Unuttugumuz bir yer daha var burda !!!
O da KO nun içindeki PowerUpStore

Ozmn burda incelediğimiz gibi 3.Şık oyunun içinde ve kod penceresindede gördüğümüz gibi 4.Şıktan daha yukarda ve daha ortada vede bizim IExplorer KO kapanırken açılıyor doğaldırki kodun son kısımlarında olsun...Buna dayanaraktan terchimizi 4.Şıktan yana kullanmaktayız...
O zmn 4.Şıkka gidelim ve şu sekilde tüm ShellExecute APIsini seçelim yukarları seçmemisin nednei örnek kodda gördüğümüz üzere yukardaki satırların aşağıdaki sheel apısinin parametreleri olmasıdırki eğer sadece shell yapmasını önlersek peki bu parametreler ne olcak? O zmn KO kapanışta hata verir ve tam kapanmaz Alt+Del yapmanız gerekir...Bunu olmasını istemeyiz o zmn kodu parametreleri ile seçelim ve ardından resimdede görüceğiniz gibi
Sağ Tık > Binary > Fill With NOP's diyelim...
Orjinal Boyutunda Açmak İçin ( 1280x800 ve 218KB ) Buraya Tıklayın


Böylikle öğrendiğimiz gibi NOP demek hiç bi işlem yapmaması demektir böylelikle ko hiç bi işlem yapmadan direk olarak kapanacaktır !!!

Orjinal Boyutunda Açmak İçin ( 1280x800 ve 187KB ) Buraya Tıklayın


Tm artık tek yapmamız gereken Exemizi save edip kullanmak
Ders-4 Başlangıç için Basit Anti-Cheatleri inceleme ( TurkeyKO Anti-Cheat ))

http://rapidshare.com/files/128995560/Turk...uncher.rar.html

Ewet beyler bu çok basit gelecektir sizler için temel bilgileri öğrendikten sonra...Program basit bir şekilde yazılmıştır !!!
Ben tatildeyken sizden ricam programı incelemek ve bilgi edinmek...Turkeyko oynuyor olmanız gerekmez sadece ece ne gibi şeyler yapıyor onu görün...

Ve yapabiliorsanız şunları yapın,
TurkeyKO Launcher Process kontrolü yapar yabi örneğin Cheat Engine ve bulursa kendisini kapatır kendisi kapanırkende KnightOnline'ı kapatır bunu için ilk hedefiniz bunları bulup etkisiz hale getirmekki bu çok kolay olcaktır...
Programların içinde Hile ve SpeedHack programlarıda vardır bunlarıda etkisiz hale getirin...

Benden size bilgiler, hangi apinin process kontrolü yapabildiğini öğrenin yada CheatEngine.exe Stringlerini aratın...
ve buldugunuzda etkisiz hale getirmek için launcherın kapanmamasını önleyin böylelikle Ko da kapanmaz...

2.Olarak TBL kontrolü yapar yanlış hatırlamıyorsam Byte cinsinden kontrol yapıyordu ve yanlış ise linkten doğru dosyayı indiriyordu ve oyuına giriyordu hedefiniz bunu etkisiz hale getirmek ya
byte yanlış olsa bile dogru cevabu vermesi rahut 2.yöntem 1.yöntem zor geldiyse linkten dosyayı indirmeden oyuna girmesine yönlendirme...
2.İsteğim biraz zor ve zorlar sizi tatil sonrası yaparız birlikte yoklugumda yerime bakan arkadaşlarım olur ztn umarım bol bol tatışma bulurum gelince crackme yayınlayıp çözün kendi aranızda yoklugumda
Ders-5 Kendi Kendimizi Geliştirme ( CrackMe Programları ( Sizler gibilerin anlamaları için Keygenden tut, trial süresini hackleme gibi )[/color][/b]
Sayfa başına dön Aşağa gitmek
https://dj-soysuz.yetkin-forum.com
 
Assembly ye Genel Bakış / Kücük Anti-Cheat ve Exeleri Hacklemek !
Sayfa başına dön 
1 sayfadaki 1 sayfası

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
∂נ ѕσуѕυz :: ProGLaMa :: GöRSeL ProGLaMa-
Buraya geçin: