And why doy need to interpret it and not use compiled?
hey guys , I got a doubt on that strange function . which it doing a for` '\a' and '\b'` , but I also notice is subtraction v6 % 8 in this case AAAAAAA which lands in the first condition , but if I have the value -194 which is the result value from our` __QWORD[256] Buffer = sub_140001170(array[v9 % -256]); # -194` . I saw, some_256_array `is full of ret instructions or that's what it is copied to `empty_function by default. the thing is v9 is 62 by default, but I am confused to reach at else part
if ( *(_QWORD *)buf == '9102okE' )
{
strcpy(buf, "Eko2019");
if ( msg <= 512 )
{
printf(aWaitingUserMes);
v6 = recv(s, &Dst, (unsigned __int16)msg, 0);
printf(aMessageReceive, v6);
if ( (signed int)v6 % 8 )
{
printf(aErrorInvalidSi);
result = '\0';
}
else
{
qword_14000D4E0 = printf(aRemoteMessageI, (unsigned int)dword_14000C000, &Dst);
++dword_14000C000;
Buffer = sub_140001170(array[v9 % -256]);
v2 = GetCurrentProcess();
WriteProcessMemory(v2, empty_func, &Buffer, 8ui64, &NumberOfBytesWritten);
empty_func();
*(_QWORD *)v4 = v3;
send(s, v4, 8, 0);
result = 1i64;
}
}strange function sub_140001170
[+] Header received: 14 bytes
[+] Header received: 8 bytes
buf = struct.pack("<Q",0x393130326F6B45)
v12 = "AAAAAAA" * 512# msg <= 512 , gets Error: Size too big
payload = buf + v12