How do you mod firmware?

vbimport

#1

I have a little too much spare time recently and would like to learn how to mod firmware. Can anybody here get me started on the right foot? I have background in C++, VB, Cobol, and Assembler. Modding the firmware for my ND-3520A seems like as good of a project as any.

Links to some software that you use and maybe a quick example would work, thanks.


#2

Get yourself a NEC V850 disassembler (Hitachi H8 for previous drives) and have a look at the listing. You’ll find some information about the used commands here and if you take a closer look at the firmware, you’ll find a list of mediacodes, writing strategies and information on which strategies are used for which media.

Unfortunately I have no software or example I can share at the moment.


#3

Well… it’s not that simple. A HEX editor and Visual C++ is all I use for modding.


#4

@all
Before this thread developes, and more members start asking about modding firmware.

It’s not recommended you start playing with a HEX editor on firmware, unless you know exactly what your doing. Not unless you want a new NEC door stop.


#5

I did a quick search for a V850 disassembler and did not come up with a whole lot. Can anybody name a few specific ones, or do you all use the hex/c++ method mentioned by Quickee?

@Quickee
How do you work using hex/c++? A quick explanation would be awesome…


#6

Well… for modding the firmware to speed up disc you don’t need the disassembler but you have to modify some values or and MID codes in the firmware. And this is done then by Hex editor. Then I have created a program(patcher of some sort) in C++ that does this for me. The other thing is calculating the checksum… this can’t be done in a Hex editor… you have to make a function in C++ that recalculates it for you.


#7

Well, it is pretty nice to know that some people really
do share their knowledge! :slight_smile:


#8

This is all very interessting, but didn’t you guys decide a while back that this type of info shouldn’t be availible to the general public? I can see many paperwieghts in our future. Just suprised thats all. Looks like you guys gave just enough info for someone to hurt themselves with…


#9

No, the consensus is that there shouldn’t be an Idiots guide to firmware patching, and if someone can’t figure out a simple checksum algorithm without being given source code, they really should not be patching.

It’s not a matter of not sharing either, because things are shared, but sharing is a two way street.

The information provide so far in this thread are hints, they should be sufficient for those with motivation to find what they need, and infact the most motivated can succeed with even less or zero information. A C compiler and Google have always been sufficient for us.

Brother Vlad


#10

Thanks for the tips so far.

Well, I started with the hex editor and ended up with a couple pages of notes, trying to find the pattern before the lightbulb went off with my head. I think I have the writing strategy and speed stuff figured out (for the most part).

I will post a couple examples later, if you guys wouldn’t mind making sure that I am thinking correctly on this stuff.

And don’t worry, I have many more questions left, but this will do until my classes are done for the day.


#11

You appear very condescending !

There is nothing you know, that didn’t come from standing on the shoulders of others before you. A C compiler and google has always been sufficient you say. So if someone else hadn’t invented those, what would you have done?

The requested info, that you or anybody else here for that matter has, should be common knowledge and readily available. And only reason to be otherwise is maybe because of a feeling of personal power or importance by those who currently control it.

Also, as for not allowing things like an Idiots guide to firmware patching, thats just nonsense. Do you really think it is a much better idea that people who are refused any real help should just experiment anyway and therefore have a much better chance of creating DOORSTOPS or PAPERWEIGHTS with their DVD hardware?

And as for this two way street you mention; Why do you think new people will share all their findings with you, when it is like drawing teeth just to get basic info on firmware modding.

Not everybody will want to do their own thing, but those that do should be given as much help and encouragement as they can take !


#12

@jimmor
So far you have made 7 posts on this forum. 5 of them disrespectful to other members. I already gave you a friendly warning about this in another thread.
Let me remind you, you are here as a guest.
Show some respect to the people who actually know what they are talking about, and modify your behavour on this forum.


#13

I assumed this forum was like others where help and encouragement is given when requested. And therefore my comments were pertinent to posts and thus not aimed at specifically being disrespectfull. In fact possibly the other way around, as it appears that newbies are not allowed to question why knowledge is harmfull to them.

