==> Synchronizing chroot copy [/chroot/armv8/root] -> [build]...done
==> Making package: cymothoa 1-3 (Wed Dec 4 13:09:41 UTC 2019)
==> Retrieving sources...
-> Found cymothoa-1-beta.tar.gz
==> Validating source files with sha512sums...
cymothoa-1-beta.tar.gz ... Passed
Host and machine ids are equal (b6eac563832547c9ad9408127b1b4375): refusing to link journals
==> Making package: cymothoa 1-3 (Wed 04 Dec 2019 01:09:55 PM UTC)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found cymothoa-1-beta.tar.gz
==> WARNING: Skipping all source file integrity checks.
==> Extracting sources...
-> Extracting cymothoa-1-beta.tar.gz with bsdtar
==> Starting build()...
cc bgrep.c -o bgrep
cc udp_server.c -o udp_server
cc cymothoa.c -o cymothoa -Dlinux_x86
cymothoa.c: In function ‘ptrace_inject’:
cymothoa.c:138:28: error: ‘BLOCK_SIZE’ undeclared (first use in this function); did you mean ‘LOCK_SH’?
memcpy(&data, buf, BLOCK_SIZE);
^~~~~~~~~~
LOCK_SH
cymothoa.c:138:28: note: each undeclared identifier is reported only once for each function it appears in
cymothoa.c: In function ‘ptrace_infect’:
cymothoa.c:173:9: warning: implicit declaration of function ‘waitpid’; did you mean ‘getpid’? [-Wimplicit-function-declaration]
waitpid(pid,NULL,0);
^~~~~~~
getpid
cymothoa.c:175:16: error: ‘PTRACE_GETREGS’ undeclared (first use in this function); did you mean ‘PTRACE_GETREGSET’?
ptrace(PTRACE_GETREGS,pid,®,®); // general purpose registers
^~~~~~~~~~~~~~
PTRACE_GETREGSET
cymothoa.c:179:42: error: ‘struct user_regs_struct’ has no member named ‘AX’
printf(" eax value: 0x%lx\t", reg.AX);
^
cymothoa.c:180:42: error: ‘struct user_regs_struct’ has no member named ‘BX’
printf(" ebx value: 0x%lx\n", reg.BX);
^
cymothoa.c:181:42: error: ‘struct user_regs_struct’ has no member named ‘STACK_POINTER’
printf(" esp value: 0x%lx\t", reg.STACK_POINTER);
^
cymothoa.c:182:42: error: ‘struct user_regs_struct’ has no member named ‘INST_POINTER’
printf(" eip value: 0x%lx\n", reg.INST_POINTER);
^
cymothoa.c:185:12: error: ‘struct user_regs_struct’ has no member named ‘STACK_POINTER’
reg.STACK_POINTER -= BLOCK_SIZE; // decrement STACK_POINTER
^
cymothoa.c:185:30: error: ‘BLOCK_SIZE’ undeclared (first use in this function); did you mean ‘LOCK_SH’?
reg.STACK_POINTER -= BLOCK_SIZE; // decrement STACK_POINTER
^~~~~~~~~~
LOCK_SH
cymothoa.c:187:45: error: ‘struct user_regs_struct’ has no member named ‘STACK_POINTER’
printf("[+] new esp: 0x%.8lx\n", reg.STACK_POINTER);
^
cymothoa.c:189:41: error: ‘struct user_regs_struct’ has no member named ‘STACK_POINTER’
ptrace(PTRACE_POKETEXT, pid, reg.STACK_POINTER, reg.INST_POINTER); // poke INST_POINTER -> STACK_POINTER
^
cymothoa.c:189:60: error: ‘struct user_regs_struct’ has no member named ‘INST_POINTER’
ptrace(PTRACE_POKETEXT, pid, reg.STACK_POINTER, reg.INST_POINTER); // poke INST_POINTER -> STACK_POINTER
^
cymothoa.c:193:55: error: ‘struct user_regs_struct’ has no member named ‘STACK_POINTER’
printf("[+] payload preamble: fork\n", reg.STACK_POINTER);
^
cymothoa.c:195:57: error: ‘struct user_regs_struct’ has no member named ‘STACK_POINTER’
printf("[+] payload preamble: thread\n", reg.STACK_POINTER);
^
cymothoa.c:197:56: error: ‘struct user_regs_struct’ has no member named ‘STACK_POINTER’
printf("[+] payload preamble: alarm\n", reg.STACK_POINTER);
^
cymothoa.c:199:60: error: ‘struct user_regs_struct’ has no member named ‘STACK_POINTER’
printf("[+] payload preamble: setitimer\n", reg.STACK_POINTER);
^
cymothoa.c:206:12: error: ‘struct user_regs_struct’ has no member named ‘INST_POINTER’
reg.INST_POINTER = ptr + 2;
^
cymothoa.c:208:16: error: ‘PTRACE_SETREGS’ undeclared (first use in this function); did you mean ‘PTRACE_SETREGSET’?
ptrace(PTRACE_SETREGS, pid, ®, ®);
^~~~~~~~~~~~~~
PTRACE_SETREGSET
make: *** [Makefile:4: make] Error 1
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Build failed, check /chroot/armv8/build/build