Tersine Kod Mühendisliği

Başlatan Reverser, 03 Kasım 2014 - 20:34:00

« önceki - sonraki »

0 Üyeler ve 23 Ziyaretçi konuyu incelemekte.

7hr33l3t73r

Amac program icinde ki kelimeyi bulmak.
dc -e '[q]sa[ln0=aln256%Pln256/snlbx]sb207356256404211981204295703670388snlbxq'
https://www.getgnu.org/gnulinux/gnulinux-ipuclari/nasil-akillica-soru-sorulur.html

Reverser

Çok fazla bakma imkanım olmadı fakat anladığım kadarıyla "g&ue+2|w}z" şeklinde bir string var. Bu string bir buffer içine alınıyor daha sonra bir for döngüsü ile bu stringin karakter sayısı kadar(10) döngü işliyor ardından tam olarak anlayamadığım bir decrypting algoritması ile (xor gibi duruyor) işleniyor.


psuedo code


//i döngü elemanı str_len();
string = string_a(&buffer,i);
string_a = string ^ (signed int x) + (i) % 34);


umarım doğrudur geldiğim yere kadar :D

XFCE ROCKS !
Powered by Thunar & XFWM4



7hr33l3t73r

Evet dogru @Reverser.(xor)
Cok kolay mi? oldu  ne  :)

dc -e '[q]sa[ln0=aln256%Pln256/snlbx]sb207356256404211981204295703670388snlbxq'
https://www.getgnu.org/gnulinux/gnulinux-ipuclari/nasil-akillica-soru-sorulur.html

Reverser

Algoritmayı doğru anlamışım demek ki yalnız,
Alıntı yapılan: 84d80y5 - 12 Şubat 2015 - 20:24:27
Amac program icinde ki kelimeyi bulmak.

demiştiniz ben henüz düzgün bir kelime elde edemedim.

XFCE ROCKS !
Powered by Thunar & XFWM4



7hr33l3t73r

Cok zor olmasa gerek sonucta encrypto bir kelime yok.
Kelime zaten decrypto edilmis.  Nereye saklanabilirki :)
dc -e '[q]sa[ln0=aln256%Pln256/snlbx]sb207356256404211981204295703670388snlbxq'
https://www.getgnu.org/gnulinux/gnulinux-ipuclari/nasil-akillica-soru-sorulur.html

Reverser

Kafam karıştı... Kelimeyi bulmak derken "Cok gizli aman ha kimse gormesin :D" bu mesajdan bahsediyor olamazsınız herhâlde ? Zira flag koydum demiştiniz strings aramasında ortaya çıkan tek anlamlı string bu.

XFCE ROCKS !
Powered by Thunar & XFWM4



7hr33l3t73r

#106
Yok o kadar da basit yapmadim. :)
g&ue+2|w}z
string  decrypto ediliyor ve aciga cikiyor. Iste bizim aradigimiz flag  ta kendisi :)
dc -e '[q]sa[ln0=aln256%Pln256/snlbx]sb207356256404211981204295703670388snlbxq'
https://www.getgnu.org/gnulinux/gnulinux-ipuclari/nasil-akillica-soru-sorulur.html

Reverser


XFCE ROCKS !
Powered by Thunar & XFWM4



karboran

Abi ne yapıyorsunuz siz ya :) . Mesaj burda dursun , konuyu musait zamanımda baştan okuyacağım . Çok eğlenceli duruyor ve eğleniyor görünüyorsunuz :)
Kabin basıncı düştü motorlarda arıza !
Vakit süratle aksın hakimiyet kur nabıza !
İçinden nasıl geldiyse yaz anlat herşeyi ,
Bu mektup varmıcak hayalini kurduğun kıza !

Reverser

Alıntı yapılan: karboran - 13 Şubat 2015 - 16:27:25
Abi ne yapıyorsunuz siz ya :) . Mesaj burda dursun , konuyu musait zamanımda baştan okuyacağım . Çok eğlenceli duruyor ve eğleniyor görünüyorsunuz :)

Hocam buyrun sizide bekleriz katılım az oldu. :)

Alıntı yapılan: 84d80y5 - 13 Şubat 2015 - 04:22:38
Yok o kadar da basit yapmadim. :)
g&ue+2|w}z
string  decrypto ediliyor ve aciga cikiyor. Iste bizim aradigimiz flag  ta kendisi :)