So please don’t assume I don’t know what I am talking about, or conversely that the people I post replys to know more than me. Don’t just mark me down as only another uneducated newbie who recently bought a NEC 3520A and came here for help.


#14

@jimmor
Give the credits back to those who deserve it : TDB, Herrie, Quikee2 and certainly many others…

Don’t you think that having an Idiots guide to firmware patching is complete nonsense ? You have to know what you do when you’re modding a software that has a tight relation to hardware… It’s like if you wanted to know how to mod your hardrive firmware to speed up read and/or write : dangerous !

I can remember a project in my company where people (re)developped an IDE firmware for a specialized piece of hardware : it was a complete failure at first. And believe me those people weren’t noobs, but they had to call a specialized company to the rescue to overcome the different issues (thermal calibration, and that kind of stuff that you even don’t think of when you’re designing a firmware for the first time, like an Idiot:bigsmile: )


#15

Hi daredare,

Believe me I give a huge amount of credit to the people you mention. Since they have used their knowledge to help probably thousands of people, including me.

And once again I am not being disrespectful; however yes, I do think not having things like an Idiots guide to firmware patching is nonsense !

I totally accept that modding the firmware on any hardware can cause serious problems. However I believe you will never stop people from doing whatever they can to achieve better performance from their kit. Hence forums like this.

In the past, and because of a deep desire to minimise the number of Paperweights likely to be produced by newbies, I posted such laymans guides. My guides were however specifically directed at graphics bios modding, and therefore not exactly like the DVD firmware being addressed here.

Also, my interest in bios modding originally started because of a need for a no cost means of improving my computers graphics performance. Heard rumours that great things can be achieved from bios mods, and everything developed from there.

And no matter how much time I put into developing my understanding on graphics card bios’s, I never really felt the knowledge was mine, or of any real value if kept to myself, so had no qualms in sharing it.

Prior to produceing any “idiots guide”, I kept reading posts on many peoples serious failures as they worked through their trial and error phases. And believe it or not, problems were much reduced when newbies were pointed in the right direction on how to do things properly and safely.


#16

Information Wants To Be Free!
Everything Else Is Bullshit!!!


#17

@jimmor
From what you describe, that’s not an Idiot’s guide that you need, but merely an advanced guide… the kind of things that you find (hopefully or not, it depends on your point of view) only in certain circles, after proving your value !

@Basil007
So what ? Imagine you’ve got every piece of information you need to build from scratch a DVD Writer… Do you still want to build a complete fab line in your garden to get the best of it ? (then you need even more info, to get the best out of your fab line, and so on indefinitely).
Wanting it all free is an illusion… or an ideal. It’s good to be idealist, at least not for a too long time period :iagree:

Let’s stop here the discussion, it does not add any piece of valuable info to this forum :slight_smile:


#18

@daredare

Maybe I want to build everything from scratch or maybe I don’t.
Please let me decide that instead of you! (or anyone else)

The point is that knowledge should be available to the public.
It is all about freedom of choice.

P.S. What’s wrong about being an idealist?


#19

I’m not going to take away firmware modding from Quikee and Liggy & Dee. No way… I don’t know anything about it and certainly don’t want to frag my drive so I’m not anxious to attempt it at any rate. I’ll let the people that know do that for me since they do such an excellent job of it. :wink:

Besides, the NEC 3500AG is too small to be used as a door stop. hehe


#20

OK, I was getting somewhere last night, but after I slept, I lost my entire train of thought.

Take this line for example:

01 50 56 43 30 30 31 30 30 31 20 20 20 50 01 00

Red appears to be a number that is grouping similar media together. I assume this is so the media that are similar can use the same write strategies.

Blue is most definitely the disc identifier. Appears to be a standard length depending on the media type (12 bytes for DVD-R).

What are the green numbers specifying? (For DVD-R) the first byte varies between 50 and 52, and the second byte varies between 01 and 00. The third byte is always 00.

