Welcome, Guest. Please login or register.
Did you miss your activation email?

Username: Password:


Pages: [1]   Go Down

Author Topic: Is it possible to reverse engineer LifeOS?  (Read 8019 times)

alexlloyd54

  • Following the footsteps
  • * Posts: 10
  • Male
Is it possible to reverse engineer LifeOS?
« on: October 04, 2009, 07:24:29 AM »

Hello

First, i would like to thank you all for this great and informative site, I've been a silent reader for a couple of months since the day I bought my Pleo.


I have a question, it might sound silly (or precisely) stupid, my question or inquiry is:

Is there a way to reverse engineer the code inside Pleo, I mean the LifeOS!

I know(actually not sure)  that by using (Dimomite) you could grab the OS from the EPRom inside the Pleo, and it's in a Binary (Object) format.

Is there a way to run any disassembler or any other tool against this code to create a source code of the operating system?

I'm interested to learn how the LifeOS works, i mean the internals of it.


Thank you,,,
Logged


I was sad for I had no shoes, until I met a man who had no feet!

InmemoryofRomeo

  • Global Moderator
  • Pleo Grand Master RB
  • * Posts: 6903
  • au Female
  • Pleo(s): Lilo, Stitch, Pleakley, Jumba, Nani, Yuki, Angus, Pluto
  • : 2011 winner2009 winnerTomato Harvest Festivals
  • SAVE THE EARTH It's the only planet with chocolate
    • Professor
    • Wile_E_Coyote
    • Marcie
Re: Is it possible to reverse engineer LifeOS?
« Reply #1 on: October 04, 2009, 04:27:27 PM »

I have absolutely no idea I am afraid but check out the PDK and see if that has any relevant information :) You can download it from the Pleo world website :)
Logged
Eagerly awaiting Vector and Blue!

DragonGirl

  • Outstanding in the herd
  • **** Posts: 63
Re: Is it possible to reverse engineer LifeOS?
« Reply #2 on: October 04, 2009, 06:27:20 PM »

I'm supposing with a lot of work you could.
I think it would be a terribly tedious job, I bet the PDK has a lot of clues to start with.
but I'd rather get hired by them :)
Logged

grumpy

  • Administrator
  • Pleosmith
  • * Posts: 599
  • we Male
  • : 2008 winnerTomato Harvest Festivals
    • Skipper
    • Wile_E_Coyote
    • Statler
    • Lucy
    • Bob the Pleo
Re: Is it possible to reverse engineer LifeOS?
« Reply #3 on: October 04, 2009, 08:41:35 PM »

The PDK gives you most of the source code for the latest OS.  No need to reverse engineer it.
Logged

justbede

  • Pleo visionary
  • * Posts: 260
  • Male
Re: Is it possible to reverse engineer LifeOS?
« Reply #4 on: October 05, 2009, 03:44:36 PM »

The PDK gives you most of the source code for the latest OS.  No need to reverse engineer it.

Where abouts in the kit is it stored?

It thought it would be cool to have an unbuild feature if that was possible.
Logged
Innvo Labs, creating life since 2009

PleoPet

  • Pleontologist
  • * Posts: 162
  • Female
Re: Is it possible to reverse engineer LifeOS?
« Reply #5 on: October 15, 2009, 02:44:04 PM »

>>Is there a way to reverse engineer the code inside Pleo, I mean the LifeOS!
> The PDK gives you most of the source code for the latest OS.

Unfortunately that is not true.
All the source code to the Pleo firmware is closed source.

DISCLAIMER: "LifeOS" is both a marketing term (when UGOBE was trying to sell it to other companies) and a technical one. I'm basing it on the description in the documentation.
By that definition: LifeOS is the ARM program (written in "C") that runs the PLEOPM program as well as other programs written with the PDK.

For more details see my woefully out of date website: http://www.aibohack.com/pleo/tech1.htm
----
The main CPU firmware "LifeOS" is closed source. ARM code filling most of the 256KB of Flash ROM in the main CPU.
This is originally written in "C", but the "C" source code is not available.
Easy to disassemble with various ARM disassemblers (not free IDA-Pro recommended), but all you get is ARM assembler.

