Fansite and Forum for Meizu Products
 
       

Go Back   Meizu Me > Meizu Product Discussions > miniPlayer M6 / SL > Technical

Reply
 
Thread Tools
Old 09-02-2007   #1
Freshman
 
Join Date: Jun 2007
Posts: 24
The Possibility of Fully Reverse Engineering the Firmware?

Hi all

Just so I'm clear in my head.

Can anyone in the world take the .bin firmware, reverse engineer it and build a new firmware with changes?

If this is not possible - what are our options to enhance the firmware without Meizu?

I would be very interested in arranging some tech. people to look into this, just need to know the options we have, who we would need etc.

Johnny
zenmaster nincs online   Reply With Quote
Old 09-02-2007   #2
mfb mfb is on a distinguished road
Member
 
Join Date: May 2007
Location: The Netherlands
Posts: 220
Reverse-engineering the whole firmware would be a bit harsh if you would ask me. It's much easier to reverse-engineering a part of it and port Rockbox to the M6.

What would be ever better is Meizu releasing sourcecode or specs however.
mfb nincs online   Reply With Quote
Old 09-02-2007   #3
Member
 
Join Date: Jul 2007
Posts: 237
I don't think anyone at this forum knows how to do this..!

The only thing i can do is visual basic...:P
dravik nincs online   Reply With Quote
Old 09-02-2007   #4
Junior Member
 
Join Date: Jul 2007
Posts: 52
The firmware is most likely written in assembly language. It would be difficult to reverse engineer.
Lexridge nincs online   Reply With Quote
Old 09-02-2007   #5
Moderator
 
BobbyQ's Avatar
 
Join Date: May 2007
Posts: 2,598
Quote:
Originally Posted by Lexridge View Post
The firmware is most likely written in assembly language. It would be difficult to reverse engineer.
if it were written in assembly language we would just have to disassemble it reverse engineering normally describes the strategies to get back a readable "source code" of a high programming language.
I'd never spent my precious time on reverse engineering the Meizu Firmware. Why should I do Meizu's homework ?
__________________
BatMan, the free video converter for Meizu players. Problems ? English First Aid here. Deutsche Erste Hilfe hier.
Join the Meizume Chatroom at irc://dalnet/meizume ! Firefox Users : get the Chatzilla Plugin. Other Browsers : open a java chat at www.dal.net and enter "/join #meizume"

Last edited by BobbyQ; 09-02-2007 at 10:32 PM.
BobbyQ nincs online   Reply With Quote
Old 09-02-2007   #6
Valued Member
 
DChronos's Avatar
 
Join Date: Dec 2006
Location: Middle of the U.S.
Posts: 347
Heh, that's well put, BobbyQ... though someday if we got some people as devoted to trying as people are with game systems, I'm sure someone could build a new firmware, and changing everything. I think building from scratch would be the best option so that everything implemented could be incorporated and integrated into each part and stuff. It would take more work, but it would be nice to fix all the bugs as you built it instead of building over code that may work differently and have bugs.
__________________
DChronos nincs online   Reply With Quote
Old 09-03-2007   #7
Freshman
 
kiloscott's Avatar
 
Join Date: Apr 2007
Location: Berkeley, CA
Posts: 44
Hey,

This may be of some help:

http://forum.videohelp.com/topic314821.html#1620786

