[ASM] - 1299 Knight OnLine Hackshield Kaldırma

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 66

Admin

Knight Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
45,967
Evet arkadaşlar, bu konumuzda sizlere orjinal 1299 KnightOnLine.exe'sinden hackshield nasıl kaldırılır onu izah edeceğim.



Öncelikle, orjinal exemizi unpackliyoruz. Unpack için yeterli bilgiye sahip olmayan arkadaşlar detaylı anlatıma ulaşabilirler.



Exeyi unpackledik. Sırada hackshieldi adım adım kaldırmak var. Exemizi Ollydbg ekranına sürüklüyoruz.



adszea.png




Exemiz yüklendi. CTRL - G tuş kombinasyonu ile 64B9B0 adresine gidiyoruz.



adsz2kw.png




Bu adres, oyunun ana voididir. Yani diğer adıyla entry point. Biraz inceleyelim.



adsz3ol.png




Resimde de izah ettiğim gibi, void içerisinde mutex kontrolü var. Oyunun iki kere açılmasını engelleyen şey bu mutextir*. Mutex kontrolünden dönen değer 0'sa yani mutex bulunamadıysa, oyun başlangıç işlemine devam edilir. 64B9EA adresinde de gördüğümüz gibi, mutex değeri 0B7(183) yani ERROR_ALREADY_EXISTS kodunu döndürmediyse, bir sonraki voide atlıyor. Bir sonraki voidi inceleyelim. (64BA06)



* 64B9EA adresindeki JNZ değerini JMP yaparak sınırsız client açabilirsiniz.



adsz4zf.png




Resimde de izah ettiğim gibi, bu etapta client HSUpdater.exe'yi çağırıyor ve çağırma işlemi başarılıysa açılışın bir sonraki adımına ilerliyor.(64BA19)



Burada yapacağımız şey, HSUpdater'i çağıran satırı NOP'lamak ve JNZ(Jump if Not zero)'yi JMP(unconditional jump)'a çevirmek. Yapalım.



adsz5r.png




Gördüğünüz gibi, HSUpdater'i çağıran voide giden call'ı NOP'ladık ve true-false kontrolü yapan JNZ Conditional Jump'unu JMP ile değiştirdik. Şimdi ise yine CTRL-G tuşuna basarak 5F6C1F adresine gidiyoruz.



adsz6q.png




Adresimizi yazdık, OK tuşuna basıyoruz.



adsz7s.png




CreateMainWindow voidinin içerisindeki bir kod satırındayız. Burada HackShield'in çalışıp çalışmadığını kontrol eden EhSvc.dll'yi çağıran voide giden bir call var. 5F6C1F'den 5F6C26'ya kadar NOP'luyoruz ve 5F6C28 adresindeki JNZ'yi JMP olarak değiştiriyoruz.



adsz8wt.png




Gereken işlemleri yaptık; son bir aşamamız kaldı. Oyunun general keystroke handler voidinin içerisine yerleştirilmiş bir kontrol daha var. Onu da etkisiz hale getirmemiz gerekiyor. CTRL - G tuş kombinasyonu ile 5F6CFD adresine gidiyoruz ve 5F6CFD ile 5F6D04 arasını NOP'luyoruz.(resimde 02 ve 04'ü noplamamışım, siz noplayın.)



adsz11f.png






Exemizi hackshield'ten arındırdık. Son aşama olarak kaydedelim.



adsz9xt.png




adsz10q.png




HackShield'siz exeniz hayırlı olsun 🙂



finalsd.png




Yardımcı olması dileğiyle, daha değişik konulardaki ASM yardım isteklerinizi özel mesaj yoluyla iletebilirsiniz.



PENTAGRAM / 10.12.2012
















Knight OnLine HackShield Kaldırma Rehberi

Knight OnLine, özellikle özel sunucular (private server) dünyasında uzun yıllardır aktif olan popüler bir MMORPG oyunudur. Oyuncuların rekabetçi PvP (player versus player) deneyimi yaşaması, sınıflar arası stratejik savaşlar ve güçlü sunucu geliştirme potansiyeli ile dikkat çeker. Ancak zamanla bazı güvenlik önlemleri, geliştiriciler için engel teşkil etmeye başlamıştır. Özellikle HackShield adlı anti-cheat sistemi, sunucu geliştiricileri tarafından yapılan testler sırasında bazı durumlarda istenmeyen engeller yaratır. Bu nedenle [ASM] seviyesinde müdahale ederek HackShield'i kaldırmak, KO geliştiricileri arasında yaygın bir ihtiyaç haline gelmiştir.

HackShield Nedir?

HackShield, Knight OnLine'un resmi sunucularında kullanılmakta olan bir koruma sistemidir. Oyuncuların hile kullanımı yapmasını engellemek ve oyun içi dengenin korunmasını sağlamak amacıyla tasarlanmıştır. Ancak özel sunucularda bu sistem çoğu zaman test aşamasında sorunlara yol açar. Bu yüzden geliştiriciler, sunucularında HackShield'in devre dışı bırakılması için ASM kodları üzerinde değişiklikler yaparlar.

