Category Archives: assembly

Shellcode: Encryption Algorithms in ARM Assembly

Introduction There are 2 CPU architectures currently dominating the embedded market, and are almost certain to dominate IoT technologies deployed with 5G over the coming 10-15 years. Those architectures are Advanced RISC Machine (ARM), and Argonaut RISC Core (ARC). Although … Continue reading

Posted in arm, assembly, cryptography, encryption, linux, programming, raspberry | Tagged , , , , , , , , , , , | Leave a comment

Shellcode: A Tweetable Reverse Shell for x86 Windows

Introduction Since being granted a 280 character limit, many twitter users have been embedding all kinds of code into a single message. This will be a quick post showing a tweetable reverse shell for x86 windows. You’ll have to forgive … Continue reading

Posted in assembly, programming, security, shellcode, windows | Tagged , , , , , | Leave a comment

Shellcode: Linux ARM (AArch64)

Introduction I’ve no idea how useful these will be since they were only tested on Linux Ubuntu. They were more or less derived from 32-bit codes shown here, except there’s no attempt at all to eliminate null bytes, and there … Continue reading

Posted in arm, assembly, security, shellcode | Tagged , , , | Leave a comment

Shellcode: Linux ARM Thumb mode

Introduction Just a quick post about some shellcodes for a raspberry pi 3 I purchased recently to learn ARM assembly. For those interested in developing your own, you can find a full list of Linux system calls in Thumb mode … Continue reading

Posted in arm, assembly, pi, raspberry, security, shellcode | Tagged , , , , , | 1 Comment

Shellcode: Windows API hashing with block ciphers ( Maru Hash )

Introduction String/Pattern Matching Algorithms are by far the most popular and easy way to detect a shellcode. The principle is simple: all codes have unique characteristics which can be used as signatures to identify in memory. Even shellcodes with no … Continue reading

Posted in assembly, programming, shellcode, windows | Tagged , , , , , | Leave a comment

Shellcode: x86 optimizations part 1

Introduction What follows are a number of basic ways to compact shellcodes. In a follow up post, I’ll discuss a few ways to obfuscate them which might be useful for evading signature detection algorithms. Some of the examples illustrated here … Continue reading

Posted in assembly, programming, shellcode | Tagged , , , , | Leave a comment

Shellcode: Dual Mode (x86 + amd64) Linux shellcode

Introduction Someone asked me recently what do you mean by “dual mode shellcode”? and it seems the wording is slightly ambiguous to those unfamiliar with the different operating modes of a CPU like x86 so I just wanted to clarify … Continue reading

Posted in assembly, linux, programming, security, shellcode | Tagged , , , , , | Leave a comment