chore: decompiled source files
This commit is contained in:
parent
bf07be80b0
commit
e6c3264ad3
|
@ -0,0 +1,50 @@
|
|||
|
||||
undefined4 main(void)
|
||||
|
||||
{
|
||||
char local_3a [54];
|
||||
|
||||
pp(local_3a);
|
||||
puts(local_3a);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void pp(char *param_1)
|
||||
|
||||
{
|
||||
char cVar1;
|
||||
uint uVar2;
|
||||
char *pcVar3;
|
||||
byte bVar4;
|
||||
char local_34 [20];
|
||||
char local_20 [20];
|
||||
|
||||
bVar4 = 0;
|
||||
p(local_34,&DAT_080486a0);
|
||||
p(local_20,&DAT_080486a0);
|
||||
strcpy(param_1,local_34);
|
||||
uVar2 = 0xffffffff;
|
||||
pcVar3 = param_1;
|
||||
do {
|
||||
if (uVar2 == 0) break;
|
||||
uVar2 = uVar2 - 1;
|
||||
cVar1 = *pcVar3;
|
||||
pcVar3 = pcVar3 + (uint)bVar4 * -2 + 1;
|
||||
} while (cVar1 != '\0');
|
||||
*(undefined2 *)(param_1 + (~uVar2 - 1)) = 0x20;
|
||||
strcat(param_1,local_20);
|
||||
return;
|
||||
}
|
||||
|
||||
void p(char *param_1,char *param_2)
|
||||
{
|
||||
char *pcVar1;
|
||||
char local_100c [4104];
|
||||
|
||||
puts(param_2);
|
||||
read(0,local_100c,0x1000);
|
||||
pcVar1 = strchr(local_100c,10);
|
||||
*pcVar1 = '\0';
|
||||
strncpy(param_1,local_100c,0x14);
|
||||
return;
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
undefined4 main(undefined4 param_1,int param_2)
|
||||
|
||||
{
|
||||
undefined4 uVar1;
|
||||
undefined local_3c [40];
|
||||
int local_14;
|
||||
|
||||
local_14 = atoi(*(char **)(param_2 + 4));
|
||||
if (local_14 < 10) {
|
||||
memcpy(local_3c,*(void **)(param_2 + 8),local_14 * 4);
|
||||
if (local_14 == 0x574f4c46) {
|
||||
execl("/bin/sh","sh",0);
|
||||
}
|
||||
uVar1 = 0;
|
||||
}
|
||||
else {
|
||||
uVar1 = 1;
|
||||
}
|
||||
return uVar1;
|
||||
}
|
|
@ -0,0 +1,49 @@
|
|||
|
||||
undefined4 main(int param_1,int param_2)
|
||||
|
||||
{
|
||||
undefined4 uVar1;
|
||||
int iVar2;
|
||||
undefined4 *puVar3;
|
||||
undefined4 *puVar4;
|
||||
byte bVar5;
|
||||
undefined4 local_60 [10];
|
||||
char acStack_38 [36];
|
||||
char *local_14;
|
||||
|
||||
bVar5 = 0;
|
||||
if (param_1 == 3) {
|
||||
puVar3 = local_60;
|
||||
for (iVar2 = 0x13; iVar2 != 0; iVar2 = iVar2 + -1) {
|
||||
*puVar3 = 0;
|
||||
puVar3 = puVar3 + 1;
|
||||
}
|
||||
strncpy((char *)local_60,*(char **)(param_2 + 4),0x28);
|
||||
strncpy(acStack_38,*(char **)(param_2 + 8),0x20);
|
||||
local_14 = getenv("LANG");
|
||||
if (local_14 != (char *)0x0) {
|
||||
iVar2 = memcmp(local_14,&DAT_0804873d,2);
|
||||
if (iVar2 == 0) {
|
||||
language = 1;
|
||||
}
|
||||
else {
|
||||
iVar2 = memcmp(local_14,&DAT_08048740,2);
|
||||
if (iVar2 == 0) {
|
||||
language = 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
puVar3 = local_60;
|
||||
puVar4 = (undefined4 *)&stack0xffffff50;
|
||||
for (iVar2 = 0x13; iVar2 != 0; iVar2 = iVar2 + -1) {
|
||||
*puVar4 = *puVar3;
|
||||
puVar3 = puVar3 + (uint)bVar5 * -2 + 1;
|
||||
puVar4 = puVar4 + (uint)bVar5 * -2 + 1;
|
||||
}
|
||||
uVar1 = greetuser();
|
||||
}
|
||||
else {
|
||||
uVar1 = 1;
|
||||
}
|
||||
return uVar1;
|
||||
}
|
|
@ -0,0 +1,40 @@
|
|||
undefined4 main(int param_1,int param_2)
|
||||
|
||||
{
|
||||
undefined4 uVar1;
|
||||
int iVar2;
|
||||
undefined4 *puVar3;
|
||||
byte bVar4;
|
||||
undefined4 local_98 [16];
|
||||
undefined local_57;
|
||||
char local_56 [66];
|
||||
FILE *local_14;
|
||||
|
||||
bVar4 = 0;
|
||||
local_14 = fopen("/home/user/end/.pass","r");
|
||||
puVar3 = local_98;
|
||||
for (iVar2 = 0x21; iVar2 != 0; iVar2 = iVar2 + -1) {
|
||||
*puVar3 = 0;
|
||||
puVar3 = puVar3 + (uint)bVar4 * -2 + 1;
|
||||
}
|
||||
if ((local_14 == (FILE *)0x0) || (param_1 != 2)) {
|
||||
uVar1 = 0xffffffff;
|
||||
}
|
||||
else {
|
||||
fread(local_98,1,0x42,local_14);
|
||||
local_57 = 0;
|
||||
iVar2 = atoi(*(char **)(param_2 + 4));
|
||||
*(undefined *)((int)local_98 + iVar2) = 0;
|
||||
fread(local_56,1,0x41,local_14);
|
||||
fclose(local_14);
|
||||
iVar2 = strcmp((char *)local_98,*(char **)(param_2 + 4));
|
||||
if (iVar2 == 0) {
|
||||
execl("/bin/sh","sh",0);
|
||||
}
|
||||
else {
|
||||
puts(local_56);
|
||||
}
|
||||
uVar1 = 0;
|
||||
}
|
||||
return uVar1;
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
void main(void)
|
||||
{
|
||||
char local_50 [76];
|
||||
|
||||
gets(local_50);
|
||||
return;
|
||||
}
|
||||
|
||||
void run(void)
|
||||
{
|
||||
fwrite("Good... Wait what?\n",1,0x13,stdout);
|
||||
system("/bin/sh");
|
||||
return;
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
|
||||
void main(void)
|
||||
{
|
||||
p();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
void p(void)
|
||||
|
||||
{
|
||||
uint unaff_retaddr;
|
||||
char local_50 [76];
|
||||
|
||||
fflush(stdout);
|
||||
gets(local_50);
|
||||
if ((unaff_retaddr & 0xb0000000) == 0xb0000000) {
|
||||
printf("(%p)\n",unaff_retaddr);
|
||||
/* WARNING: Subroutine does not return */
|
||||
_exit(1);
|
||||
}
|
||||
puts(local_50);
|
||||
strdup(local_50);
|
||||
return;
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
|
||||
void main(void)
|
||||
|
||||
{
|
||||
v();
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
void v(void)
|
||||
|
||||
{
|
||||
char local_20c [520];
|
||||
|
||||
fgets(local_20c,0x200,stdin);
|
||||
printf(local_20c);
|
||||
if (m == 0x40) {
|
||||
fwrite("Wait what?!\n",1,0xc,stdout);
|
||||
system("/bin/sh");
|
||||
}
|
||||
return;
|
||||
}
|
|
@ -0,0 +1,26 @@
|
|||
|
||||
void main(void)
|
||||
{
|
||||
n();
|
||||
return;
|
||||
}
|
||||
|
||||
void n(void)
|
||||
{
|
||||
char local_20c [520];
|
||||
|
||||
fgets(local_20c,0x200,stdin);
|
||||
p(local_20c);
|
||||
if (m == 0x1025544) {
|
||||
system("/bin/cat /home/user/level5/.pass");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
void p(char *param_1)
|
||||
{
|
||||
printf(param_1);
|
||||
return;
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
|
||||
void main(void)
|
||||
|
||||
{
|
||||
n();
|
||||
return;
|
||||
}
|
||||
|
||||
void n(void)
|
||||
|
||||
{
|
||||
char local_20c [520];
|
||||
|
||||
fgets(local_20c,0x200,stdin);
|
||||
printf(local_20c);
|
||||
/* WARNING: Subroutine does not return */
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
void o(void)
|
||||
|
||||
{
|
||||
system("/bin/sh");
|
||||
/* WARNING: Subroutine does not return */
|
||||
_exit(1);
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
|
||||
void main(undefined4 param_1,int param_2)
|
||||
|
||||
{
|
||||
char *__dest;
|
||||
code **ppcVar1;
|
||||
|
||||
__dest = (char *)malloc(0x40);
|
||||
ppcVar1 = (code **)malloc(4);
|
||||
*ppcVar1 = m;
|
||||
strcpy(__dest,*(char **)(param_2 + 4));
|
||||
(**ppcVar1)();
|
||||
return;
|
||||
}
|
||||
|
||||
void m(void *param_1,int param_2,char *param_3,int param_4,int param_5)
|
||||
|
||||
{
|
||||
puts("Nope");
|
||||
return;
|
||||
}
|
||||
|
||||
void n(void)
|
||||
|
||||
{
|
||||
system("/bin/cat /home/user/level7/.pass");
|
||||
return;
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
|
||||
undefined4 main(undefined4 param_1,int param_2)
|
||||
|
||||
{
|
||||
undefined4 *puVar1;
|
||||
void *pvVar2;
|
||||
undefined4 *puVar3;
|
||||
FILE *__stream;
|
||||
|
||||
puVar1 = (undefined4 *)malloc(8);
|
||||
*puVar1 = 1;
|
||||
pvVar2 = malloc(8);
|
||||
puVar1[1] = pvVar2;
|
||||
puVar3 = (undefined4 *)malloc(8);
|
||||
*puVar3 = 2;
|
||||
pvVar2 = malloc(8);
|
||||
puVar3[1] = pvVar2;
|
||||
strcpy((char *)puVar1[1],*(char **)(param_2 + 4));
|
||||
strcpy((char *)puVar3[1],*(char **)(param_2 + 8));
|
||||
__stream = fopen("/home/user/level8/.pass","r");
|
||||
fgets(c,0x44,__stream);
|
||||
puts("~~");
|
||||
return 0;
|
||||
}
|
||||
|
||||
void m(void *param_1,int param_2,char *param_3,int param_4,int param_5)
|
||||
|
||||
{
|
||||
time_t tVar1;
|
||||
|
||||
tVar1 = time((time_t *)0x0);
|
||||
printf("%s - %d\n",c,tVar1);
|
||||
return;
|
||||
}
|
||||
|
|
@ -0,0 +1,116 @@
|
|||
|
||||
undefined4 main(void)
|
||||
|
||||
{
|
||||
char cVar1;
|
||||
char *pcVar2;
|
||||
int iVar3;
|
||||
uint uVar4;
|
||||
byte *pbVar5;
|
||||
byte *pbVar6;
|
||||
bool bVar7;
|
||||
undefined uVar8;
|
||||
undefined uVar9;
|
||||
bool bVar10;
|
||||
undefined uVar11;
|
||||
byte bVar12;
|
||||
byte local_90 [5];
|
||||
char local_8b [2];
|
||||
char acStack_89 [125];
|
||||
|
||||
bVar12 = 0;
|
||||
do {
|
||||
printf("%p, %p \n",auth,service);
|
||||
pcVar2 = fgets((char *)local_90,0x80,stdin);
|
||||
bVar7 = false;
|
||||
bVar10 = pcVar2 == (char *)0x0;
|
||||
if (bVar10) {
|
||||
return 0;
|
||||
}
|
||||
iVar3 = 5;
|
||||
pbVar5 = local_90;
|
||||
pbVar6 = (byte *)"auth ";
|
||||
do {
|
||||
if (iVar3 == 0) break;
|
||||
iVar3 = iVar3 + -1;
|
||||
bVar7 = *pbVar5 < *pbVar6;
|
||||
bVar10 = *pbVar5 == *pbVar6;
|
||||
pbVar5 = pbVar5 + (uint)bVar12 * -2 + 1;
|
||||
pbVar6 = pbVar6 + (uint)bVar12 * -2 + 1;
|
||||
} while (bVar10);
|
||||
uVar8 = 0;
|
||||
uVar11 = (!bVar7 && !bVar10) == bVar7;
|
||||
if ((bool)uVar11) {
|
||||
auth = (undefined4 *)malloc(4);
|
||||
*auth = 0;
|
||||
uVar4 = 0xffffffff;
|
||||
pcVar2 = local_8b;
|
||||
do {
|
||||
if (uVar4 == 0) break;
|
||||
uVar4 = uVar4 - 1;
|
||||
cVar1 = *pcVar2;
|
||||
pcVar2 = pcVar2 + (uint)bVar12 * -2 + 1;
|
||||
} while (cVar1 != '\0');
|
||||
uVar4 = ~uVar4 - 1;
|
||||
uVar8 = uVar4 < 0x1e;
|
||||
uVar11 = uVar4 == 0x1e;
|
||||
if (uVar4 < 0x1f) {
|
||||
strcpy((char *)auth,local_8b);
|
||||
}
|
||||
}
|
||||
iVar3 = 5;
|
||||
pbVar5 = local_90;
|
||||
pbVar6 = (byte *)"reset";
|
||||
do {
|
||||
if (iVar3 == 0) break;
|
||||
iVar3 = iVar3 + -1;
|
||||
uVar8 = *pbVar5 < *pbVar6;
|
||||
uVar11 = *pbVar5 == *pbVar6;
|
||||
pbVar5 = pbVar5 + (uint)bVar12 * -2 + 1;
|
||||
pbVar6 = pbVar6 + (uint)bVar12 * -2 + 1;
|
||||
} while ((bool)uVar11);
|
||||
uVar9 = 0;
|
||||
uVar8 = (!(bool)uVar8 && !(bool)uVar11) == (bool)uVar8;
|
||||
if ((bool)uVar8) {
|
||||
free(auth);
|
||||
}
|
||||
iVar3 = 6;
|
||||
pbVar5 = local_90;
|
||||
pbVar6 = (byte *)"service";
|
||||
do {
|
||||
if (iVar3 == 0) break;
|
||||
iVar3 = iVar3 + -1;
|
||||
uVar9 = *pbVar5 < *pbVar6;
|
||||
uVar8 = *pbVar5 == *pbVar6;
|
||||
pbVar5 = pbVar5 + (uint)bVar12 * -2 + 1;
|
||||
pbVar6 = pbVar6 + (uint)bVar12 * -2 + 1;
|
||||
} while ((bool)uVar8);
|
||||
uVar11 = 0;
|
||||
uVar8 = (!(bool)uVar9 && !(bool)uVar8) == (bool)uVar9;
|
||||
if ((bool)uVar8) {
|
||||
uVar11 = (byte *)0xfffffff8 < local_90;
|
||||
uVar8 = acStack_89 == (char *)0x0;
|
||||
service = strdup(acStack_89);
|
||||
}
|
||||
iVar3 = 5;
|
||||
pbVar5 = local_90;
|
||||
pbVar6 = (byte *)"login";
|
||||
do {
|
||||
if (iVar3 == 0) break;
|
||||
iVar3 = iVar3 + -1;
|
||||
uVar11 = *pbVar5 < *pbVar6;
|
||||
uVar8 = *pbVar5 == *pbVar6;
|
||||
pbVar5 = pbVar5 + (uint)bVar12 * -2 + 1;
|
||||
pbVar6 = pbVar6 + (uint)bVar12 * -2 + 1;
|
||||
} while ((bool)uVar8);
|
||||
if ((!(bool)uVar11 && !(bool)uVar8) == (bool)uVar11) {
|
||||
if (auth[8] == 0) {
|
||||
fwrite("Password:\n",1,10,stdout);
|
||||
}
|
||||
else {
|
||||
system("/bin/sh");
|
||||
}
|
||||
}
|
||||
} while( true );
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
|
||||
void main(int param_1,int param_2)
|
||||
|
||||
{
|
||||
N *this;
|
||||
undefined4 *this_00;
|
||||
|
||||
if (param_1 < 2) {
|
||||
/* WARNING: Subroutine does not return */
|
||||
_exit(1);
|
||||
}
|
||||
this = (N *)operator.new(0x6c);
|
||||
N::N(this,5);
|
||||
this_00 = (undefined4 *)operator.new(0x6c);
|
||||
N::N((N *)this_00,6);
|
||||
N::setAnnotation(this,*(char **)(param_2 + 4));
|
||||
(**(code **)*this_00)(this_00,this);
|
||||
return;
|
||||
}
|
||||
|
||||
void __thiscall N::setAnnotation(N *this,char *param_1)
|
||||
|
||||
{
|
||||
size_t __n;
|
||||
|
||||
__n = strlen(param_1);
|
||||
memcpy(this + 4,param_1,__n);
|
||||
return;
|
||||
}
|
||||
|
Loading…
Reference in New Issue