I have found a LOT of stuff online that says how to start and I'm not sure which is the best. And honestly I'd prefer a book
Can anyone suggest a good book? I have started with "Hacking the art of exploitation", which is talking about C and x86 assembler (which I worked with before) but it's only scratching the surface
The C programming language is a good place to start
Hm, if u really wanna take a look into such a kernel and do it in C. And if u wanna do it to learn C and stuff while that I'd recommend you to do it for an arm device instead of x86. You can for instance go for a arm Cortex-M7 (architecture is ARMv7). It's way less complicated as an x86 or on of those Cortex-As used in smartphones and such. Also the Cortex-M7 is on of those bit "stronger" microcontrollers. You can buy a board with an Cortex-M7 and lots of peripherals (Ethernet, USB, Display, Additional RAM/Flash) for just a few bucks. Take a look at the STM32F746G Discovery. It has a Display and also an onboard debugger which can be connected to a PC via USB and enables u to download and debug the application on the target device. And then u can go into the linux kernel git repository and make it run on this device. You can immediately run C or assembler code on the device, which would be kinda annoying too on an real x86 device which is started by a BIOs/UEFI, or setting up an x86 virtual machine that lets u run and debug baremetal applications.
The C Programming Language - R&K Understanding and Using C Pointers Functional C Object Oriented Programming in C The Standard C Library Practical C Programming C Programming Absolute Beginner - Perry, Greg C How to Program C IN A NUTSHELL 21st Century C Expert C Programming Deep C Secrets Advanced C C Interfaces and Implementations - Techniques for Creating Reusable Software Problem Solving and Program Design in C Jeri R Hanly - Elliot B Koffman C Primer Plus C++ Primer Effective Modern C++ The Linux Programming Interface Advanced Programming in the UNIX ® Environment Understanding Linux Kernel
Обсуждают сегодня