47 lines
958 B
Plaintext
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;
|
|
}
|
|
|