OverRide/level04/source

47 lines
958 B
Plaintext

undefined4 main(void)
{
int iVar1;
undefined4 *puVar2;
byte bVar3;
uint local_a4;
undefined4 local_a0 [32];
uint local_20;
uint local_1c;
long local_18;
__pid_t local_14;
bVar3 = 0;
local_14 = fork();
puVar2 = local_a0;
for (iVar1 = 0x20; iVar1 != 0; iVar1 = iVar1 + -1) {
*puVar2 = 0;
puVar2 = puVar2 + (uint)bVar3 * -2 + 1;
}
local_18 = 0;
local_a4 = 0;
if (local_14 == 0) {
prctl(1,1);
ptrace(PTRACE_TRACEME,0,0,0);
puts("Give me some shellcode, k");
gets((char *)local_a0);
}
else {
do {
wait(&local_a4);
local_20 = local_a4;
if (((local_a4 & 0x7f) == 0) ||
(local_1c = local_a4, '\0' < (char)(((byte)local_a4 & 0x7f) + 1) >> 1)) {
puts("child is exiting...");
return 0;
}
local_18 = ptrace(PTRACE_PEEKUSER,local_14,0x2c,0);
} while (local_18 != 0xb);
puts("no exec() for you");
kill(local_14,9);
}
return 0;
}