samp.directory
← Scripts y librerías

pawn-lang/amx_assembly

Interesting #emit stuff

Librería★ 63actualizado nov 2023Sin licenciaPawnsampctl
Abrir en GitHub

Este repositorio no tiene archivo de licencia. Se puede leer, pero eso por sí solo no da permiso para reutilizarlo.

Instalar con sampctl

sampctl package install pawn-lang/amx_assembly

Ejecútalo en la carpeta de tu proyecto. sampctl descarga el paquete y sus dependencias.

README.md

Overview

  • addressof.inc - Provide addressof to get the compiled address of a function, plus runtime compilation to a simple constant, and a lightweight version with no disasm dependency.
  • amx.inc - Read/write contents of the AMX structure (AMX struct in C code).
  • amx_base.inc - Get base address of the AMX in memory (amx->base).
  • amx_header.inc - Read contents of the AMX header (AMX_HEADER) and query header tables such as publics, natives, tags, etc.
  • amx_memory.inc - Read/write contents of variables using their AMX address (kind of like pointers in C).
  • asm.inc - @emit() for generating new assembly at runtime, similar to what #emit and __emit are for compile-time.
  • codescan.inc - Find patterns in bytecode.
  • disasm.inc - Example of how to disassemble AMX bytecode (i.e. self-disassembly).
  • dynamic_call.inc - Call any function by address or index. Can be very powerful in combination with amx_header.inc.
  • frame_info.inc - Get information about call frames from the stack.
  • heap_alloc.inc - Allocate memory on the AMX heap.
  • jit.inc - Check if running under the JIT plugin.
  • opcode.inc - List of AMX opcodes and utility functions for (un-)relocating opcodes on Linux.
  • os.inc - Detect operating system (Windows vs Linux).
  • phys_memory.inc - Read/write memory of the host process (outside of AMX data).
  • profiler.inc - Simple profiler written purely in Pawn. It can measure execution time of public functions.
  • shellcode.inc - Execute arbitrary native code (doesn't work on Linux).
  • stack_dump.inc - Print stack contents to the console.
  • stack_trace.inc - Print stack trace.
  • windows/import_table.inc - Read the PE import table of the host process.
  • windows/ShellExecute.inc - How to use shellcode and import_table to call a Win32 API function (in this case ShellExecuteA).

Installation

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>

Usage

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

amxassemblypawnpawn-packagesa-mp

Esta página se genera con lo que GitHub publica sobre el repositorio. samp.directory no aloja el código. Informar de un problema con esta ficha