As for some help understanding the strategies. The strategies for each media type seem to be stored in a section directly above the “media list” section. Here is an example section of a few (of what i believe to be) write strategies:

                                                   E8 03 00 04               è...
00 00 4B 00 34 2B 22 20  34 24 2B 20 20 18 26 2A   ..K.4+" 4$+  .&*
20 20 18 24 2A 20 20 18  24 2A 20 20 18 25 2A 20     .$*  .$*  .%* 
20 18 25 2A 20 20 18 25  2A 20 20 18 25 2A 20 20    .%*  .%*  .%*  
18 25 2A 20 20 18 01 01  01 01 00 00 00 00 0A 06   .%*  ...........
0F 20 20 00 2E 09 30 00  E8 03 00 04 00 00 4B 00   .  ...0.è.....K.
2E 32 22 00 2C 1F 32 20  10 18 17 30 20 10 18 12   .2".,.2 ...0 ...
30 20 10 18 10 30 20 10  18 10 30 20 10 18 10 30   0 ...0 ...0 ...0
20 10 18 10 30 20 10 18  10 30 20 10 18 10 30 20    ...0 ...0 ...0 
10 18 01 01 01 01 00 00  00 00 1E 04 07 20 18 00   ............. ..
AE 06 2A 00 E8 03 00 04  00 00 4B 00 2D 32 25 00   ®.*.è.....K.-2%.
2C 14 31 20 10 12 12 30  20 10 12 12 30 20 10 12   ,.1 ...0 ...0 ..
10 30 20 10 12 10 30 20  10 12 10 30 20 10 12 10   .0 ...0 ...0 ...
30 20 10 12 10 30 20 10  12 10 30 20 10 12 01 01   0 ...0 ...0 ....
01 01 00 00 00 00 14 04  07 14 12 00 AE 06 2A 00   ............®.*.
E8 03 00 04 00 00 4B 00  32 31 25 00 31 27 31 20   è.....K.21%.1'1 
10 12 17 30 20 10 12 12  30 20 10 12 10 30 20 10   ...0 ...0 ...0 .
12 10 30 20 10 12 10 30  20 10 12 10 30 20 10 12   ..0 ...0 ...0 ..
10 30 20 10 12 10 30 20  10 12 01 01 01 01 00 00   .0 ...0 ........
00 00 14 04 07 14 10 00  C8 05 25 00 E8 03 00 04   ........È.%.è...
00 00 4B 00 35 2B 21 20  34 25 2B 20 20 18 26 2A   ..K.5+! 4%+  .&*
20 20 18 24 2A 20 20 18  24 2A 20 20 18 25 2A 20     .$*  .$*  .%* 
20 18 25 2A 20 20 18 25  2A 20 20 18 25 2A 20 20    .%*  .%*  .%*  
18 25 2A 20 20 18 01 01  01 01 00 00 00 00 0A 06   .%*  ...........
0F 20 20 00 E4 07 32 00  E8 03 00 04 00 00 4B 00   .  .ä.2.è.....K.
39 20 21 00 39 2A 20 20  20 20 2C 20 20 24 20 28   9 !.9*    ,  $ (
20 20 28 20 25 20 20 28  20 25 20 20 28 20 25 20     ( %  ( %  ( % 
20 28 20 25 20 20 28 20  25 20 20 28 20 25 20 20    ( %  ( %  ( %  
28 20 02 02 02 02 00 00  00 00 0A 04 0F 20 20 00   ( ...........  .
D2 09 31 00 DD 04 00 04  00 00                            Ò.1.Ý.....

I have looked at the hex, text, and even binary, and have not yet solved how the strategies are linked to the different media (or groups?) and how to tell what each strategy is specifying (allowed speeds, etc).

If you guys do not want this info spreading the boards, I am not going to argue, but would at least like to get your help through some PM’s.
Once I get the necessary info, I like the idea of making a patcher and may start on that for kicks. I found a link to NEC’s V850 disassembler, but I do not have the required password to download it, so I am stuck with the hex for now.

Thanks!