ARMssembly 0 [picoCTF]

compiling and running it :

before that lets understand some important things :

static v/s dynamic executables :

A static executable has all the code it needs in a single file and will only require the OS Syscall interface to be compatible for that OS to be able to execute it. This was how all programs were in the past, but as programs and libraries grew in size, but computer memory did not, it became necessary to be able to share library code at run-time. So only one copy of the library would be in memory and all running programs could access it, only the data would not be shared. Programs accessing shared libraries are termed Dynamically Linked,

install cross-platform compiler and ARM emulator:

$ sudo apt install qemu-user-static && gcc-aarch64-linux-gnu
$ aarch64-linux-gnu-as -o chall.o chall.S$ aarch64-linux-gnu-gcc -static -o chall chall.o

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Surya Dev Singh

Surya Dev Singh

enthusiast cyber security learner and penetration tester / ethical hacker , python programmer and in my free time you will find me solving CTFs