Skip to content

Instantly share code, notes, and snippets.

View dabsamak's full-sized avatar
🦀

int16h dabsamak

🦀
View GitHub Profile
@dabsamak
dabsamak / entry.asm
Last active November 9, 2025 01:53
x86_64 Kernel bootstrap / entry
; x86_64 kernel bootstrap, commented
; int16h @ cryogenix.org
; ------------------------------------------------------------------------------
; --- Assemble in 32-bit mode
[BITS 32]
[GLOBAL start] ; Export the entry symbol for the linker.
GLOBAL long_mode_entry ; 64-bit entry shared by both boot paths.
GLOBAL uefi_entry ; Alias used by the UEFI loader.
extern kmain ; Pull in the C kernel entry point.
extern boot_info_set_multiboot
@dabsamak
dabsamak / NSD.md
Created October 31, 2018 15:57
NSD

OpenBSD as an authoritative DNS nameserver

OpenBSD ships with the NLnet Labs Name Server Daemon - nsd(8), a fast and secure (DNSSEC-enabled) implementation of an authoritative DNS nameserver.

First we should generate a TSIG (Transaction SIGnature) key. If using hmac-md5:

dd if=/dev/urandom of=/dev/stdout count=1 bs=32 | openssl base64

Or for sha256 (preferred):

dd if=/dev/urandom of=/dev/stdout count=1 bs=64 | openssl base64
@dabsamak
dabsamak / Shellcoding.md
Created October 31, 2018 12:59
Shellcoding

Beginners Guide To Shellcoding on FreeBSD

by xwyzard

Introduction

The purpose of this tutorial is to help familiarize you with creating shellcode on the FreeBSD operating system. While I endeavor to explain everything in here thoroughly, this paper is not meant to be a primer on assembly coding. In the disassemblies you will notice that the assembly code is in AT&T syntax, while I much prefer to use Intel syntax (which is what nasm works on anyway). If you are concerned about the difference please do use google to find those differences. Please do note that I am just a beginner with shellcoding and that this is not meant, in any way, to be the end all, on the contrary this is meant to be an easy introduction for brand new shellcoders. In other words if you have written shellcodes, this is probably not going to interest you. The code within was adapted from linux code examples in The Shellcoders Handbook

Resources I used:

@dabsamak
dabsamak / OpenVMS simh 2.md
Last active October 16, 2025 19:04
OpenVMS simh 2

This article has now been updated (as of 16-OCT-2025), available at https://cryogenix.org/library/operating-systems/openvms-7-3-w-simh-vax-on-openbsd

Everything below this point is preserved for posterity but will contain innacuracies as it is from 2009.

Welcome to the second part of Getting Started with OpenVMS and SIMH. This article assumes that you have already followed part 1 or have at least installed OpenVMS VAX 7.3 on a system, with dua0 containing the OS, dua1 containing user-directories, and TCP/IP services are functional. If in doubt, have a quick read over what we did in the first part. For this part, we will install and use UNZIP, wget, Compaq C and the WASD HTTP server.

Although I'd /love/ to throw you in at the deep-end, I think the transition to OpenVMS will be easier if we introduce a couple of utilities y

@dabsamak
dabsamak / OpenVMS simh 1.md
Last active October 16, 2025 19:04
OpenVMS simh 1

This article has now been updated (as of 16-OCT-2025), available at https://cryogenix.org/library/operating-systems/openvms-7-3-w-simh-vax-on-openbsd

Everything below this point is preserved for posterity but will contain innacuracies as it is from 2009.

OpenVMS is an operating system originally developed by DEC (Digital Equipment Corporation), a company acquired by Compaq which was then acquired by HP for the VAX platform.

Although development started in the mid-1970s into the 1980s, OpenVMS is still very much alive with up-to version 7.3 available for VAX, and continued development in 8.x for DEC Alpha and now Intel [Itanium](http://en.wikiped