This guy (probably Err0r's mailman) extracted the firmware off a Philips 5960 DVD player with a serial data cable and posted it to the group. Various coders screwed around with it, posted the results, and we all now have groovier 5960 players. I don't understand all the details, but, if you have expertise in this area, it does seem doable. He provides several useful photos and links.

Scott
__________________
Black Dane-Elec US 4GB M6
Firmware: S2002.3 from Dane-Elec US
George Bush can just eat me
kiloscott nincs online   Reply With Quote
Old 09-03-2007   #8
Member
 
gilliu00_'s Avatar
 
Join Date: Aug 2007
Location: Brisbane
Posts: 104
sounds good
gilliu00_ nincs online   Reply With Quote
Old 09-03-2007   #9
Junior Member
 
Join Date: Jul 2007
Posts: 52
Quote:
Originally Posted by BobbyQ View Post
if it were written in assembly language we would just have to disassemble it reverse engineering normally describes the strategies to get back a readable "source code" of a high programming language.
I'd never spent my precious time on reverse engineering the Meizu Firmware. Why should I do Meizu's homework ?
Assembly is NOT like C. It is machine code. Lots of direct memory calls, and works strictly with binary addressing.

Here is a short snipplet for a Calculator program in x86 assm code:
Quote:
START:
;---------------------------------------------------------------------;
; TEST FOR PRESENCE OF CALCULATOR ;
;---------------------------------------------------------------------;
SUB AX,AX
MOV ES,AX
SUB BH,BH
MOV BL,INT_NUMBER
SHL BX,1
SHL BX,1
MOV DI,ES:[BX]
MOV ES,ES:[BX+2]
ADD DI,4
LEA SI,TAG
MOV CX,TAG_LEN
REPE CMPSB
JE CALL_CALC
MOV BX,SCREEN_HANDLE
MOV CX,MESSAGE_LEN
LEA DX,MESSAGE
MOV AH,40h
INT 21h
JMP SHORT CALC_EXIT
;---------------------------------------------------------------------;
; CALL CALCULATOR ;
;---------------------------------------------------------------------;
CALL_CALC:
MOV AL,INT_NUMBER
MOV BYTE PTR INT_CODE,AL
DB 0CDh ; INT
INT_CODE:
DB 00h
NOP
NOP

CALC_EXIT:
INT 20h

CALC ENDP

CODESEG ENDS
END CALC
Keep in mind that assm code written in x86 code will NOT work in the ARM Samsung chip used in the M6. Someone would have to learn the assm language for THAT PARTICULAR CPU. Lots of time involved, unless the reverse engineer already has that knowledge. It's certainly possible, just not plausible.
__________________
Lexridge nincs online   Reply With Quote
Old 09-03-2007   #10
Moderator
 
BobbyQ's Avatar
 
Join Date: May 2007
Posts: 2,598
Quote:
Originally Posted by Lexridge View Post
Assembly is NOT like C.
who said it was.
BobbyQ nincs online   Reply With Quote
Old 09-03-2007   #11
Valued Member
 
DChronos's Avatar
 
Join Date: Dec 2006
Location: Middle of the U.S.
Posts: 347
I think he was making a reference, as you had made it sound like disassembling the code was something somewhat easy in how you went about saying it... and maybe Lex can say that doing that with C code, that it works that way. If that's it, he was making a reference that disassembling the code wouldn't be like disassembling C code, it would be a lot harder and near impossible.
__________________
I swim through a sea of stars, without looking back to shore...
Faster than light, bending time. Forever. Wherever.

~R-Type Final
DChronos nincs online   Reply With Quote
Old 09-03-2007   #12
Moderator
 
BobbyQ's Avatar
 
Join Date: May 2007
Posts: 2,598
yeah DChronos, disassembling is too complicated ...

BobbyQ nincs online   Reply With Quote
Old 09-03-2007   #13
Junior Member
 
audiofish's Avatar
 
Join Date: Dec 2006
Location: Cornwall, UK
Posts: 89
Quote:
Originally Posted by BobbyQ View Post
yeah DChronos, disassembling is too complicated ...

Yes, that is in fact x86 code you did just disassemble there - congratulations (for anyone else who wants to try it open a command shell and type "debug calc.exe").

Now you just have to find a half decent ARM disassembler - there are only a handful around and none of them allow you to step through the code like you would with x86.

Once you have that you then need to interpret the machine code instructions. With a typical program you would find tens of thousands of pretty cryptic lines of these instructions.

Have fun, BobbyQ!
__________________
~audiofish~

Last edited by audiofish; 09-03-2007 at 01:55 PM.
audiofish nincs online   Reply With Quote
Old 09-03-2007   #14
Moderator
 
BobbyQ's Avatar
 
Join Date: May 2007
Posts: 2,598
audiofish, I said disassembling is easy. I never said reverse engineering is easy ! If you would like to refer to what I have said, please use the quote function.
Other than that, I see no reason to get offensive !
Quote:
Originally Posted by BobbyQ
reverse engineering normally describes the strategies to get back a readable "source code" of a high programming language.

Last edited by BobbyQ; 09-03-2007 at 05:17 PM.
BobbyQ nincs online   Reply With Quote
Old 09-03-2007   #15
Junior Member
 
Join Date: Jul 2007
Posts: 52
Most programmers would most likely use Linux to disassemble ARM code, as there are many more tools (and ARM emulators) available for Linux than for Win32. There are several web pages dedicated to this. I will look them up later and post them. I used to have a lot of these tools when I used to hack on my Sharp Zaurus 5500.
__________________
Lexridge nincs online   Reply With Quote
Old 09-03-2007   #16
Freshman
 
Join Date: Jun 2007
Posts: 24
Ah cool Lexridge, that would be a start.

Ok, from the comments, I understand that this isnt such a easy process. It would be handy to bribe a Meizu engineer and get the source or at least some proper documentation.

Maybe we could start a "Bribe the Engineer" donation fund.
zenmaster nincs online   Reply With Quote
Old 09-03-2007   #17
Administrator
 
Err0r's Avatar
 
Join Date: Nov 2006
Location: Stockholm
Posts: 1,506
Quote:
Originally Posted by zenmaster View Post
Ah cool Lexridge, that would be a start.

Ok, from the comments, I understand that this isnt such a easy process. It would be handy to bribe a Meizu engineer and get the source or at least some proper documentation.

Maybe we could start a "Bribe the Engineer" donation fund.
I don't know about donations. Last time I attempted to collect donations for a new server (Birthday Celebration), it ended up with 1 member out of 7,000+ donating.
Err0r nincs online   Reply With Quote
Old 09-03-2007   #18
Freshman
 
Join Date: Jul 2007
Posts: 37
Doesn't IDA also have an ARM dissembly function?
trhent nincs online   Reply With Quote
Old 09-04-2007   #19
Valued Member
 
DChronos's Avatar
 
Join Date: Dec 2006
Location: Middle of the U.S.
Posts: 347
This sounds pretty cool.

What's the possibility of someone being able to write new firmware compared to disassembling and reverse engineering?

Also, I had no idea there were emulators for that... What exactly IS ARM? What's it stand for?

To Err0r: when did that happen? Also, nowadays, most places online holding donations really don't get anyone to contribute, unfortunately... I've seen it all over. I'm donating something to the place hosting my site for free offering all they do because noone else does, and that's pretty cool they're doing that.
DChronos nincs online   Reply With Quote
Old 01-12-2008   #20
Stalker
 
Join Date: Jan 2008
Posts: 1
nice idea ,but how to realize ?
tacchan1 nincs online   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
possibility to get the sound of T1007 back? andreasjungmann Video and Imaging 0 07-20-2007 08:12 AM


All times are GMT. The time now is 03:02 AM.


Powered by vBulletin. Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.
 
Meizu Me is an independent resource for all things Meizu. Meizu, Mini Player, Music Card, Mini One and all other related names are properties of MEIZU Inc. All content © 2008 Meizu Me. All Rights Reserved.