DEV Community

Discussion on: C Programming!

 
nichartley profile image
Nic Hartley

Oh, for sure. But it's easy to go from the not-so-dangerous stuff to the very dangerous stuff without ever quite realizing, and if you already have a known-good recovery solution (in my case, nuke the partition and reinstall since there was nothing important on it anyway), you avoid the minor heart attack.

Thread Thread
 
pavonz profile image
Andrea Pavoni

how about a VM like VirtualBox? :-)

Thread Thread
 
nichartley profile image
Nic Hartley

I've actually run into some issues with the more esoteric bits of kernel dev when running a VM, so I tend to stay away from them. That said, if they work for you, then absolutely! Way easier than reimaging a partition.

Thread Thread
 
pavonz profile image
Andrea Pavoni

To be honest, I don't do kernel hacking since at least a decade or more (IIRC it was still kernel 2.4 or 2.6).
That said, a simple LKM with syscall hijacking should work even on a VM (given that you're running a non-monolitic kernel :-P)

Thread Thread
 
madsalama profile image
Mahmoud Salama

I never even thought of the possibility of "bricking" my computer, I only thought the worst I could do is wipe it clean or causing a kernel panic! Weirdly, I'm now interested to know how I can actually do that! πŸ™‰

Thread Thread
 
pavonz profile image
Andrea Pavoni • Edited

You risk to β€œbrick” your computer if you mainly touch drivers with low-level access to hardware. Re-defining high-level syscalls related to β€œreads” should not damage your hardware ;-)

Edit:
Check this advanced example, I studied/played a lot with this (well, the first versions from the original author, Stealth):

github.com/trimpsyw/adore-ng

Thread Thread
 
madsalama profile image
Mahmoud Salama

That's insightful, thanks!
Gotta get going! I'm currently reading Robert Love's 'system programming' and I have been inspired with this post to contextualize a bit. Let's see! πŸ€“βœŒοΈ

Thread Thread
 
pavonz profile image
Andrea Pavoni

In case you missed my edit to the previous content:

github.com/trimpsyw/adore-ng