Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

ASM z HEX
Jdi na stránku 1, 2  Další
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
samec



Založen: Dec 19, 2017
Příspěvky: 4079

PříspěvekZaslal: st únor 24 2021, 10:36    Předmět: ASM z HEX Citovat

Je nejaká rozumná možnosť preložiť HEX kód z ROM do Asembleru? Je to asi 50kB pre procesor MC68HC16Z1. Aspoň nejakú úvodnú inicializačnú sekvenciu. Potrebujem zistiť, čo všetko si to zariadenie pri inicializácií kontroluje, aby som vedel hľadať chybu, prečo to zariadenie nenabehne.
https://www.nxp.com/docs/en/product-brief/MC68HC16Z1TS.pdf



ROM.zip
 Komentář:

Stáhnout
 Soubor:  ROM.zip
 Velikost:  20.26 kB
 Staženo:  1246 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
microlan



Založen: May 09, 2017
Příspěvky: 1647
Bydliště: Kósek vod Brna

PříspěvekZaslal: st únor 24 2021, 10:40    Předmět: Citovat

IDA pro
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mihal



Založen: Apr 06, 2005
Příspěvky: 1834
Bydliště: Zilina

PříspěvekZaslal: st únor 24 2021, 11:20    Předmět: Citovat

Na adrese FFFF je reset vektor na štart programu, podľa inštrukčného setu si to vyskladaj, adresy periférií máš v datasheete. Má to jeden 16b adresný priestor.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
samec



Založen: Dec 19, 2017
Příspěvky: 4079

PříspěvekZaslal: st únor 24 2021, 11:34    Předmět: Citovat

IDA Pro nemám, ani zbytočné stovky dolárov. To nie nevzerá ako rozumné riešenie.

Na FFFF už nič nie je. Dáta končia na C07F. Alebo som niečo nepochopil?


Naposledy upravil samec dne st únor 24 2021, 11:44, celkově upraveno 1 krát.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mihal



Založen: Apr 06, 2005
Příspěvky: 1834
Bydliště: Zilina

PříspěvekZaslal: st únor 24 2021, 11:43    Předmět: Citovat

Prepáč to je už HC16ka, to už má trochu inú štruktúru, má to banky pamäti. Reset tu je v banke 0 na začiatku, PC skáče na adresu ktorá je v 00002.
edit: bacha adr priestor je 20bitový.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
petrfilipi



Založen: Sep 13, 2005
Příspěvky: 2634

PříspěvekZaslal: st únor 24 2021, 11:52    Předmět: Citovat

No myslím si, že tohle není HEX z procesoru, resp. pro jeho naprogramování. BIN soubory jsou standardně image nějaké paměti, kde je nejen vlastní program, ale i různá nastavení.
HEX třeba pro PIC vypadá třeba takto. Je pak samozřejmě přeložitelný zpět do ASM, i když bez dobré znalosti assembleru je to neskutečná pakárna se v tom vyznat. Všechny proměnné jsou nahrazeny čísly registrů apod. I jednoduchý příklad ve vyšším jazyku má poměrně složité vyjádření v ASM.

PF
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
samec



Založen: Dec 19, 2017
Příspěvky: 4079

PříspěvekZaslal: st únor 24 2021, 11:59    Předmět: Citovat

Nie je to originál BIN, asi som to nevhodne pomenoval. Je to cez Arduino načítaný obsah M29F040B.

Ale už to začína dávať zmysel. Najprv som nechápal, čo znamenajú tie čísla na adrese 0. Takže po reštarte to ide na asresu 408 a pri nejakom inom blbom prerušení na adresu 400. Na 408 z toho zatiaľ lezú normálne inštrukcie. Na 400 je NOP a potom nejaké nezmysly? Už sa teším, jak sa do toho zahryznem cez dlhé zimné večery. Lepšie jak krýžovky, či sudoku. Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mihal