Flag'a ulaşmam yeterli mi değil mi şimdi ? Zira, decrypt işlemi flag ve flag karakter sayısı olan 10 ile işlendiğinde ortaya anlamlı bir şey çıkmıyor.

psuedo code

for(i = 0; i < strlen(); i++)
    {
            cikti[i] = flag[i]^key[i];
    }


key "(signed int) 65535" olabilir mi ?

XFCE ROCKS !
Powered by Thunar & XFWM4



7hr33l3t73r

#110
Alıntı yapılan: Reverser - 13 Şubat 2015 - 16:39:23
Flag'a ulaşmam yeterli mi değil mi şimdi ? Zira, decrypt işlemi flag ve flag karakter sayısı olan 10 ile işlendiğinde ortaya anlamlı bir şey çıkmıyor.

psuedo code

for(i = 0; i < strlen(); i++)
    {
            cikti[i] = flag[i]^key[i];
    }



key "(signed int) 65535" olabilir mi ?
g&ue+2|w}z  encrypt kelimemiz.
Ne oluyor du decrypt ediiyordu.
Decrypt edilen kelime anlamli bir kelimedir.(Bu kesin :) )
kelime cozulmus olrak sizin onu bulmanizi bekliyor.
Gelelim verdiginiz flag'in ne olduguna
Değiştirici = signed
Veri Türü = int
Alabileceği maksimum değer = 65535
Bu durumda kelime olamaz herhalde. :) Keygen Meygen olaylarina hic girmiyorum kafa karismasin diye o yuzden program icinde cozdum.
Tavsiyem programi gerekirse defalarca calistirin adim adim analiz(buraya dikkat)  edin sonucta kelime cozuldukten sonra bir adreste saklaniyordur :)
dc -e '[q]sa[ln0=aln256%Pln256/snlbx]sb207356256404211981204295703670388snlbxq'
https://www.getgnu.org/gnulinux/gnulinux-ipuclari/nasil-akillica-soru-sorulur.html

Reverser

o değer ile kelime tutamaz tabii ki :)

key = "xxxy" (ya da "yxxx" little endian)

string = "g&ue+2|w}z"

10 tekrar ile şifreye ulaşamıyorum. Amacım memory adresi üzerinden şifreye ulaşmak değil şimdilik. Bu mantığı C koduna çevirip, şifreye ulaşmak.

XFCE ROCKS !
Powered by Thunar & XFWM4



7hr33l3t73r

Simdiden kolay gelsin.
Biraz kostek olayim o zaman :)
for(i = 0; i < strlen(); i++)

Burada islem sonrasi arttirma var  ya ben islem oncesi yaptiysam. Olabilir mi? :)
key = "xxxy" (ya da "yxxx" little endian)
Evet bir anahtar tanimlamasi bulunmakta.(08048972)
Bu kadar bilgi yeterli.Diger eksikler icin muracatlar asm amca. optimusbraynlar yaniltabilir :)
dc -e '[q]sa[ln0=aln256%Pln256/snlbx]sb207356256404211981204295703670388snlbxq'
https://www.getgnu.org/gnulinux/gnulinux-ipuclari/nasil-akillica-soru-sorulur.html

Reverser

optimusbrayn derken :D ? Bu arada işlem öncesi zaten psuedo yu yanlış yazmışım ++i şeklinde.

XFCE ROCKS !
Powered by Thunar & XFWM4



karakartala

İyi akşamlar,
Bende bir zamanlar Asm'ye bakmıştım. Karmaşayı görünce bıraktım. http://crackmes.de/ http://www.sctzine.com/crackme/ gibi sitelerden bahseden hiç olmamış. Ben yazayım dedim. Şu anlatımda başlangıç için yeterli görünüyor: http://abdullahog.lu/index.php/hoo-assembly/assembly-giristen-once-son-cikis

Reverser

Alıntı yapılan: karakartala - 14 Şubat 2015 - 23:14:35
İyi akşamlar,
Bende bir zamanlar Asm'ye bakmıştım. Karmaşayı görünce bıraktım. http://crackmes.de/ http://www.sctzine.com/crackme/ gibi sitelerden bahseden hiç olmamış. Ben yazayım dedim. Şu anlatımda başlangıç için yeterli görünüyor: http://abdullahog.lu/index.php/hoo-assembly/assembly-giristen-once-son-cikis