Neden HackShield Kaldırılır?

Özel sunucuların amacı, oyunculara farklı deneyimler sunabilmektir. Geliştiriciler, oyun mekaniklerini özelleştirmek, yeni sistemler eklemek veya test etmek isterler. HackShield gibi korumalar, bu özgür yapıyı sınırlar. Ayrıca bazı modifikasyonlar, HackShield tarafından hile olarak algılanabilir. Bu da geliştirme sürecini zorlaştırır. Bu nedenle, ASM düzeyinde HackShield'i kaldırma işlemi, KO geliştiricileri için önemli bir teknik adımdır.

ASM ile HackShield Kaldırma Adımları

1. Öncelikle KnightOnLine.exe dosyasının bulunduğu dizine erişin.
2. Bu dosyayı güvenli bir ASM editörü (örneğin OllyDbg, x64dbg) ile açın.
3. HackShield ile ilgili adresleri belirlemek için analiz yapın. Genellikle LoadLibrary veya benzeri fonksiyon çağrıları HackShield.dll dosyasını yüklemektedir.
4. Bu fonksiyonun çağrıldığı adresi NOP (No Operation) komutları ile geçersiz hale getirin.
5. Dosyayı kaydedin ve sunucuda test edin.

ASM Kodları Hakkında Teknik Bilgi

ASM (Assembly Language), düşük seviyeli programlama dilidir. Knight OnLine.exe gibi uygulamalar üzerinde doğrudan işlem yapmak için idealdir. HackShield gibi korumaları devre dışı bırakmak için, çalıştırma anında yapılan DLL yüklemeleri engellenmelidir. Bu işlem ASM kodları üzerinde NOP komutları ile yapılır. NOP komutu, işlemcinin hiçbir işlem yapmadan bir adım ilerlemesini sağlar. Bu sayede orijinal fonksiyon çalışmaz hale gelir.

Dikkat Edilmesi Gerekenler

Bu işlem, orijinal oyun dosyalarında kalıcı değişiklikler yaptığı için dikkatli yapılmalıdır. Yanlışlıkla başka bir fonksiyonun değiştirilmesi, oyunun çalışmasını engelleyebilir. Her zaman yedek alın ve test sunucusunda denemeler yapın. Ayrıca bu tür işlemler lisanslı sunucularda yasal sorunlara yol açabilir. Özel sunucular için bu tür değişiklikler yapılabilmektedir.

Knight Lobby

Knight Lobby, Knight Online özel sunucuları dünyasında aktif geliştirme yapan, kaliteli sunucular sunan bir platformdur. Sunucu geliştiricileri için kaynaklar, rehberler ve teknik destek sağlar. Eğer siz de KO özel sunucu dünyasında yer almak istiyorsanız, Knight Lobby üzerinden güncel bilgilere ulaşabilirsiniz.


Removing Knight OnLine HackShield Guide

Knight OnLine is a popular MMORPG that has remained active for years, especially within the private server community. It attracts attention with its competitive PvP (player versus player) experience, strategic class-based battles, and strong server development potential. However, over time, certain security measures have become obstacles for developers. In particular, the HackShield anti-cheat system creates unwanted barriers during testing phases for server developers. Therefore, removing HackShield at the [ASM] level has become a common need among KO developers.

What is HackShield?

HackShield is a protection system used on official Knight OnLine servers. It was designed to prevent players from cheating and maintain in-game balance. However, on private servers, this system often causes issues during testing phases. For this reason, developers remove HackShield by making changes to ASM codes on their servers.

Why Remove HackShield?

The purpose of private servers is to offer different experiences to players. Developers want to customize game mechanics, add new systems, or perform tests. Such protections as HackShield limit this freedom. Additionally, some modifications may be detected as cheats by HackShield, which complicates the development process. Therefore, removing HackShield at the ASM level is an important technical step for KO developers.

Steps to Remove HackShield with ASM

1. First, access the directory where the KnightOnLine.exe file is located.
2. Open this file with a secure ASM editor (e.g., OllyDbg, x64dbg).
3. Analyze to identify addresses related to HackShield. Usually, LoadLibrary or similar function calls load the HackShield.dll file.
4. Invalidate the address where this function is called by replacing it with NOP (No Operation) commands.
5. Save the file and test it on your server.

Technical Information about ASM Codes

ASM (Assembly Language) is a low-level programming language. It is ideal for performing direct operations on applications like Knight OnLine.exe. To disable protections such as HackShield, DLL loads made at runtime must be blocked. This is done using NOP commands on ASM codes. The NOP command makes the processor advance one step without performing any operation, thus disabling the original function.

Things to Be Careful About

Since this process makes permanent changes to the original game files, it should be done carefully. Incorrectly modifying another function might prevent the game from running. Always take backups and run tests on a test server. Also, such actions may lead to legal issues on licensed servers. Modifications like these can be made for private servers.

Knight Lobby

Knight Lobby is a platform that actively develops and provides high-quality servers in the world of Knight Online private servers. It offers resources, guides, and technical support for server developers. If you wish to join the KO private server scene, you can find up-to-date information via Knight Lobby.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt