Skip to content

ALittlePatate/pasm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pasm

PASM is a Scripting language that i made for fun with a few constraints :

  • the interpreter should be as small as possible (currently ~139ko statically linked)
  • the language should be able to call Windows API's
  • the language should be able to execute scripts from a buffer without needing a file
  • the language should be able to send the output of a script using sockets or stdout

PASM is meant for being used in C2 agents as its interpreter is small.
It can be used with an interpreter to execute local files or as a library in another program to execute files or directly code inside buffers, see Usage.

What pasm is not

PASM is not a language that you daily use, it is not meant for big projects but rather for scripting using existing API (here the Windows API's but it can get extended).

Current state

PASM is in a working state (Windows/Linux, 32/64 bit), see code examples. PASM supports pointers and arrays. The interpreter works for linux as well, but some API's are Windows only (for now).

TODO :

  • blank IAT

Documentation

The documentation is available here, it should cover everything you have to know before writing scripts.

Usage

Interpreter

make interpreter
pasm.exe code.pasm

As a library

make lib 

Then link the library to your program, see this example.

Code examples

About

patate's assembly language

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published