Crackme.de adlı siteden haberim var bilmeyenler için iyi oldu bildirim için teşekkürler.
ASM öğrenmesi pek kolay degil çünkü anlaşılması daha doğrusu, okunması biraz zor.

XFCE ROCKS !
Powered by Thunar & XFWM4



7hr33l3t73r

Alıntı yapılan: karakartala - 14 Şubat 2015 - 23:14:35
İyi akşamlar,
Bende bir zamanlar Asm'ye bakmıştım. Karmaşayı görünce bıraktım. http://crackmes.de/ http://www.sctzine.com/crackme/ gibi sitelerden bahseden hiç olmamış. Ben yazayım dedim. Şu anlatımda başlangıç için yeterli görünüyor: http://abdullahog.lu/index.php/hoo-assembly/assembly-giristen-once-son-cikis
Bilgi icin tesekkurler @karakartala.
Kendisinin yazilarini okumuslugum var sahsen. Ozellkle kernel bolumu.
dc -e '[q]sa[ln0=aln256%Pln256/snlbx]sb207356256404211981204295703670388snlbxq'
https://www.getgnu.org/gnulinux/gnulinux-ipuclari/nasil-akillica-soru-sorulur.html

Reverser


XFCE ROCKS !
Powered by Thunar & XFWM4



7hr33l3t73r

#118
:( Uzgunum.
10 harften olusuyor kendileri.
Bu arada
Sayin Mert SARICA hocamiz odullu bir yarisma duzenliyor .
Pi hediyem var adli.
Biz burada hediye veremiyoruz :(
Yanliz katilim sarti universite ogrencisi  olmak.
Crackme'yi cozun, Raspi'nin B modelini kapin.
Katilacak herkese kolay gelsin.
Adres:https://www.mertsarica.com/pi-hediyem-var/
Kendilerini severek takip ediyorum.
dc -e '[q]sa[ln0=aln256%Pln256/snlbx]sb207356256404211981204295703670388snlbxq'
https://www.getgnu.org/gnulinux/gnulinux-ipuclari/nasil-akillica-soru-sorulur.html

h454n

Hocam gercekten de bir kelime var mi ya :)
ara ara hicbirsey bulamadim ben.
Ayrica paylastiginiz odullu yarismaya baktim hocam benim harcim degil :)
Daha zip dosyasini acamadim birde crackme'yi cozmek var.Kim bilir o crackme de ne entrikalar var :)
Sonuc hazirlayan ahlakli korsan :)

Reverser

@84d80y5, hocam sistem değiştirdiğim için bakamadım bir süre sizden biraz daha zaman rica ediyorum çözümü paylaşmak gibi bir planınız varsa :)

XFCE ROCKS !
Powered by Thunar & XFWM4



7hr33l3t73r

@h454n
Son ipucunu veriyorum.
Programin sonlarina dogru breakpoint atayarak calistrin sonra kelimeyi bulmaya calisin ki encrypt olan kelime decrypt olsun.
@Reverser
Zaman bol senin isin de zor. :)
dc -e '[q]sa[ln0=aln256%Pln256/snlbx]sb207356256404211981204295703670388snlbxq'
https://www.getgnu.org/gnulinux/gnulinux-ipuclari/nasil-akillica-soru-sorulur.html

h454n

Hocam verdiğiniz son ipucundan sonra buldum kelimeyi :)
Kaç gündür ne uğraştırdı hocam bu ya:)

(gdb) > x/s 0x804a084
0x804a084: "s3cr3+flag"

7hr33l3t73r

#123
Tebrikler @h454n dogru flag :)


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 26 Şubat 2015 - 00:31:19

Bu arada Sayin Mert SARICA hocamizin odullu yarismasinla ilgilenen var mi?
28 subat son gun.
Cok zor mu? yapmis ne :)
dc -e '[q]sa[ln0=aln256%Pln256/snlbx]sb207356256404211981204295703670388snlbxq'
https://www.getgnu.org/gnulinux/gnulinux-ipuclari/nasil-akillica-soru-sorulur.html

h454n

#124
Basitinden bende bir tane crackme ekleyim sayın hocalarım.
Çok kolay bir crackme oldu ama  en azından boş kalmasın burası.
http://s4.dosya.tc/server/3ZScm3/crackme_test.zip.html