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.
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).
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
The documentation is available here, it should cover everything you have to know before writing scripts.
make interpreter
pasm.exe code.pasm
make lib
Then link the library to your program, see this example.