Thread: Had a somewhat strange idea...about reverse engineering.

  1. #1
    [](){}(); manasij7479's Avatar
    Join Date
    Feb 2011
    Location
    *nullptr
    Posts
    2,657

    Had a somewhat strange idea...about reverse engineering.

    I was reading through a blog post by a Linux kernel developer, talking about the problems and deficiencies of the Linux Desktop experience.... the comment stream of which was a quite ugly flame war (declared) by zealots.

    The prime concern(that all seem to agree upon) is that some Hardware manufacturers refuse to release the specifications of their latest devices, making the process of making drivers painful and lengthy (often resorting to reverse engineering...like noveau), if at all possible.

    I'm, by no stretch of my imagination, knowledgeable about the topic, but I once read the instructions of such a process( in the CHDK project, which initially has to find out the "functions" that a particular Canon Camera supports and their memory addresses, by taking memory dumps and looking for clues in it.) .

    To my surprise, the process seemed quite mechanical.
    So, my question; to those members who have a considerable amount of experience with Hardware and low level stuff, is :
    Can this process be automated ?
    For example, plug in some brand new device, and generate something like an api-documentation ...only on a much lower level...with a program in the kernel land ?

  2. #2
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by manasij7479 View Post
    To my surprise, the process seemed quite mechanical.
    So, my question; to those members who have a considerable amount of experience with Hardware and low level stuff, is :
    Can this process be automated ?
    For example, plug in some brand new device, and generate something like an api-documentation ...only on a much lower level...with a program in the kernel land ?
    Obviously not or it would have been done long ago.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  3. #3
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by manasij7479 View Post
    but I once read the instructions of such a process( in the CHDK project, which initially has to find out the "functions" that a particular Canon Camera supports and their memory addresses, by taking memory dumps and looking for clues in it.). [...] Can this process be automated ?
    How can you automate the process of reading and interpreting memory dumps. A task that can only be done through experimentation and abstract thought?

    It can't be done with modern computers simply because they can't analyse data beyond that which we instruct them to.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  4. #4
    [](){}(); manasij7479's Avatar
    Join Date
    Feb 2011
    Location
    *nullptr
    Posts
    2,657
    A task that can only be done through experimentation and abstract thought ?
    Accomplishing that, I thought, is an active research area in Computer Science .. Isn't it?
    ..

  5. #5
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    May be. Good luck getting that done on deterministic computer architectures.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  6. #6
    Banned
    Join Date
    Aug 2010
    Location
    Ontario Canada
    Posts
    9,547
    Quote Originally Posted by manasij7479 View Post
    Accomplishing that, I thought, is an active research area in Computer Science .. Isn't it?
    ..
    You may also want to note that in many cases "Reverse Engineering" can quite rightly be called "Patent Infringement"... so I wouldn't be expecting that to be much of a priority... except amongst criminals. ("Paycheck" movie, notwithstanding)

  7. #7
    [](){}(); manasij7479's Avatar
    Join Date
    Feb 2011
    Location
    *nullptr
    Posts
    2,657
    Quote Originally Posted by CommonTater View Post
    You may also want to note that in many cases "Reverse Engineering" can quite rightly be called "Patent Infringement"... so I wouldn't be expecting that to be much of a priority... except amongst criminals. ("Paycheck" movie, notwithstanding)
    By "that" , I meant automating tasks "that can only be done through experimentation and abstract thought" .(nothing specific).

    Also, writing drivers for closed systems do not fall under "Patent Infringement".
    Last edited by manasij7479; 07-23-2011 at 01:23 PM.

  8. #8
    Registered User
    Join Date
    May 2011
    Location
    Around 8.3 light-minutes from the Sun
    Posts
    1,949
    Reverse engineering closed systems, such as cameras, consoles, etc. with the purpose of generating tools for profit is indeed Patent Infringement and could wind you up in jail. A most recent example of this can be found by looking at PS3 hacks. Now, doing this for your own amusement on such items that you bought, although would violate warranty terms in most cases, is still legal.
    Quote Originally Posted by anduril462 View Post
    Now, please, for the love of all things good and holy, think about what you're doing! Don't just run around willy-nilly, coding like a drunk two-year-old....
    Quote Originally Posted by quzah View Post
    ..... Just don't be surprised when I say you aren't using standard C anymore, and as such,are off in your own little universe that I will completely disregard.
    Warning: Some or all of my posted code may be non-standard and as such should not be used and in no case looked at.

  9. #9
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    Quote Originally Posted by manasij7479 View Post
    Accomplishing that, I thought, is an active research area in Computer Science .. Isn't it?
    ..
    It has been an active research area for decades. Many promises have been made, often accompanied by much marketing hype. There has, however, been a recurring problem with delivery of anything that actually works in the real world.

    More generally, however, there is a legally enforceable concept of "Intellectual Property". Reverse engineering tends to infringe upon legally enforceable Intellectual Property rights of whoever designed the system being reverse engineered, even if you are only reverse engineering an interface. Patents are just one type of intellectual property.
    Last edited by grumpy; 07-23-2011 at 04:53 PM.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  10. #10
    Registered User
    Join Date
    May 2011
    Location
    Around 8.3 light-minutes from the Sun
    Posts
    1,949
    What? Skynet isn't real? I guess I can stop building my bomb shelter.....
    Quote Originally Posted by anduril462 View Post
    Now, please, for the love of all things good and holy, think about what you're doing! Don't just run around willy-nilly, coding like a drunk two-year-old....
    Quote Originally Posted by quzah View Post
    ..... Just don't be surprised when I say you aren't using standard C anymore, and as such,are off in your own little universe that I will completely disregard.
    Warning: Some or all of my posted code may be non-standard and as such should not be used and in no case looked at.

  11. #11
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    It's very much real. It's in every iPhone and iPad. Well, at least the part where it gathers slaves and establishes a global presence.

    But no nukes. That's Java, the language that according to "3. Restrictions" in its license agreement should not be used to maintain nuclear facilities. Arguably it could come of an iPhone or iPad, since despite Jobs dislike for Java, it eventually made it into these devices. But any post apocalyptic lawsuits against either Apple or Sun will be linearly dismissed since Apple doesn't officially support it and Sun license agreement does not permit its use for world destruction.

    Destroying the world with the help of computer devises is a bit trickier than that, if you want to avoid a lawsuit.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  12. #12
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    Quote Originally Posted by Mario F. View Post
    Destroying the world with the help of computer devises is a bit trickier than that, if you want to avoid a lawsuit.
    Lawsuits are more likely to destroy the world than any computer device or any computer controlled device.
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

  13. #13
    Banned
    Join Date
    Aug 2010
    Location
    Ontario Canada
    Posts
    9,547
    Quote Originally Posted by AndrewHunter View Post
    What? Skynet isn't real? I guess I can stop building my bomb shelter.....
    No... keep building it... Niburu is coming!


  14. #14
    Banned
    Join Date
    Aug 2010
    Location
    Ontario Canada
    Posts
    9,547
    Quote Originally Posted by Mario F. View Post
    Destroying the world with the help of computer devises is a bit trickier than that, if you want to avoid a lawsuit.
    If I were to accomplish the former, I doubt I'd have to worry about the latter...

  15. #15
    Registered User
    Join Date
    Jun 2005
    Posts
    6,815
    Quote Originally Posted by CommonTater View Post
    If I were to accomplish the former, I doubt I'd have to worry about the latter...
    I wouldn't bet on that. Lawyers are very tenacious. They are agents of entropy, after all.

    It reminds me ....

    A physician, an engineer and a lawyer were arguing about whose profession was the oldest.

    The surgeon announced, "Remember how God removed a rib from Adam to create Eve? Obviously, medicine is the oldest profession."

    The engineer replied, "But before that, God created the heavens and the earth from chaos, in less than a week. You have to admit that was a remarkable feat of engineering, and that makes engineering an older profession than medicine."

    The lawyer smirked, and said, "Who do you think created the chaos?"
    Right 98% of the time, and don't care about the other 3%.

    If I seem grumpy or unhelpful in reply to you, or tell you you need to demonstrate more effort before you can expect help, it is likely you deserve it. Suck it up, Buttercup, and read this, this, and this before posting again.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. StarUML reverse engineering
    By VirtualAce in forum General Discussions
    Replies: 1
    Last Post: 11-11-2010, 04:44 PM
  2. Reverse Engineering
    By fcommisso in forum C Programming
    Replies: 8
    Last Post: 12-14-2009, 12:58 AM
  3. Reverse Engineering Tools
    By Goldie in forum A Brief History of Cprogramming.com
    Replies: 1
    Last Post: 10-26-2004, 11:36 PM
  4. reverse-engineering...
    By Nutshell in forum A Brief History of Cprogramming.com
    Replies: 13
    Last Post: 02-17-2002, 12:48 AM
  5. Reverse Engineering and Disasembling
    By jinx in forum Windows Programming
    Replies: 0
    Last Post: 12-08-2001, 06:16 PM