XboxHacker BBS
 
*
Welcome, Guest. Please login or register.
Did you miss your activation email?
May 22, 2013, 02:26:29 AM


Login with username, password and session length


Pages: 1
  Print  
Author Topic: error disassembling firmware  (Read 4351 times)
nebur
Newbie
*
Posts: 5


View Profile
« on: April 03, 2006, 08:58:17 PM »

Hi I am a newbie. tried doing a search but could not find anything pertaining to my question. i have extracted my firmware and am able to read it in hex workshop and xvi32. When I try to disassemble with dis8051 I encounter the following error: load error in hex file. The firmware is in bin format, I saved it as a hex file to see if there was any difference but I still encounter the same error. any help would be appreciated.

regards,
nebur
Logged
darkfly
Hacker
***
Posts: 97


View Profile
« Reply #1 on: April 03, 2006, 09:21:31 PM »

Read the instructions for dis8051, it clearly states you need to add the /b switch for bin files. Also, since it is a dos program make sure your filenames are 8 characters or less.
Logged
nebur
Newbie
*
Posts: 5


View Profile
« Reply #2 on: April 03, 2006, 10:43:26 PM »

thanks darkfly i was missing the switch
Logged
robby2000
Member
**
Posts: 28


View Profile
« Reply #3 on: April 08, 2006, 05:02:30 AM »

Dissassembly BIN file from dis8051 is OK.
How assembly (compile) 2 back correct BIN file ?  Undecided
Logged
BlueCop
Master Hacker
****
Posts: 316


"When the going gets weird, the weird turn pro."


View Profile
« Reply #4 on: April 08, 2006, 05:19:59 AM »

robby2000:
Quote from: Tiros
1)Dis8051
http://bit.kuas.edu.tw/~8051/
2)Asem51 by W.W. Hienz
http://plit.de/asem-51/
I split the bin into 64K banks before disassembly. The resultant output can be compiled by asem51 to produce the same bin for that bank. You can write/cut/copy your own code, assemble to Intel hex, and patch/overwrite portions of the rom. Beings I had to make connections for all addr/data I connect up LA to those points also. That way I can break the LA on any fragment of code I want. If/when I get a 360, I will just move the wires to it's rom.
I will be providing more info soon on how the Sammy works. Still trying to get the big picture on it. Seems like it IS using memory mapped I/O even though another here said this is not the case. Anybody with info on $8000, $C000, $4000 I/O or DRAM management areas let us know. I have some ideas, but I wont post until I KNOW.

http://www.xboxhacker.net/index.php?option=com_smf&Itemid=33&topic=76.msg2459#msg2459
Logged
robby2000
Member
**
Posts: 28


View Profile
« Reply #5 on: April 08, 2006, 06:25:17 AM »

THX BlueCop  Wink
Logged
n8thegr8
Member
**
Posts: 32


View Profile
« Reply #6 on: May 04, 2006, 10:46:24 AM »

Tiros or bluecop, is there a special setup you have to use for asem-51? my firmware bank file disassembles with dis8051, but when I reassemble it with asem-51, it gives like 272 errors (mostly about symbols). I then compare the original with the reassembled file with hex workshop and it reports anywhere from 400-600 differences. The files have exactly the same number of bytes though, so it seems that random bytes throughout the file for the bank are getting changed when reassembled and/or disassembled. any advice?
Logged
Tiros
Master Hacker
****
Posts: 451


View Profile
« Reply #7 on: May 04, 2006, 02:31:20 PM »

Robby & n8,
I would not expect to recompile the whole thing with out errors. Never tried it, maybe I should have said that it will mostly assemble, IE: the disassembler output is compatible with the assembler input. The idea being that you could directly import parts of the disassebly into your OWN program. Recompiling the original will be of little or no use. However with a little work, I'm sure you can get it to compile to exact original bin. You basically just need to fix up the undefined symbols, look at the .LST ouput too see whats wrong. So lets say you do all that, and you can now assemble to original .bin. You still won't be able to edit the disassembly, inserting code and re-assembling at will, since many constant values will be address dependant. For example if dptr is loaded with the address of a rom table, and the rom table is at different location since you inserted code, the code doesn't work.

So in summary, to create true source code, there can't be ANY hard coded address references. Well mostly none anyway Smiley You will need to understand the program to a large degree. No tool (except your brain) can do this for you. Wink

Logged
n8thegr8
Member
**
Posts: 32


View Profile
« Reply #8 on: May 04, 2006, 10:44:21 PM »

k, so basically, you need to know the ins and outs of how it operates, and basically code your own firmware? or could you just go through after you insert code and shift all the adresses (hell of a lot of work)? basically, what I'm getting at is, for someone who's a n00b with assembly, is it just a waste of time at this point to try and get this working? would I be better off just waiting for someone else to release it? thanks for your help man.
Logged
happy_bunny
Hacker
***
Posts: 59


View Profile
« Reply #9 on: July 16, 2010, 04:21:38 AM »

Hi

first off just used Dosflash32 to read my benq VAD6038 64930C firmware and everything worked great (after I bought a via VT6421a chipset sata card ) so I would just like to say a big thank you to those that programmed dosflash  Smiley   

second I would like to rev the dumped firmware, do I need to unscramble it first ? if so which tool do I need ? also which micro is used on the benq drive 8052 or mn103 (so I can load it up correctly in ida pro).

sorry for the noob questions  Sad I did search for the answer using keyword benq ida / benq firmware but nothing came up

Logged
Pages: 1
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM