Welcome to Waddlr!, a great brand new CPPS with tons of players! Download the client for Windows & Mac OS 💻! Enjoy custom rooms,fast servers, and lots of fun at Waddlr. © Valve Corporation. All rights reserved. All trademarks are property of their respective owners in the US and other countries. Privacy Policy Legal Steam. Earlier versions of Tux Paint are available, which run on older versions of Mac OS X / OS X / macOS. January 12, 2021 - Tux Paint 0.9.25 is also now available for a variety of Linux distributions via Flatpak. December 30, 2020 - Tux Paint 0.9.25 is now available,.
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.
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.
MacOS (formerly 'Mac OS X' and later 'OS X') is a line of open core graphical operating systems developed, marketed, and sold by Apple Inc., the latest of which is pre-loaded on all currently shipping Macintosh computers. MacOS is the successor to the original classic Mac OS, which had been Apple's primary operating system since 1984.
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:
Skiing Penguin Mac Os 11
- 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 thewrite
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.
- arguments are passed on the registers
rdi
,rsi
,rdx
,r10
,r8
andr9
- 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.
A downhill racing game featuring Tux, the Linux Penguin. It is a free, open source game. - Initial MacOS X port- Updated to SVN code revision 82- Fixed a proble what may have required libz to be in /opt/local (libz is in the package)- Rebuilt. ...
- File Name:ExtremeTuxRacer for Mac OS
- Author:Josh Dye
- License:Freeware (Free)
- File Size:32 Mb
- Runs on:Mac OS X 10.4 or later
Control the skiing snowman to assemble himself! In this game you need to control a skiing snowman. You should pick up pine cones, carrots and branches to form the eyes, noses and arms of the snowman.
- File Name:snowman.exe
- Author:Novel Games Limited
- License:Freeware (Free)
- File Size:340 Kb
- Runs on:Windows2000, WinXP, Windows2003, Windows Vista
The game is fully functional and comes with three ready-made tracks and four different cars. After installing, you must enter a registration key, which you can get using a form on the Ohmikron.com website.
- File Name:PCSC_setup.exe
- Author:Ohmikron Corporation
- License:Freeware (Free)
- File Size:12.4 Mb
- Runs on:Win95, Win98, WinXP
4C is a variation on the classic 'Connect 4' game. Two players on a network compete against one another, and chat back and forth while they play!
- File Name:4c.exe
- Author:WaverlyStreet
- License:Freeware (Free)
- File Size:466 Kb
- Runs on:Win95, Win98, WinME, WinNT 4.x, WinXP, Windows2000
Word Puzzle is a five-letter-word puzzle game. It is designed to training your elaborative faculty for words. Word-Puzzle is a five letters puzzle game. It is designed to training your elaborative faculty for words.
- File Name:wordgame.zip
- Author:AAA-Soft Inc.
- License:Freeware (Free)
- File Size:47 Kb
- Runs on:Win95, Win98, WinME, WinNT 4.x, Windows2000
An amusing extension of the Game of Life: fidgety swarms of tiny critters wage a war against each other, and you takes part in this battle in real time as a commander of your own living army. Flexible settings allow to construct lots of new games!
- File Name:cf-game.exe
- Author:BriskLogic
- License:Shareware ($9.95)
- File Size:512 Kb
- Runs on:Win95, Win98, WinME, WinNT 4.x, Windows2000, WinXP, Windows2003, Windows Vista
Scheduling game play isn't always the easiest thing to do, that's where Game Sentinel comes in. Game Sentinel allows you to monitor the'user status' of your xBox® Friends List and sends notifications to you.
- File Name:Game Sentinel
- Author:WylinTimes, LLC.
- License:Demo ($9.99)
- File Size:7.38 Mb
- Runs on:Win98, WinME, WinNT 3.x, WinNT 4.x, WinXP, Windows2000, Windows CE
Game Editor is an interactive multimedia tool for game development, with a simple and intuitive interface and a rich set of features.
- File Name:gameeditorsetup.exe
- Author:Makslane Araujo Rodrigues
- License:Demo ($94.95)
- File Size:4.66 Mb
- Runs on:Win95, Win98, WinME, WinNT 4.x, Windows2000, WinXP, Windows2003, Windows Vista
Tetris style game with 18 figures of 5 blocks each, 3 game modes, adjustable field width, top 10 scores, game record and replay, demo mode.
- File Name:penta_en_trial.exe
- Author:Roman Tabunnikov
- License:Shareware ($14.95)
- File Size:1.8 Mb
- Runs on:Win98, WinME, WinNT 4.x, Windows2000, WinXP, Windows2003
Yet Another Laser Game is a modern remake of the popular 'laser and mirrors' genre. Using mirrors, you will have to guide your laser through mazes containing explosives, doors, teleporters. You only have a limited supply of various kinds of mir. ...
- File Name:YALGDemoSetup.exe
- Author:Persistentrealities
- License:Demo ($8.50)
- File Size:9.94 Mb
- Runs on:Win98, WinME, Windows2000, WinXP
This is the source code for chance statistics game for you to study and see how statistical mechanism works..
- File Name:roulette2.zip
- Author:VB Open Source
- License:Freeware (Free)
- File Size:199 Kb
- Runs on:Win95, Win98, WinME, WinNT 4.x, Windows2000, WinXP, Windows2003
A comprehensive Tool for Go game and SGF. Help you study Go game. Contains a total of 33,103 professional games and 4,372 josekies. Manage your Go game records collections very expediently.
- File Name:go-e.zip
- Author:Hu xiao qi
- License:Shareware ($29.00)
- File Size:24.98 Mb
- Runs on:Win98, WinME, WinNT 4.x, Windows2000, WinXP, Windows2003