Like Tree11Likes
  • 1 Post By Mario F.
  • 2 Post By grumpy
  • 1 Post By Mario F.
  • 3 Post By grumpy
  • 1 Post By CommonTater
  • 3 Post By grumpy

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

This is a discussion on Had a somewhat strange idea...about reverse engineering. within the General Discussions forums, part of the Community Boards category; I was reading through a blog post by a Linux kernel developer, talking about the problems and deficiencies of the ...

  1. #1
    Registered User manasij7479's Avatar
    Join Date
    Feb 2011
    Location
    Kolkata@India
    Posts
    2,498

    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 ?
    Manasij Mukherjee | gcc-4.8.2 @Arch Linux
    Slow and Steady wins the race... if and only if :
    1.None of the other participants are fast and steady.
    2.The fast and unsteady suddenly falls asleep while running !



  2. #2
    C++まいる!Cをこわせ! Elysia's Avatar
    Join Date
    Oct 2007
    Posts
    22,457
    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
    Portugal
    Posts
    7,412
    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.
    The programmer’s wife tells him: “Run to the store and pick up a loaf of bread. If they have eggs, get a dozen.”
    The programmer comes home with 12 loaves of bread.


    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
    Registered User manasij7479's Avatar
    Join Date
    Feb 2011
    Location
    Kolkata@India
    Posts
    2,498
    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?
    ..
    Manasij Mukherjee | gcc-4.8.2 @Arch Linux
    Slow and Steady wins the race... if and only if :
    1.None of the other participants are fast and steady.
    2.The fast and unsteady suddenly falls asleep while running !



  5. #5
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Portugal
    Posts
    7,412
    May be. Good luck getting that done on deterministic computer architectures.
    AndrewHunter likes this.
    The programmer’s wife tells him: “Run to the store and pick up a loaf of bread. If they have eggs, get a dozen.”
    The programmer comes home with 12 loaves of bread.


    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
    Registered User manasij7479's Avatar
    Join Date
    Feb 2011
    Location
    Kolkata@India
    Posts
    2,498
    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.
    Manasij Mukherjee | gcc-4.8.2 @Arch Linux
    Slow and Steady wins the race... if and only if :
    1.None of the other participants are fast and steady.
    2.The fast and unsteady suddenly falls asleep while running !



  8. #8
    Registered User
    Join Date
    May 2011
    Location
    Around 8.3 light-minutes from the Sun
    Posts
    1,866
    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,210
    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%.

  10. #10
    Registered User
    Join Date
    May 2011
    Location
    Around 8.3 light-minutes from the Sun
    Posts
    1,866
    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
    Portugal
    Posts
    7,412
    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.
    AndrewHunter likes this.
    The programmer’s wife tells him: “Run to the store and pick up a loaf of bread. If they have eggs, get a dozen.”
    The programmer comes home with 12 loaves of bread.


    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,210
    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%.

  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!

    AndrewHunter likes this.

  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,210
    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%.

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, 03:44 PM
  2. Reverse Engineering
    By fcommisso in forum C Programming
    Replies: 8
    Last Post: 12-13-2009, 11:58 PM
  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-16-2002, 11:48 PM
  5. Reverse Engineering and Disasembling
    By jinx in forum Windows Programming
    Replies: 0
    Last Post: 12-08-2001, 05:16 PM

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21