CoreCheat CSGO
Griffin Premium
- Katılım
- 10 May 2016
- Mesajlar
- 1,766
- Çözümler
- 5
- Tepki puanı
- 720
- Ödüller
- 14
- Yaş
- 25
- Sosyal
10 HİZMET YILI
YAZI EĞİTİM AMAÇLIDIR:
Eveeet. Uzun süredir ortalarda yoktuk. Burda adım adım nasıl SonOyuncu Launcherini açtığımızı anlatacağım.
Ben Lyceion başlayalım.
İlk olarak launcherimizi indirdik ve dosya konumuna geldik (%appdata%/.sonoyuncu (ne kadar yaratıcı)):
Burada bir bootstrap.exe miz var. Hemen analizini alalım:
Analiz sonucunda ne yazık ki packlenmiş gözükyor. Bunda klasik bir themida winlicense var. Programı açıp dump aldığımızda da bir VM konmadığını görüyoruz. O yüzden sihirli unpack işlemlerini yapalım ve ondan sonra inceleyelim:
Demek GO ha. İlginç bir seçim ama bu Themidayı açıklar. GO ile yazılıp derlenmiş programları ne yazık ki şu anda başka bir pack programı packlemiyor. Şimdi programın entrypointini düzeltiyoruz ve hemen IDA mıza atıyoruz ama şöyle bir durum var. GOLang biraz dosya boyutu ve içeriği konusunda eli bol bir dil. Yani dosyanın içinde debug sembollerinden tutun kullanılmayan bütün kütüphaneler, fonskiyonlar normalde print içindeki texti birleştirmek için bile compiler seviyesinde fonskiyon ekliyor yani elimizde saçma sapan şöyle bir görüntü olacak fonksiyonlar ve stringler:
Şimdi GOLang'in güzel tarafı, bu arkadaş gidiyor bütün sembolleri içinde obj dosyasıyla beraber taşıyor. E sen ne yaparsın, bu obje dosyasını alırsın, içinden çektikten sonra bunu gider ida ya scriptle basarsın (bkz.
Artık inceleyebiliriz. İlk başta eğer start routinelerini takip edersek birkaç şeye ulaşıyoruz (Bu eğitim amaçlı bir yazı olduğundan sadece nasıl yapılacağını anlatacağım fakat son ürünü paylaşmayacağım. Burada linkleri de gizliyorum kendiniz basit bir araştırma ile yazdıklarımı yine kendiniz yapabilirsiniz):
Demek soup_win.exe he? Onu da araştıralım derken PACK li değilmiş. Kendisi de bir GO projesi. Hemen onun da metadatasını çekip inceleyelim:
Burada güncellemeler için bir güncelleme kontrol durumu var. Burada iki çözüm izleyebiliriz. Ya az önceki URL nin şuanki durumunu kopyalayıp lokalden hosts dosyası üzerinden yönlendirme yapabiliriz ki güncellemelerden kurtulalım ya da programı checksum kontrolü için patchleyip direkt olarak launcher güncel diyip açmasını sağlayabiliriz. Şu anlık updateri patchleyip devam edelim. Test amaçlı da bu soup.exe üzerinden unpacklediğimiz exe yi çalıştırtmayı deniyoruz çünkü onun da hashi farklı çalışırsa patchimiz başarılıdır:
Burada tam yazıyı yazarken kendisinin de hashini kontrol ettiğini fark edip bootstrapi de patchliyorum.
Galiba şu anki son durumda lokale yönlendirme yapıp hashleri yazıp kullanmak daha kolay olucak.
Şu anda soup_win.exe (SonOyuncu Updaterin kısaltması ama nedense çorba anlamında okumak daha çok hoşuma gidiyor çorba diyelim) ve elimizde bootstrap patchlenmiş bir şekilde duruyor.
Bundan sonraki yazımızda launcher.jar ve bunun jvm (java virtual machine) komutlarıyla birleştirilmiş halini inceleyeceğiz. Sonraki adım ise hacked clientin checksumını geçirip yükletip bununla servera girmek olucak. Birkaç kere serverları java versiyonundan yakalayan görmüştüm (yani sonoyuncu optifineli versiyon yükletiyor ve bu optifineli versiyonu düzenleyip kimsede olmayan bir signature veriyor. Server o versiyonu ordan tanıyor. Belki o imzayı alıp hacked cliente yazmamız gerekebilir).
Part 2 ne zaman gelir bilmiyorum bir ara uğraşırım. Bunu da gören so yetkilisi varsa bildireyim asla son bitmiş halini paylaşmayacağım. Tavsiyem şu GO işini salın bu arada.
Güncelleme gelir diye burdaki ve göstermediğim launcherin içindeki bütün serverdaki checksumdur vesairedir lokale çektim. Eğer konu üzerine güncelleme gelirse lokalden yönlendirip devam edeceğiz. Bu arada hile ile asla serverda oynamayacağım öyle görüntüler bekleyen arkadaşlar varsa size bu haber kötü gelicektir. Amaç sadece POC (Proof Of Concept) yani mümkünlüğünü gösterebilmektir. Yazı eğitim amaçlıdır ve hiç bir partta açık açık veri verilmeyecektir.
Eveeet. Uzun süredir ortalarda yoktuk. Burda adım adım nasıl SonOyuncu Launcherini açtığımızı anlatacağım.
Ben Lyceion başlayalım.
İlk olarak launcherimizi indirdik ve dosya konumuna geldik (%appdata%/.sonoyuncu (ne kadar yaratıcı)):
Burada bir bootstrap.exe miz var. Hemen analizini alalım:
Analiz sonucunda ne yazık ki packlenmiş gözükyor. Bunda klasik bir themida winlicense var. Programı açıp dump aldığımızda da bir VM konmadığını görüyoruz. O yüzden sihirli unpack işlemlerini yapalım ve ondan sonra inceleyelim:
Demek GO ha. İlginç bir seçim ama bu Themidayı açıklar. GO ile yazılıp derlenmiş programları ne yazık ki şu anda başka bir pack programı packlemiyor. Şimdi programın entrypointini düzeltiyoruz ve hemen IDA mıza atıyoruz ama şöyle bir durum var. GOLang biraz dosya boyutu ve içeriği konusunda eli bol bir dil. Yani dosyanın içinde debug sembollerinden tutun kullanılmayan bütün kütüphaneler, fonskiyonlar normalde print içindeki texti birleştirmek için bile compiler seviyesinde fonskiyon ekliyor yani elimizde saçma sapan şöyle bir görüntü olacak fonksiyonlar ve stringler:
Şimdi GOLang'in güzel tarafı, bu arkadaş gidiyor bütün sembolleri içinde obj dosyasıyla beraber taşıyor. E sen ne yaparsın, bu obje dosyasını alırsın, içinden çektikten sonra bunu gider ida ya scriptle basarsın (bkz.
Bağlantıları görmek için lütfen
Giriş Yap
):Artık inceleyebiliriz. İlk başta eğer start routinelerini takip edersek birkaç şeye ulaşıyoruz (Bu eğitim amaçlı bir yazı olduğundan sadece nasıl yapılacağını anlatacağım fakat son ürünü paylaşmayacağım. Burada linkleri de gizliyorum kendiniz basit bir araştırma ile yazdıklarımı yine kendiniz yapabilirsiniz):
Demek soup_win.exe he? Onu da araştıralım derken PACK li değilmiş. Kendisi de bir GO projesi. Hemen onun da metadatasını çekip inceleyelim:
Burada güncellemeler için bir güncelleme kontrol durumu var. Burada iki çözüm izleyebiliriz. Ya az önceki URL nin şuanki durumunu kopyalayıp lokalden hosts dosyası üzerinden yönlendirme yapabiliriz ki güncellemelerden kurtulalım ya da programı checksum kontrolü için patchleyip direkt olarak launcher güncel diyip açmasını sağlayabiliriz. Şu anlık updateri patchleyip devam edelim. Test amaçlı da bu soup.exe üzerinden unpacklediğimiz exe yi çalıştırtmayı deniyoruz çünkü onun da hashi farklı çalışırsa patchimiz başarılıdır:
Burada tam yazıyı yazarken kendisinin de hashini kontrol ettiğini fark edip bootstrapi de patchliyorum.
Galiba şu anki son durumda lokale yönlendirme yapıp hashleri yazıp kullanmak daha kolay olucak.
Şu anda soup_win.exe (SonOyuncu Updaterin kısaltması ama nedense çorba anlamında okumak daha çok hoşuma gidiyor çorba diyelim) ve elimizde bootstrap patchlenmiş bir şekilde duruyor.
Bundan sonraki yazımızda launcher.jar ve bunun jvm (java virtual machine) komutlarıyla birleştirilmiş halini inceleyeceğiz. Sonraki adım ise hacked clientin checksumını geçirip yükletip bununla servera girmek olucak. Birkaç kere serverları java versiyonundan yakalayan görmüştüm (yani sonoyuncu optifineli versiyon yükletiyor ve bu optifineli versiyonu düzenleyip kimsede olmayan bir signature veriyor. Server o versiyonu ordan tanıyor. Belki o imzayı alıp hacked cliente yazmamız gerekebilir).
Part 2 ne zaman gelir bilmiyorum bir ara uğraşırım. Bunu da gören so yetkilisi varsa bildireyim asla son bitmiş halini paylaşmayacağım. Tavsiyem şu GO işini salın bu arada.
Güncelleme gelir diye burdaki ve göstermediğim launcherin içindeki bütün serverdaki checksumdur vesairedir lokale çektim. Eğer konu üzerine güncelleme gelirse lokalden yönlendirip devam edeceğiz. Bu arada hile ile asla serverda oynamayacağım öyle görüntüler bekleyen arkadaşlar varsa size bu haber kötü gelicektir. Amaç sadece POC (Proof Of Concept) yani mümkünlüğünü gösterebilmektir. Yazı eğitim amaçlıdır ve hiç bir partta açık açık veri verilmeyecektir.