- Katılım
- 24 Şubat 2018
- Mesajlar
- 24,139
Şifreli olan EEPROM imajını açtıktan sonra kod ve veriler görünüyor, ama buradaki binary yapı, işlemcinin hafızasında çalışan programın yapısına tam olarak karşılık gelmiyor. Şifresi açılan yapı, peş peşe gelen binary bloklardan oluşuyor ve işlemcinin dahili ROM'undaki boot kodu, bu blokları tek tek okuyup RAM belleye kopyalıyor. Bu blokların hepsi kopyalandıktan sonra asıl program bellekte oluşturulmuş oluyor. Burada gereken, aynen bu ROM kodunun yaptığı gibi blokları tek tek derlemek ve RAM bellekte oluşacak programı oluşturmak.
Bu noktada şöyle düşündüm. elftosb programı ile SB formatındaki şifreli dosya elde ediliyor, ama bize tersi lazım, sbtoelf. Hakkaten de bunu aratınca aşağıdaki proje çıkıyor:
Burada sbtoelf.c diye bir program var. Bu depo, bir çeşit açık kaynak müzik çalar ailesinin firmware dosyalarını barındırıyor. Bana diğer yüzlerce bileşen lazım değil, sadece sbtoelf lazım. Bu programı tek başına derler hale getirmek için biraz uğraştım ve sonunda bağımsız olarak derleyip programı oluşturdum.
Bu noktada şöyle düşündüm. elftosb programı ile SB formatındaki şifreli dosya elde ediliyor, ama bize tersi lazım, sbtoelf. Hakkaten de bunu aratınca aşağıdaki proje çıkıyor:
rockbox/utils/imxtools/sbtools at master · Rockbox/rockbox
Read-only mirror of rockbox' main repository. Contribute to Rockbox/rockbox development by creating an account on GitHub.
github.com
Burada sbtoelf.c diye bir program var. Bu depo, bir çeşit açık kaynak müzik çalar ailesinin firmware dosyalarını barındırıyor. Bana diğer yüzlerce bileşen lazım değil, sadece sbtoelf lazım. Bu programı tek başına derler hale getirmek için biraz uğraştım ve sonunda bağımsız olarak derleyip programı oluşturdum.
Bash:
[ta@bonsai elftosb]$ ../rockbox/utils/imxtools/sbtools/sbtoelf --help
Usage: sbtoelf [options] sb-file
Options:
-h/--help Display this message
-o <prefix> Enable output and set prefix
-d/--debug Enable debug output*
-k <file> Add key file
-z Add zero key
-r Use raw command mode
-a/--add-key <key> Add single key
-n/--no-color Disable output colors
-l/--loopback <file> Produce sb file out of extracted description*
-f/--force Force reading even without a key*
-1/--v1 Force to read file as a version 1 file
-2/--v2 Force to read file as a version 2 file
-s/--no-simpl Prevent elf files from being simplified*
-x Use default sb1 key
-b Brute force key
--ignore-sha1 Ignore SHA-1 mismatch*
Options marked with a * are for debug purpose only
[ta@bonsai elftosb]$