This commit is contained in:
Brian Seymour 2020-10-06 23:41:13 -05:00
commit a89d22bd25
6 changed files with 33 additions and 3 deletions

View File

@ -79,6 +79,7 @@ func Execute(res http.ResponseWriter, req *http.Request) {
"kotlin",
"lua",
"nasm", "asm",
"nasm64", "asm64",
"node", "javascript", "js",
"perl", "pl",
"php",
@ -152,6 +153,8 @@ func launch(request Inbound, res http.ResponseWriter) {
execlang = "elixir"
case "asm":
execlang = "nasm"
case "asm64":
execlang = "nasm64"
case "js", "javascript":
execlang = "node"
case "jl":

View File

@ -81,6 +81,9 @@ case "$lang" in
"nasm" | "asm")
bin=nasm
;;
"nasm64" | "asm64")
bin=nasm64
;;
"node" | "js" | "javascript")
bin=node
;;

View File

@ -1,4 +1,4 @@
cd /tmp/$2
timeout -s KILL 10 nasm -f elf64 -o binary.o code.code
timeout -s KILL 10 ld binary.o -o binary
timeout -s KILL 10 nasm -f elf32 -o binary.o code.code
timeout -s KILL 10 ld -m elf_i386 binary.o -o binary
runuser runner$1 -c "cd /tmp/$2 ; cat args.args | xargs -d '\n' timeout -s KILL 3 ./binary"

4
lxc/executors/nasm64 Executable file
View File

@ -0,0 +1,4 @@
cd /tmp/$2
timeout -s KILL 10 nasm -f elf64 -o binary.o code.code
timeout -s KILL 10 ld -m elf_x86_64 binary.o -o binary
runuser runner$1 -c "cd /tmp/$2 ; cat args.args | xargs -d '\n' timeout -s KILL 3 ./binary"

View File

@ -23,8 +23,10 @@ echo 'testing js'
../execute js test.js
echo 'testing kotlin'
../execute kotlin test.kt
echo 'testing asm'
echo 'testing asm 32 bit'
../execute asm test.nasm
echo 'testing asm 64 bit'
../execute asm64 test64.nasm
echo 'testing php'
../execute php test.php
echo 'testing perl'

18
lxc/tests/test64.nasm Normal file
View File

@ -0,0 +1,18 @@
SECTION .data
good: db "good", 0x0a, 0x0
txtlen: equ $ - good
SECTION .text
GLOBAL _start
_start:
;sys_write
mov rax, 1
mov rdi, 1
mov rsi, good
mov rdx, txtlen
syscall
;sys_exit
mov rax, 60
mov rdi, 0
syscall