Založen: Apr 06, 2005
Příspěvky: 1834
Bydliště: Zilina

PříspěvekZaslal: st únor 24 2021, 12:25    Předmět: Citovat

Preštuduj si to adresovanie, niektoré inštrukcie pracujú s 16b len v rámci bloku, skoky budú 20b, to sa bude blbo prepisovať. Ale pôjde to. Nemáš tých 50kilo len nultý blok?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
samec



Založen: Dec 19, 2017
Příspěvky: 4079

PříspěvekZaslal: st únor 24 2021, 12:33    Předmět: Citovat

Skopíroval som komplet celú pamäť (19-bitová adresa), ale dáta sú len na začiatku. Viď priložený súbor.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Guggy



Založen: Oct 17, 2006
Příspěvky: 71

PříspěvekZaslal: čt únor 25 2021, 12:45    Předmět: Citovat

IDA pro se da nahradit opensource toolem Ghidra od NSA
kód:
https://ghidra-sre.org/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
samec



Založen: Dec 19, 2017
Příspěvky: 4079

PříspěvekZaslal: čt březen 11 2021, 20:10    Předmět: Citovat

Načo je dobrá taká inštrukcia? Prečo +2?
kód:
Mnemonic   Operation          Description            Address   Opcode   Operand   Cycles
TSZ        Transfer SP to Z   (SK:SP) + 2 => ZK:IZ   INH       276F     -         2
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
lesana87



Založen: Sep 20, 2014
Příspěvky: 3327

PříspěvekZaslal: čt březen 11 2021, 20:24    Předmět: Citovat

Že by na vytvoření rámce na lokální proměnné v zásobníku? A +2 by mohlo být o tom, jestli SP ukazuje na poslední uloženou položku nebo na prázdné místo v zásobníku.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
samec



Založen: Dec 19, 2017
Příspěvky: 4079

PříspěvekZaslal: pá březen 12 2021, 21:12    Předmět: Citovat

Snažím sa rozlúštiť ten strojový kód. Zo začiatku to šlo celkom dobre, dokonca z toho vypadlo zopár užitočných informácií, ale potom začali nezmyselné inštrukcie a ja mám pocit, že robím niečo zle, že som asi niečo nepochopil.
sekvencia od adresy 04E0.
kód:
Load 0x06 => B
Transfer B => EK
Transfer (SK:SP) + 2 => ZK:IZ
Jump to Subroutine   (tie dva riadky celkom dole)
Test D for Zero or Minus   (v D je teraz 0x0001, takže nie je Zero)
Long Branch if Equal  (čiže ak je Zero, čo nie je, takže nič, zbytočný kód)
Load 0x06 = >B
Transfer B => YK
Load 0x07FC => IY  (ďalej nepoužité, prepísané o pár krokov nižšie)
Load 0x4D24 => D  (ďalej nepoužité, prepísané o pár krokov nižšie)
Load 0x0000 => IX  (ďalej nepoužité, prepísané o pár krokov nižšie)
Load 0x00 => B
Transfer B => XK
Load 0xAE88 => IX
Load 0x0000 => IY
Load 0x07FC => D

subroutine:
Load 0x0001 => D
Return from Subroutine
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
samec



Založen: Dec 19, 2017
Příspěvky: 4079

PříspěvekZaslal: so březen 13 2021, 16:12    Předmět: Citovat

Môžu byť tie nezmyselné inštrukie nejakou sofistikovane-primitívnou ochranou proti dekompilácií?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
lesana87



Založen: Sep 20, 2014
Příspěvky: 3327

PříspěvekZaslal: so březen 13 2021, 16:52    Předmět: Citovat

Tak může to být nějaká forma obfuskace kódu, ale stejně dobře to můžou být data, která ti disassembler chybně přeložil jako instrukce. Záleží na chytrosti a nastavení toho disassembleru.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2  Další
Strana 1 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.14 sekund