Asciipocalypse Mac OS

Posted on  by

The next step in my playing with chroot escapes is crafting some shellcode. Recently my main dev machine is a MacBook running OS X, so it felt reasonable to fiddle with making system calls of that platform.

Asciipocalypse
  • The latest version 1.6.0 has 296 different ASCIImojis built in (see list below). ASCIImoji is currently available in these formats: Mac OS text shortcuts If you use Mac OS, this is your best choice.
  • ASCII, stands for American Standard Code for Information Interchange.It's a 7-bit character code where every single bit represents a unique character. On this webpage you will find 8 bits, 256 characters, ASCII table according to Windows-1252 (code page 1252) which is a superset of ISO 8859-1 in terms of printable characters.

Games like Asciipocalypse Related tags: Shooter First-Person 3D Shooter Retro Roguelike Text based Related platforms: Windows macOS Linux. Through blood and sacrifice, you must serve the garden. Ruben Tipparach. Cleaning The System. Bouncing Platformer.

By the way, a system call is a function of the kernel invoked by a userspace program and it can be something like writing to a file descriptor, or even exiting. Usually, these are wrapped by C functions in the standard library.

The system calls

First, we need to know what system call we want to make, and what arguments it pretends.

A full list is hosted by Apple here. The header also hints at the fact that they are inherited from BSD. Yeah, that makes sense.

So, to write our proverbial Hello world we will pick the syscall 4

32-bit

Let’s start easy. A cute 32-bit program, written in NASM assembler language. Compile with nasm or yasm, output format MachO, and link with ld.

I’m on a Intel machine, so what we are looking for is the x86 syscall calling conventions for the OS X or BSD platform. They are pretty simple:

  • arguments passed on the stack, pushed right-to-left
  • stack 16-bytes aligned
  • syscall number in the eax register
  • call by interrupt 0x80

So what we have to do to print a “Hello world” is:

  • push the length of the string (int) to the stack
  • push a pointer to the string to the stack
  • push the stdout file descriptor (1) to the stack
  • align the stack by moving the stack pointer 4 more bytes (16 - 4 * 3)
  • set the eax register to the write syscall number (4)
  • interrupt 0x80

64-bit

64-bit is a bit cleaner, but completely different: OS X (and GNU/Linux and everyone except Windows) on 64 architectures adopt the System V AMD64 ABI reference. Jump to section A.2.1 for the syscall calling convention.

Asciipocalypse Mac Os Catalina

  • arguments are passed on the registers rdi, rsi, rdx, r10, r8 and r9
  • syscall number in the rax register
  • the call is done via the syscall instruction
  • what OS X contributes to the mix is that you have to add 0x20000000 to the syscall number (still have to figure out why)

So, here is the (IMHO) much more clean 64-bit “Hello world”. Ah, if you want to do this at home and have it actually run, generate a macho64 object with a new version of NASM or with YASM, and link with ld as usual.

Asciipocalypse Mac Os X

In the Windoze world, Notepad is a simple editor that saves text strictly in ASCII format. Clean, not embellishments or tags. Sometimes it needs to be that way.
What do I use to save ASCII text on a Mac? Somebody at the Apple store told me the answer is TextEdit, but when I went to save a file just now my choices were rich text (.rtf), HTML, Word format, or XML. No ASCII in the bunch.
So, is there a program on here that does what Notepad does? Is there one out there somewhere...??
--PS
Asciipocalypse mac os download

Asciipocalypse Mac Os Update

MacBook 2.16-GHz, 2GB-RAM, Mac OS X (10.4.10), After 28 years of DOS and Windows... a Mac.

Asciipocalypse Mac Os Download

Posted on Jul 26, 2007 10:23 PM