Ana içeriğe git

Haberler

Konu: Reverse Enginar (780 Kez okunmuş) önceki konu - sonraki konu

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.
Reverse Enginar
AMAÇ: A bilgisayarındaki kayıt edilen dosyanın içeriğini çözmek.
A bilgisayarı formatını bilmediğimiz (ufak tefek bilgiler mevcut) bir şekilde kaotik bir veriyi (verileri) devamlı kaydediyor. Bunu biz başkaca birinin yazdığı bir Convertorle çevirip, ve başka Yabancı ülkenin yazdığı bir programda display ediyoruz. 1. versiyonda bizim kullandığımız bu Gavur un programı.Ama 3 versiyon olmuş ve biz bu Convertoru yenilememiz lazım. Tabiki kodları elimizde yok. Ozaman yeni bir Convertor yazmamız lazım. Ama PC A daki dosyayı bilmiyoruz. (Kodları Çözebilirsek Bu gavurun YAzdığı Programa ve birsürü isi baypass edeceğiz)


Ynt: Reverse Enginar
Yanıt #1
elimde bir dosya var bunu hex editörle açıp içeriğindeki belli yerleri başka bir dosya olarak kaydetmem lazım.
örneğin
00 03 ile kombinasyonu görürsen 30byte al şu dosyaya
00 02 ile kombinasyonu görürsen 20 byte al  bu dosyaya
kaydet.
diyebileceğim bir hex editör varmıdır. Yoksa yapmak durumundamıyım ;)

Ynt: Reverse Enginar
Yanıt #2
muhittin hocam böyle bir editör bulursanız bizle paylaşın. Bluray disklerin AES keylerini bulmak için banad da lazım. bu tarz işlem yapabilmesi işimi kolaylık sağlar.

Ynt: Reverse Enginar
Yanıt #3
hocam son iki aydır anamdan emdiğim süt burnumdan geldi. bit bit veri seçiyorum. (kaldı ki tamirattan nefret eder, birinin yaptığını çözmektense yeni yapmayı tercih ederim)
şimdi bir yerden yakaladım, ama denemek için tek tek elle yapmam lazım, e makro falan filan bir şey olmalı değil mi ?


Ynt: Reverse Enginar
Yanıt #5
elimde bir dosya var bunu hex editörle açıp içeriğindeki belli yerleri başka bir dosya olarak kaydetmem lazım.
örneğin
00 03 ile kombinasyonu görürsen 30byte al şu dosyaya
00 02 ile kombinasyonu görürsen 20 byte al  bu dosyaya
kaydet.
diyebileceğim bir hex editör varmıdır. Yoksa yapmak durumundamıyım ;)

@muhittin_kaplan macrolarla ugrasmak yerine dogrudan bir python programi yazabilirsiniz.

open('data.txt', 'r') as myfile
data=myfile.read()

diyerek butun dosyayi data degiskenine yukleyebilir ve daha sonra bunu byte byte inceleyebilirsiniz (data[1] dosyanin 1. byte data[87] 87.byte vs gibi)

bu sekilde bir editorden cok daha hizli ve guclu bir islem gucunuz olabilir.

Linux ile calistiginizi yazmistiniz. linux'da file komutu dosyanin tipini, sonek VE "magic" kullanarak belirleyebilir. "magic" bilgisi /usr/share/misc/magic.mgc dosyasindadir. o database'i inceleyebilirsiniz. Ayrica python ile file komutunu isletip sonucuna gore dosya uzerinde islem yapabilirsiniz. Yani secenekler muhtelif

Ama illa editor ve macro olsun derseniz emacs icinde lisp ile program yazabilirsiniz (ms-word icinde vbasic ile kod yazabilir, yada macro calistirabilrisiniz) Bircok editorde de macro yazma kabiliyeti vardir ama editorle yapmak yerine kucuk bir python programi yazmak cok daha kolay olurdu diye dusunuyorum.


  • Son Düzenleme: Mart 27, 2017, 18:24:40 - Mufit Sozen

Ynt: Reverse Enginar
Yanıt #6
hocam  pythonda hellettim bugün. Aşağıdakine benzer birşeyle hallettim. (kodlar iş yerinde)
Kod: [Seç]
while True
    Start=file.find(b'\xff\xc0',Start,file.__len__())
    file.seek(Start)
    file.read(60)#standart uzunluk
    Start=Start+60


  • Son Düzenleme: Mart 27, 2017, 18:49:49 - muhittin_kaplan

Ynt: Reverse Enginar
Yanıt #7
Bende ornek olmasi acisindan soyle bir kucuk prg yazmistim

myfile=open('data.txt','r')
data=myfile.read()
myfile.close()

for ndx in range(len(data)):
   byt=ord(data[ndx])
   print format(byt,'02x'),
   if byt==10: print ''

data.txt:
--------------
12345678901234567890
2345678901234567890
345678901234567890

ekran ciktisi:
>>> ================================ RESTART ================================
>>>
31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 0a
32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 0a
33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 0a
>>>