Not to be confused with the personality "PLEOPM"
The main personality. Closed source.
A "Pawn" interpreted program. Program and data (sound, motions etc) filling most of the 4MB of data store.
I have written tools to reverse engineer it, including making up Pawn compilable source.

------
The simpler answer is to get the company to release their source. I gave up after a year of asking UGOBE for it (and a public release of the PDK). Hopefully the new company will be more open minded.

Logged

grumpy

  • Administrator
  • Pleosmith
  • * Posts: 599
  • we Male
  • : 2008 winnerTomato Harvest Festivals
    • Skipper
    • Wile_E_Coyote
    • Statler
    • Lucy
    • Bob the Pleo
Re: Is it possible to reverse engineer LifeOS?
« Reply #6 on: October 15, 2009, 04:46:52 PM »

I agree with you that there is often a terminology confusion on what constitutes the LifeOS.  SO, by your definitions, the firmware is the OS, which would then make the PLEOPM more like the primary application run by the OS?

Logged

PleoPet

  • Pleontologist
  • * Posts: 162
  • Female
Re: Is it possible to reverse engineer LifeOS?
« Reply #7 on: October 15, 2009, 05:00:11 PM »

> SO, by your definitions, the firmware is the OS, which would then make the PLEOPM more like the primary application run by the OS?
That is a good analogy.

You can replace the primary application ("PLEOPM") with your own program (written with the PDK). It will replace it completely.

The one thing you can't do is "tweek" the default personality (primary application). For example: changing one small quirk you don't like (example: http://bobthepleo.com/forums/index.php?topic=863.0 ) is not possible.
It is all or nothing. And by "all" I mean reinventing the PLEOPM from scratch (or by reverse engineering).
Open source PLEOPM solves this.


Logged

InmemoryofRomeo

  • Global Moderator
  • Pleo Grand Master RB
  • * Posts: 6903
  • au Female
  • Pleo(s): Lilo, Stitch, Pleakley, Jumba, Nani, Yuki, Angus, Pluto
  • : 2011 winner2009 winnerTomato Harvest Festivals
  • SAVE THE EARTH It's the only planet with chocolate
    • Professor
    • Wile_E_Coyote
    • Marcie
Re: Is it possible to reverse engineer LifeOS?
« Reply #8 on: October 15, 2009, 11:32:54 PM »

Quote
The one thing you can't do is "tweek" the default personality

Of course you can, you can just shadow it, easy as Pi. I did that with sounds and it works on motions too :)
Logged
Eagerly awaiting Vector and Blue!

borgqueenx

  • Head of the herd
  • **** Posts: 67
  • Male
Re: Is it possible to reverse engineer LifeOS?
« Reply #9 on: October 17, 2009, 12:03:56 PM »

what is possible with the PDK? create new abilities/functions or only new personalities?
Logged

InmemoryofRomeo

  • Global Moderator
  • Pleo Grand Master RB
  • * Posts: 6903
  • au Female
  • Pleo(s): Lilo, Stitch, Pleakley, Jumba, Nani, Yuki, Angus, Pluto
  • : 2011 winner2009 winnerTomato Harvest Festivals
  • SAVE THE EARTH It's the only planet with chocolate
    • Professor
    • Wile_E_Coyote
    • Marcie
Re: Is it possible to reverse engineer LifeOS?
« Reply #10 on: October 17, 2009, 04:29:16 PM »

New personalities are possible, and if you have the patience you could make very complex personalities without a problem. New behaviors are possible, adding scripts to take advantage of the camera (like tracking) are possible... although all of these would be run via SD card and only temporary. In the future Pleo might learn some fancy new tricks (a tourist guide Pleo and a TV remote Pleo have all been suggested :P)
Logged
Eagerly awaiting Vector and Blue!

PleoPet

  • Pleontologist
  • * Posts: 162
  • Female
Re: Is it possible to reverse engineer LifeOS?
« Reply #11 on: October 18, 2009, 06:03:13 PM »

