logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak zdekompilować plik .bin z kości flash płyty głównej laptopa?

mbam 17 Lip 2017 17:41 1563 9
REKLAMA
  • #1 16592910
    mbam
    Poziom 3  
    Posty: 4
    Mam plik *.bin skopiowany z kości flash płyty głównej laptopa. Chce go zdekompilowac, tylko jak to zrobić? Jaki typ procesora mam wybrać przy dekompilacji? Bo wyświetla mi sie tylko hex zamiast kodu -kawalek ponizej:
                  dq 22FF7F22FF7F22FFh, 7F22007F22007Fh, 7F22007F22FF7F22h
    seg000:000000000001F008                 dq 22007F22FF7F22FFh, 7F22007F22007Fh, 7F22007F22FF7F22h
    seg000:000000000001F008                 dq 0FFFFFF22007F2200h, 1Bh dup(0FFFFFFFFFFFFFFFFh), 0FFFFFFFFFF7F0DFFh
    seg000:000000000001F008                 dq 1FFh dup(0FFFFFFFFFFFFFFFFh), 3039353533314132h, 0FFFFFFFFFFFF004Bh
    seg000:000000000001F008                 dq 8 dup(0FFFFFFFFFFFFFFFFh), 302D453952415350h, 55523131304C31h
    seg000:000000000001F008                 dq 2 dup(0FFFFFFFFFFFFFFFFh), 0DE11DAFFC8DEED13h, 79896EB65A704484h
    seg000:000000000001F008                 dq 74696C6C65746153h, 0FF00303035412065h, 2 dup(0FFFFFFFFFFFFFFFFh)
    seg000:000000000001F008                 dq 302D453952415350h, 2C55523131304C31h, 4C31303952415353h
    seg000:000000000001F008                 dq 0FFFFFF5552313130h, 5 dup(0FFFFFFFFFFFFFFFFh), 0FFFFFFFFFF100509h
    seg000:000000000001F008                 dq 0E7FFFF00FF45h, 0FFAAFF01FF000000h, 4 dup(0FFFFFFFFFFFFFFFFh)
    seg000:000000000001F008                 dq 0FFFFFFFFFFFFFFF0h, 0Dh dup(0FFFFFFFFFFFFFFFFh), 0FFFFFFFFFFFF0100h
    seg000:000000000001F008                 dq 15h dup(0FFFFFFFFFFFFFFFFh), 612B7A00000000FFh
    seg000:0000000000021248                 dq 517745324F516338h, 7A53444850005549h, 7A6B4E3752704B65h
    seg000:0000000000021248                 dq 7371383937597900h, 0FF0051504732696Eh, 2 dup(0FFFFFFFFFFFFFFFFh)
    seg000:0000000000021248                 dq 0FFFFFFFFFFFFFF45h, 0ABh dup(0FFFFFFFFFFFFFFFFh), 0FFFFFFFFFFFEFF28h
    seg000:0000000000021248                 dq 0FD01FFFFFFFFFFFFh, 4Ah dup(0FFFFFFFFFFFFFFFFh), 0FFFFFFh
    seg000:0000000000021248                 dq 4 dup(0)
    seg000:0000000000021A68                 dq 0FF00000000000000h, 0B1h dup(0FFFFFFFFFFFFFFFFh), 0A55AFFFFFFFFFFFFh
    seg000:0000000000021A68                 dq 940h dup(0FFFFFFFFFFFFFFFFh)
    seg000:0000000000026A00                 db 4 dup(0FFh)
    seg000:0000000000026A04 dword_26A04     dd 0FFFFFFFFh           ; DATA XREF: seg000:000000000000B71Bo
    seg000:0000000000026A08                 dq 1D5Fh dup(0FFFFFFFFFFFFFFFFh)
    seg000:0000000000035500                 db 4 dup(0FFh)
    seg000:0000000000035504 dword_35504     dd 0FFFFFFFFh           ; DATA XREF: seg000:000000000000B739o
    seg000:0000000000035508                 dq 155Fh dup(0FFFFFFFFFFFFFFFFh)
    seg000:0000000000035508 seg000          ends
    seg000:0000000000035508
    seg000:0000000000035508
    seg000:0000000000035508                 end
    
    Załączniki:
    • plik.bin (256 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #2 16593576
    C0FFEE
    Poziom 14  
    Posty: 43
    Pomógł: 18
    Ocena: 8
    Przede wszystkim wybierz 16 bit.
    Żeby zobaczyć kod wybierz punkt wejścia i wciśnij C.
  • REKLAMA
  • #3 16596221
    mbam
    Poziom 3  
    Posty: 4
    Jakim programem?
  • REKLAMA
  • #4 16596549
    C0FFEE
    Poziom 14  
    Posty: 43
    Pomógł: 18
    Ocena: 8
    Z tego co widzę używasz IDA Pro. Jak nie trafiłem, to skrót C pewnie nie zadziała, ale wciąż musisz zrobić te dwie rzeczy - ustawić tryb 16-bit, bo w takim działa BIOS, oraz wskazać punkt wejścia, ponieważ deasembler nie wie gdzie się zaczyna program.
  • #5 16597179
    BANANvanDYK
    Poziom 43  
    Posty: 7738
    Pomógł: 1163
    Ocena: 2577
    Zawartość kości Bios to taki .zip zawierający od kilkudziesięciu do ponad 100 modułów. Do tego trzeba innych narzędzi. Jak chcesz się bawić w reverse engineering to właśnie w pierwszej kolejności konieczne jest użycie tych narzędzi w celu rozpakowania Biosu, a potem bawienie się modułami gdzie są np. sterowniki grafiki czy moduły trybu UEFI. Ja bym zaczął od znalezienia softu od EC (wbudowanego kontrolera), zwykle to rdzeń 8051 więc łatwy do deassembacji, a ten układ steruje całym sprzętem. Obecnie rozgryzienie jak to wszystko działa to już nie jest taki łatwy temat.
  • REKLAMA
  • #6 16597485
    mbam
    Poziom 3  
    Posty: 4
    Ten plik ma tylko 256kB, skopiowałem go z tej kości Link do schematu. Po prostu chce go zdekompilować i zmienić w kodzie skrót klawiszy, ktory uruchamia pewną funkcje w laptopie. Nie ma w tej kości biosu, tylko jest jakiś program który steruje biosem. Nie wiedziałem że to będzie takie trudne.
  • #7 16598632
    oloam
    Poziom 22  
    Posty: 683
    Pomógł: 50
    Ocena: 197
    Skad masz pewnosc, ze to jest program a nie 'czyste' dane,ktore sa wczytywane w miare potrzeby ?
  • #8 16598840
    xury
    Specjalista automatyka domowa
    Posty: 7078
    Pomógł: 878
    Ocena: 1492
    mbam napisał:
    Po prostu chce go zdekompilować i zmienić w kodzie skrót klawiszy,

    Nie chcesz go zdekompilować tylko zdiassemblować. Do tego właśnie służy IDA Pro. Tylko raczej zaskoczysz się kodem wynikowym po tym procesie. To nie będzie czysty przejrzysty kod.
  • #9 16599086
    tzok
    VIP Zasłużony dla elektroda
    Posty: 38747
    Pomógł: 3170
    Ocena: 6493
    Dodam jeszcze, że moduły BIOS-Setupu są często (zawsze) skompresowane. Skąd przekonanie, że kod odpowiedzialny za obsługę skrótów klawiszowych jest właśnie w tej pamięci? Wynikiem deasemblacji jest wyjątkowo mało czytelny kod w assemblerze, a 256kB (2Mbit) kodu maszynowego to baaaardzo dużo.
  • #10 16600845
    BANANvanDYK
    Poziom 43  
    Posty: 7738
    Pomógł: 1163
    Ocena: 2577
    mbam napisał:
    Po prostu chce go zdekompilować i zmienić w kodzie skrót klawiszy, ktory uruchamia pewną funkcje w laptopie

    To właśnie szukałbym we wsadzie EC który kontroluje klawiaturę.

Podsumowanie tematu

✨ Użytkownik posiada plik .bin skopiowany z kości flash płyty głównej laptopa i chce go zdekompilować. W odpowiedziach zasugerowano, aby wybrać tryb 16-bitowy, ponieważ BIOS działa w tym trybie, oraz wskazać punkt wejścia w programie IDA Pro. Zawartość kości BIOS może być skompresowana i zawierać wiele modułów, co utrudnia dekompilację. Użytkownik zauważył, że plik ma tylko 256 kB i zawiera program sterujący BIOS-em, a nie sam BIOS. Wskazano, że kod wynikowy z deasemblacji może być trudny do zrozumienia, a także zasugerowano, aby poszukać kodu odpowiedzialnego za obsługę skrótów klawiszowych w module EC, który kontroluje klawiaturę.
Wygenerowane przez model językowy.
REKLAMA