LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie
User Name
Password
Linux - Newbie This Linux forum is for members that are new to Linux.
Just starting out and have a question? If it is not in the man pages or the how-to's this is the place!

Notices


Reply
  Search this Thread
Old 10-20-2015, 01:21 PM   #1
snowbrdrfreak
LQ Newbie
 
Registered: Jan 2009
Distribution: Kali, OSX
Posts: 3

Rep: Reputation: 0
Reverse Engineering at the Kernel Level


So I started doing some research into the issues with Linux -or any non-mainstream OS for that matter- and from my understanding the lack of support for bleeding-edge hardware is because the drivers must first be reverse engineered to work on the Linux OS. I got to thinking, what if there was a way to embed a software in the kernel that creates the binary drivers for the hardware installed on the machine from nothing. I assume it would take forever for this software to sniff out each and every IC, transistor, cap, etc., but what would this really take to accomplish? Does anyone know of any projects working on this currently? And can anyone point me in the direction of some educational materials so I can better understand what must be done to accomplish this? I'm in the first year of my computer engineering degree, and I think I just found my direction.
 
Old 10-20-2015, 02:04 PM   #2
snowbrdrfreak
LQ Newbie
 
Registered: Jan 2009
Distribution: Kali, OSX
Posts: 3

Original Poster
Rep: Reputation: 0
I'm thinking the application for this would be to build drivers for any device, possibly even smartphones. Again, I assume this would be a huge undertaking, but if I start work on it now (or find a project already working on it that I can assist) it would just be a matter of time before it's developed.
 
Old 10-20-2015, 02:51 PM   #3
JeremyBoden
Senior Member
 
Registered: Nov 2011
Location: London, UK
Distribution: Debian
Posts: 1,947

Rep: Reputation: 511Reputation: 511Reputation: 511Reputation: 511Reputation: 511Reputation: 511
I assume you are still in the first week or two of your Computer degree?
Try something that would be actually achievable.
 
Old 10-20-2015, 05:50 PM   #4
jefro
Moderator
 
Registered: Mar 2008
Posts: 21,974

Rep: Reputation: 3623Reputation: 3623Reputation: 3623Reputation: 3623Reputation: 3623Reputation: 3623Reputation: 3623Reputation: 3623Reputation: 3623Reputation: 3623Reputation: 3623
The original builders of ndiswrapper envisioned the program to use any windows drivers for any component.

Most driver writers have skill in making a driver. They use various tools and skills to make a driver. One of course is getting an OEM to allow you to use inside information with an agreement. Two is to use prior drivers and hunt and peck for changes. Generally there is no binary need to know what transistors are there but simply support for the chip. Some voltage may need to be known on some devices.

Get with some of the people who build drivers already and see if they wrote how they did it.

There are programs that have been created that attempt to sample devices already. It is not as useful as you'd think.
 
Old 10-20-2015, 06:01 PM   #5
dugan
LQ Guru
 
Registered: Nov 2003
Location: Canada
Distribution: distro hopper
Posts: 11,219

Rep: Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309Reputation: 5309
Quote:
Originally Posted by snowbrdrfreak View Post
I got to thinking, what if there was a way to embed a software in the kernel that creates the binary drivers for the hardware installed on the machine from nothing. I assume it would take forever for this software to sniff out each and every IC, transistor, cap, etc., but what would this really take to accomplish? Does anyone know of any projects working on this currently?
Yes?

Quote:
To obtain the DSP program code requires melting the integrated circuit with nitric acid, scanning in the surface of a chip with an electron microscope, and then either staining and manually reading out or physically altering and monitoring the traces to extract the program and data ROMs. This kind of work can cost up to millions of dollars to have done professionally, depending upon the chip's complexity, due to the extremely specialized knowledge and equipment involved. Thanks to the efforts of an individual who goes by the name "Dr. Decapitator," we've been able to extract this data from nearly a dozen chips for just the cost of materials.


Accuracy takes power: one mans 3GHz quest to build a perfect SNES emulator | Ars Technica


"Each and every IC, transistor, cap, etc" is not possible for the kernel to detect. You'll know that by the end of your second year.

Last edited by dugan; 10-20-2015 at 06:04 PM.
 
Old 10-20-2015, 06:29 PM   #6
chrism01
LQ Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Rocky 9.2
Posts: 18,356

Rep: Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751
You may find this a useful reference http://www.linuxtopia.org/online_boo...2.6/index.html
(or not; its not really my area tbh)
 
  


Reply



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 Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
What is the best way to learn Reverse Engineering? jokar.mohsen Programming 3 02-23-2013 04:55 AM
How to do USB reverse engineering? Ogi Programming 7 02-24-2010 12:48 PM
C examples for reverse engineering darkangel29 Programming 5 03-24-2009 04:05 PM
reverse engineering walterw Programming 3 01-18-2003 04:15 PM
Reverse engineering the kernel lolmc Linux - General 7 07-05-2002 11:54 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Newbie

All times are GMT -5. The time now is 03:40 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration