diff --git a/src/agent.jazz b/src/agent.jazz index 22da3c6..ba5c3c0 100644 --- a/src/agent.jazz +++ b/src/agent.jazz @@ -2,15 +2,25 @@ from Jade require "crypto_scalarmult/curve25519/amd64/mulx/curve25519.jinc" export fn agent_start(reg u64 shared_mem sync_mem) { stack u8[8] unused; - reg u64 spill_sync_mem; - spill_sync_mem = sync_mem; + reg u64 outptr; + reg u64 spill_sync_mem spill_shared_mem; - while (true) { + spill_sync_mem = sync_mem; + spill_shared_mem = shared_mem; + + while (true) { unused = unused; sync_mem = spill_sync_mem; unused = #read(unused, sync_mem); - unused = unused; + sync_mem = spill_sync_mem; + shared_mem = spill_shared_mem; + + outptr = (u64)[sync_mem + 8]; + outptr = shared_mem + outptr; + + (u64)[outptr] = 0x1337; + unused = #write(unused, sync_mem); } }