Amx Assembly Save

Interesting #emit stuff

Project README


  • - Read/write contents of the AMX strcture (AMX struct in C code).
  • - Get base address of the AMX in memory (amx->base).
  • - Read contents of the AMX header (AMX_HEADER) and query header tables such as publics, natives, tags, etc.
  • - Read/write contents of variables using their AMX address (kind of like pointers in C).
  • - Find patterns in bytecode.
  • - Example of how to disassemble AMX bytecode (i.e. self-disassembly).
  • - Call any function by address or index. Can be very powerful in combination with
  • - Get information about call frames from the stack.
  • - Allocate memory on the AMX heap.
  • - Check if running under the JIT plugin.
  • - List of AMX opcodes and utility functions for (un-)relocating opcodes on Linux.
  • - Detect operating system (Windows vs Linux).
  • - Read/write memory of the host process (outside of AMX data).
  • - Simple profiler written purely in Pawn. It can measure execution time of public functions.
  • - Execute arbitrary native code (doesn't work on Linux).
  • - Print stack contents to the console.
  • - Print stack trace.
  • windows/ - Read the PE import table of the host process.
  • windows/ - How to use shellcode and import_table to call a Win32 API function (in this case ShellExecuteA).


Simply install to your project:

sampctl package install amx_assembly

Include in your code and begin using the library:

#include <amx_assembly\include_name_here>


There are a few example scripts in the test directory that show how to use some of these includes.

Open Source Agenda is not affiliated with "Amx Assembly" Project. README Source: Zeex/amx_assembly
Open Issues
Last Commit
4 months ago

Open Source Agenda Badge

Open Source Agenda Rating