'InmemoryofRomeo' wrote:
> Of course you can, you can just shadow it...
> New personalities are possible, and if you have the patience you could make very complex personalities without a problem.

Shadowing sound/movement resources is easy once you know what to do.
BUT figuring out what to do is probably illegal, and you may be sued. Disassembling the program may get you sued. Please read your EULA.

For the record, I'm not hating on 'InmemoryofRomeo' (I assume they want the Pleo platform to succeed). Lawyers can be a dick (IANAL)
----
If anyone bothered to download the Pleo PDK and they took the time to read the licence agreement, here are the rules (selective edited by me):

> 1. License. ...Company
> grants to you (i) a nontransferable... in executable object code
> format only, solely for your own non-commercial, personal purposes.

Sorry, if you release your software in a public website, they may sue you.

> 2. Restrictions. The rights granted to you in this Agreement
> are subject to the following restrictions: (a) you shall not ...distribute... the Licensed Software (available) to any third
party

Sorry, if you release your software in a public website, they may sue you.

And the kicker:
> (b) you shall not modify, make derivative works of,
> disassemble, reverse compile or reverse engineer any part of
> the Licensed Software;

Any work derived by reverse engineering may expose you to being sued. Please call your lawyer now.

----
IANAL, but any person considering a Pleo release (source or binary) should consult their lawyer now.

A much simpler solution is to demand from the company to release an open source version of their firmware/software (without the legal BS)

Logged

InmemoryofRomeo

  • Global Moderator
  • Pleo Grand Master RB
  • * Posts: 6903
  • au Female
  • Pleo(s): Lilo, Stitch, Pleakley, Jumba, Nani, Yuki, Angus, Pluto
  • : 2011 winner2009 winnerTomato Harvest Festivals
  • SAVE THE EARTH It's the only planet with chocolate
    • Professor
    • Wile_E_Coyote
    • Marcie
Re: Is it possible to reverse engineer LifeOS?
« Reply #12 on: October 18, 2009, 07:41:29 PM »

A personality like the one above compiled with YAPT doesn't break the EULA as it doesn't involve any disassembling what-so-ever. Technically they are just a skit, once the SD is removed that's it, back to normal Pleo.

Also shadowing is not what you think. All you do is create the sound or motion and name it as the one you want to shadow and pop it on an SD card, the change is temporary.

If either of those are illegal then they can sue me, it won't achieve anything, I have no money, I have made no profits of the skits and it gives them a bad name.
Logged
Eagerly awaiting Vector and Blue!

PleoPet

  • Pleontologist
  • * Posts: 162
  • Female
Re: Is it possible to reverse engineer LifeOS?
« Reply #13 on: October 18, 2009, 10:07:46 PM »

> A personality like the one above compiled with YAPT doesn't break the EULA
FWIW: by my reading it clearly does. I don't want to argue legal-eze with you. IANAL.

But thanks for giving me the heads up !!!
My bad. AFAIK all independently derived Pleo software distributed on the web is now "illegal" (in violation of the new EULA). I will remove it ASAP from my website.

YAPT compiled programs may violate the terms of the new companies licensing agreement. YAPT was not released under their EULA. It was released under an old company's NDA. It is long obsolete.

PLEASE delete any thing derived from YAPT. The new company may sue you (and me) since it may now violate their terms.

----
Please ask the new owners to release their software under open source
http://bobthepleo.com/forums/index.php?topic=905.0




« Last Edit: October 18, 2009, 10:32:47 PM by PleoPet »
Logged

BauerMECH

  • Following the footsteps
  • * Posts: 10
  • Male
Re: Is it possible to reverse engineer LifeOS?
« Reply #14 on: December 08, 2009, 10:47:45 AM »

> A personality like the one above compiled with YAPT doesn't break the EULA
FWIW: by my reading it clearly does. I don't want to argue legal-eze with you. IANAL.

But thanks for giving me the heads up !!!
My bad. AFAIK all independently derived Pleo software distributed on the web is now "illegal" (in violation of the new EULA). I will remove it ASAP from my website.

YAPT compiled programs may violate the terms of the new companies licensing agreement. YAPT was not released under their EULA. It was released under an old company's NDA. It is long obsolete.

PLEASE delete any thing derived from YAPT. The new company may sue you (and me) since it may now violate their terms.

----
Please ask the new owners to release their software under open source
http://bobthepleo.com/forums/index.php?topic=905.0


Interesting. I too was developing under the NDA. I have yet to download any SDK from this new non-UGOBE company - therefore, I would think there would be no way for me to accept the terms of a new EULA. No click? No "signature on the dotted line". Not to mention, my monitoring apps didn't do anything but piggy-back of of the internal stuff that was already there. However, if by some catch, I am somehow in violation of any contracts or laws that could essentially result in my getting sued (blood from a turnip in my case) or imprisoned, please follow though with my present request to delete any routs enabling the download or use of Dino-MITE and/or other "software" created for use with Pleo.  - Thank you.
Logged

BauerMECH

  • Following the footsteps
  • * Posts: 10
  • Male
Re: Is it possible to reverse engineer LifeOS?
« Reply #15 on: December 08, 2009, 01:12:35 PM »

Never mind. Gettin' excited over nothing.  :P  Just got a reply from Innvo Labs in regards to 3rd party software...

Quote
As far as Innvo Labs Corporation is concerned we are happy to allow everything to continue as before.

Download away my friends!
Logged

InmemoryofRomeo

  • Global Moderator
  • Pleo Grand Master RB
  • * Posts: 6903
  • au Female
  • Pleo(s): Lilo, Stitch, Pleakley, Jumba, Nani, Yuki, Angus, Pluto
  • : 2011 winner2009 winnerTomato Harvest Festivals
  • SAVE THE EARTH It's the only planet with chocolate
    • Professor
    • Wile_E_Coyote
    • Marcie
Re: Is it possible to reverse engineer LifeOS?
« Reply #16 on: December 08, 2009, 03:21:45 PM »

I didn't think they would mind, they couldn't possibly sue everyone who used myskit or dinomite etc. That would be the end of their company once the media got hold of it :P And they encourage development of Pleo which can only be a good thing :)
Logged
Eagerly awaiting Vector and Blue!

PleoPet

  • Pleontologist
  • * Posts: 162
  • Female
Re: Is it possible to reverse engineer LifeOS?
« Reply #17 on: December 08, 2009, 08:53:06 PM »

> As far as Innvo Labs Corporation is concerned we are happy to allow everything to continue as before.

For the record, anyone downloading the PDK from the public website should follow the terms of the EULA.
http://www.pleoworld.com/downloads/pdk/eula_pdk.aspx

You can argue the legality of EULAs. Also people living outside the USA have more protections than people living in the USA.
----

I REPEAT: The new company has very restrictive licencing terms IMHO.
I don't know if they will sue everyone, but the new company is the second owner. The first company made a lot of promises that were never met. Under the current terms, the 2nd owner can sue you over even minor things. And if they sell the company a future 3rd owner who wants to waste their time, they can sue you in California.

The simple solution is to get the owners to remove the restrictive terms from the EULA, and I repeat selective parts from the licensing terms:

QUOTE: (a) you shall not license, sell, rent, lease, transfer, assign, distribute, display, host, outsource, disclose or otherwise commercially exploit or make the Licensed Software available to any third party ;
(and many more of them)
QUOTE: Any action under or relating to this Agreement shall be brought solely in the state and federal courts located in California, with sole venue in the courts located in Santa Clara County and each party hereby submits to the personal jurisdiction of such courts

----
BOTTOM LINE:
So if you think my argument is BS, then politely ask the new owner to remove the restrictive terms from the EULA. Not making it public domain, but make it legal to redistribute (which it isn't right now)

If the new owners won't remove the restrictive licensing terms, then be afraid, very afraid!

Final advice: Don't take it on faith that helping a company will prevent you from being sued. Get it in writing first!
« Last Edit: December 08, 2009, 09:02:44 PM by PleoPet »
Logged
Pages: [1]   Go Up
 

SimplePortal 2.3.5 © 2008-2012, SimplePortal