Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
- Версия SA-MP
-
- Любая
Требования: ASI Loader, gta_sa.exe US 1.0.
Активация: Автоматическая.
Автор: @Cake_
Нет, оконный режим остаётся прежним, просто исправляет перечисленные баги/ошибкиВнатуре класс, а как оно работает? Переводит в оконный без рамки?
Не понял, если можешь - скинь фрапс этого багаА баг с исчезновением открытой таблички при сворачивании игры он исправляет?
BOOL __stdcall DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
int v3; // ecx
void **v4; // eax
void **v5; // eax
const CHAR *v6; // eax
CHAR *v7; // ecx
int v8; // edx
int v9; // ecx
int v10; // eax
int v11; // ecx
LPCSTR *v12; // eax
LPCSTR *v13; // eax
unsigned int v14; // edi
struct std::_Facet_base *v15; // esi
int v16; // eax
struct std::_Facet_base *v17; // esi
void **v18; // esi
void **v19; // edx
CHAR *v20; // ecx
int v21; // edx
unsigned int v22; // eax
bool v23; // cf
bool v24; // zf
int *v25; // eax
void *v26; // edx
int v27; // ecx
int v28; // eax
int v29; // eax
int v30; // ecx
void **v31; // eax
void **v32; // eax
size_t v33; // ecx
size_t v34; // edi
void **v35; // eax
void **v36; // eax
void *v37; // eax
void **v38; // eax
int v39; // esi
int v40; // ecx
void **v41; // eax
void **v42; // eax
const CHAR *v43; // eax
CHAR *v44; // ecx
int v45; // edx
void (__thiscall ***v46)(_DWORD, signed int); // eax
void *v48; // [esp+10h] [ebp-248h]
int v49; // [esp+20h] [ebp-238h]
unsigned int v50; // [esp+24h] [ebp-234h]
void *v51; // [esp+28h] [ebp-230h]
int v52; // [esp+38h] [ebp-220h]
unsigned int v53; // [esp+3Ch] [ebp-21Ch]
LPCSTR lpText[4]; // [esp+40h] [ebp-218h]
__int64 v55; // [esp+50h] [ebp-208h]
void *v56; // [esp+58h] [ebp-200h]
size_t Size; // [esp+68h] [ebp-1F0h]
unsigned int v58; // [esp+6Ch] [ebp-1ECh]
void *v59[4]; // [esp+70h] [ebp-1E8h]
__int64 v60; // [esp+80h] [ebp-1D8h]
void *v61[4]; // [esp+88h] [ebp-1D0h]
size_t v62[2]; // [esp+98h] [ebp-1C0h]
void *v63[4]; // [esp+A0h] [ebp-1B8h]
__int64 v64; // [esp+B0h] [ebp-1A8h]
LPCSTR lpModuleName[4]; // [esp+B8h] [ebp-1A0h]
__int64 v66; // [esp+C8h] [ebp-190h]
void *Memory[4]; // [esp+D0h] [ebp-188h]
__int64 v68; // [esp+E0h] [ebp-178h]
bool v69; // [esp+EBh] [ebp-16Dh]
struct std::_Facet_base *v70; // [esp+ECh] [ebp-16Ch]
int Dst; // [esp+F0h] [ebp-168h]
char v72; // [esp+F4h] [ebp-164h]
__int128 v73; // [esp+F8h] [ebp-160h]
int v74; // [esp+108h] [ebp-150h]
char v75; // [esp+10Ch] [ebp-14Ch]
int v76; // [esp+110h] [ebp-148h]
int v77; // [esp+114h] [ebp-144h]
char v78; // [esp+118h] [ebp-140h]
int v79; // [esp+11Ch] [ebp-13Ch]
int v80; // [esp+120h] [ebp-138h]
char v81; // [esp+124h] [ebp-134h]
struct std::_Facet_base *v82; // [esp+12Ch] [ebp-12Ch]
__int128 v83; // [esp+130h] [ebp-128h]
struct std::locale::_Locimp *v84; // [esp+140h] [ebp-118h]
void *Src; // [esp+144h] [ebp-114h]
CHAR Filename; // [esp+148h] [ebp-110h]
int v87; // [esp+254h] [ebp-4h]
if ( fdwReason != 1 )
{
if ( !fdwReason && !byte_1000C63C )
{
SetWindowLongA((HWND)*MEMORY[0xC17054], -4, (LONG)dwNewLong);
byte_1000C63C = 1;
}
return 1;
}
v68 = 64424509440i64;
LOBYTE(Memory[0]) = 0;
sub_10002580(Memory, "WindowModeAltFixByCake", 0x16u);
v87 = 0;
v3 = v68;
if ( (unsigned int)(HIDWORD(v68) - v68) < 4 )
{
LOBYTE(v70) = 0;
v5 = (void **)sub_10002A60(Memory, 4, (int)v70, (int)".asi", 4u);
}
else
{
LODWORD(v68) = v68 + 4;
v4 = Memory;
if ( HIDWORD(v68) >= 0x10 )
v4 = (void **)Memory[0];
*(void **)((char *)v4 + v3) = (void *)1769169198;
*((_BYTE *)v4 + v3 + 4) = 0;
v5 = Memory;
}
*(_OWORD *)lpModuleName = *(_OWORD *)v5;
v66 = *((_QWORD *)v5 + 2);
v5[4] = 0;
v5[5] = (void *)15;
*(_BYTE *)v5 = 0;
v6 = (const CHAR *)lpModuleName;
if ( HIDWORD(v66) >= 0x10 )
v6 = lpModuleName[0];
v69 = GetModuleHandleA(v6) != hinstDLL;
if ( HIDWORD(v66) >= 0x10 )
{
v7 = (CHAR *)lpModuleName[0];
if ( (unsigned int)(HIDWORD(v66) + 1) >= 0x1000 )
{
v7 = (CHAR *)*((_DWORD *)lpModuleName[0] - 1);
v8 = HIDWORD(v66) + 36;
if ( (unsigned int)(lpModuleName[0] - (LPCSTR)v7 - 4) > 0x1F )
{
LABEL_16:
invalid_parameter_noinfo_noreturn(v7, v8);
goto LABEL_17;
}
}
sub_100086F1(v7);
}
v87 = -1;
v66 = 64424509440i64;
LOBYTE(lpModuleName[0]) = 0;
if ( HIDWORD(v68) < 0x10 )
goto LABEL_18;
v7 = (CHAR *)Memory[0];
if ( (unsigned int)(HIDWORD(v68) + 1) >= 0x1000 )
{
v7 = (CHAR *)*((_DWORD *)Memory[0] - 1);
v8 = HIDWORD(v68) + 36;
if ( (unsigned int)(Memory[0] - (void *)v7 - 4) > 0x1F )
goto LABEL_16;
}
LABEL_17:
sub_100086F1(v7);
LABEL_18:
if ( !v69 )
{
beginthread(sub_10002190, 0, 0);
return 1;
}
GetModuleFileNameA(hinstDLL, &Filename, 0x100u);
v84 = 0;
v49 = 0;
v83 = 0i64;
v50 = 15;
LOBYTE(v48) = 0;
sub_10002580(&v48, ".asi", 4u);
v87 = 1;
v10 = sub_10002BE0((int)&v48, v9, ".*\\\\(.*", 7u);
v66 = 0i64;
*(_OWORD *)lpModuleName = *(_OWORD *)v10;
v66 = *(_QWORD *)(v10 + 16);
*(_DWORD *)(v10 + 16) = 0;
*(_DWORD *)(v10 + 20) = 15;
*(_BYTE *)v10 = 0;
LOBYTE(v87) = 2;
v11 = v66;
if ( (unsigned int)(HIDWORD(v66) - v66) < 1 )
{
LOBYTE(v70) = 0;
v13 = (LPCSTR *)sub_10002A60(lpModuleName, 1, (int)v70, (int)")", 1u);
}
else
{
LODWORD(v66) = v66 + 1;
v12 = lpModuleName;
if ( HIDWORD(v66) >= 0x10 )
v12 = (LPCSTR *)lpModuleName[0];
*(_WORD *)((char *)v12 + v11) = 41;
v13 = lpModuleName;
}
v68 = 0i64;
*(_OWORD *)Memory = *(_OWORD *)v13;
v68 = *((_QWORD *)v13 + 2);
v13[4] = 0;
v13[5] = (LPCSTR)15;
*(_BYTE *)v13 = 0;
LODWORD(v83) = 0;
LOBYTE(v87) = 4;
v84 = std::locale::_Init(1);
LOBYTE(v87) = 5;
DWORD1(v83) = sub_10002EE0((char *)&v83 + 12);
std::_Lockit::_Lockit((std::_Lockit *)&Src, 0);
LOBYTE(v87) = 6;
v70 = (struct std::_Facet_base *)dword_1000C644;
v14 = std::locale::id::operator unsigned int(std::ctype<char>::id);
if ( v14 >= *((_DWORD *)v84 + 3) )
{
v15 = 0;
}
else
{
v15 = *(struct std::_Facet_base **)(*((_DWORD *)v84 + 2) + 4 * v14);
if ( v15 )
goto LABEL_35;
}
if ( !*((_BYTE *)v84 + 20) )
{
LABEL_31:
if ( v15 )
goto LABEL_35;
goto LABEL_32;
}
v16 = std::locale::_Getgloballocale();
if ( v14 < *(_DWORD *)(v16 + 12) )
{
v15 = *(struct std::_Facet_base **)(*(_DWORD *)(v16 + 8) + 4 * v14);
goto LABEL_31;
}
LABEL_32:
v15 = v70;
if ( !v70 )
{
if ( std::ctype<char>::_Getcat(&v70, (char *)&v83 + 12) == -1 )
sub_100011D0();
v17 = v70;
v82 = v70;
LOBYTE(v87) = 7;
std::_Facet_Register(v70);
(*(void (__thiscall **)(struct std::_Facet_base *))(*(_DWORD *)v17 + 4))(v17);
v15 = v70;
dword_1000C644 = (int)v70;
}
LABEL_35:
std::_Lockit::~_Lockit((std::_Lockit *)&Src);
DWORD2(v83) = v15;
LOBYTE(v87) = 8;
v18 = Memory;
v19 = Memory;
if ( HIDWORD(v68) >= 0x10 )
v18 = (void **)Memory[0];
if ( HIDWORD(v68) >= 0x10 )
v19 = (void **)Memory[0];
sub_10002C90(v19, (char *)v18 + v68, HIDWORD(v68), v82);
LOBYTE(v87) = 10;
if ( HIDWORD(v68) >= 0x10 )
{
v20 = (CHAR *)Memory[0];
if ( (unsigned int)(HIDWORD(v68) + 1) >= 0x1000 )
{
v20 = (CHAR *)*((_DWORD *)Memory[0] - 1);
v21 = HIDWORD(v68) + 36;
if ( (unsigned int)(Memory[0] - (void *)v20 - 4) > 0x1F )
goto LABEL_50;
}
sub_100086F1(v20);
}
v68 = 64424509440i64;
LOBYTE(Memory[0]) = 0;
LOBYTE(v87) = 11;
if ( HIDWORD(v66) < 0x10 )
goto LABEL_47;
v20 = (CHAR *)lpModuleName[0];
if ( (unsigned int)(HIDWORD(v66) + 1) >= 0x1000 )
{
v20 = (CHAR *)*((_DWORD *)lpModuleName[0] - 1);
v21 = HIDWORD(v66) + 36;
if ( (unsigned int)(lpModuleName[0] - (LPCSTR)v20 - 4) > 0x1F )
{
LABEL_50:
invalid_parameter_noinfo_noreturn(v20, v21);
goto LABEL_51;
}
}
sub_100086F1(v20);
LABEL_47:
v66 = 64424509440i64;
LOBYTE(lpModuleName[0]) = 0;
LOBYTE(v87) = 12;
if ( v50 < 0x10 )
goto LABEL_52;
v20 = (CHAR *)v48;
if ( v50 + 1 >= 0x1000 )
{
v20 = (CHAR *)*((_DWORD *)v48 - 1);
v21 = v50 + 36;
if ( (unsigned int)((_BYTE *)v48 - v20 - 4) > 0x1F )
goto LABEL_50;
}
LABEL_51:
sub_100086F1(v20);
LABEL_52:
memset(&Dst, 0, 0x38u);
Dst = 0;
v72 = 0;
v73 = 0i64;
v74 = 0;
v75 = 0;
v76 = 0;
v77 = 0;
v78 = 0;
v79 = 0;
v80 = 0;
v81 = 0;
LOBYTE(v87) = 13;
if ( !(unsigned __int8)sub_10002740(&v83) )
goto LABEL_109;
Size = 0;
v58 = 15;
LOBYTE(v56) = 0;
sub_10002580(&v56, "WindowModeAltFixByCake", 0x16u);
LOBYTE(v87) = 14;
v22 = (DWORD1(v73) - (signed int)v73) / 12;
v23 = v22 < 1;
v24 = v22 == 1;
v25 = &v79;
if ( !v23 && !v24 )
v25 = (int *)(v73 + 12);
if ( *((_BYTE *)v25 + 8) )
{
v26 = (void *)*v25;
v27 = *v25;
v28 = v25[1];
}
else
{
v26 = 0;
v28 = 0;
v27 = 0;
}
v52 = 0;
v53 = 15;
LOBYTE(v51) = 0;
if ( v27 != v28 )
sub_10002580(&v51, v26, v28 - v27);
LOBYTE(v87) = 15;
v29 = sub_10002BE0((int)&v51, v27, "Incorrect file name.\nPlease rename: ", 0x24u);
v60 = 0i64;
*(_OWORD *)v59 = *(_OWORD *)v29;
v60 = *(_QWORD *)(v29 + 16);
*(_DWORD *)(v29 + 16) = 0;
*(_DWORD *)(v29 + 20) = 15;
*(_BYTE *)v29 = 0;
LOBYTE(v87) = 16;
v30 = v60;
if ( (unsigned int)(HIDWORD(v60) - v60) < 4 )
{
LOBYTE(Src) = 0;
v32 = (void **)sub_10002A60(v59, 4, (int)Src, (int)" to ", 4u);
}
else
{
LODWORD(v60) = v60 + 4;
v31 = v59;
if ( HIDWORD(v60) >= 0x10 )
v31 = (void **)v59[0];
*(void **)((char *)v31 + v30) = (void *)544175136;
*((_BYTE *)v31 + v30 + 4) = 0;
v32 = v59;
}
v62[0] = 0;
v62[1] = 0;
*(_OWORD *)v61 = *(_OWORD *)v32;
*(_QWORD *)v62 = *((_QWORD *)v32 + 2);
v32[4] = 0;
v32[5] = (void *)15;
*(_BYTE *)v32 = 0;
LOBYTE(v87) = 17;
v33 = v62[0];
v34 = Size;
if ( Size <= v62[1] - v62[0] || v58 - Size < v62[0] )
{
v37 = &v56;
if ( v58 >= 0x10 )
v37 = v56;
Src = v37;
if ( Size > v62[1] - v62[0] )
{
LOBYTE(Src) = 0;
v36 = (void **)sub_10002A60(v61, Size, (int)Src, (int)v37, Size);
}
else
{
v62[0] += Size;
v38 = v61;
if ( v62[1] >= 0x10 )
v38 = (void **)v61[0];
v39 = (int)v38 + v33;
memmove((char *)v38 + v33, Src, Size);
*(_BYTE *)(v34 + v39) = 0;
v36 = v61;
}
}
else
{
v35 = v61;
if ( v62[1] >= 0x10 )
v35 = (void **)v61[0];
v36 = (void **)sub_10002BE0((int)&v56, v62[0], v35, v62[0]);
}
v64 = 0i64;
*(_OWORD *)v63 = *(_OWORD *)v36;
v64 = *((_QWORD *)v36 + 2);
*(_BYTE *)v36 = 0;
v36[5] = (void *)15;
v36[4] = 0;
LOBYTE(v87) = 18;
v40 = v64;
if ( (unsigned int)(HIDWORD(v64) - v64) < 4 )
{
LOBYTE(Src) = 0;
v42 = (void **)sub_10002A60(v63, 4, (int)Src, (int)".asi", 4u);
}
else
{
LODWORD(v64) = v64 + 4;
v41 = v63;
if ( HIDWORD(v64) >= 0x10 )
v41 = (void **)v63[0];
*(void **)((char *)v41 + v40) = (void *)1769169198;
*((_BYTE *)v41 + v40 + 4) = 0;
v42 = v63;
}
*(_OWORD *)lpText = *(_OWORD *)v42;
v55 = *((_QWORD *)v42 + 2);
v42[4] = 0;
v42[5] = (void *)15;
*(_BYTE *)v42 = 0;
v43 = (const CHAR *)lpText;
if ( HIDWORD(v55) >= 0x10 )
v43 = lpText[0];
MessageBoxA(0, v43, "WindowModeAltFixByCake", 0);
if ( HIDWORD(v55) >= 0x10 )
{
v44 = (CHAR *)lpText[0];
if ( (unsigned int)(HIDWORD(v55) + 1) >= 0x1000 )
{
v44 = (CHAR *)*((_DWORD *)lpText[0] - 1);
v45 = HIDWORD(v55) + 36;
if ( (unsigned int)(lpText[0] - (LPCSTR)v44 - 4) > 0x1F )
goto LABEL_107;
}
sub_100086F1(v44);
}
v55 = 64424509440i64;
LOBYTE(lpText[0]) = 0;
if ( HIDWORD(v64) >= 0x10 )
{
v44 = (CHAR *)v63[0];
if ( (unsigned int)(HIDWORD(v64) + 1) >= 0x1000 )
{
v44 = (CHAR *)*((_DWORD *)v63[0] - 1);
v45 = HIDWORD(v64) + 36;
if ( (unsigned int)(v63[0] - (void *)v44 - 4) > 0x1F )
goto LABEL_107;
}
sub_100086F1(v44);
}
v64 = 64424509440i64;
LOBYTE(v63[0]) = 0;
if ( v62[1] >= 0x10 )
{
v44 = (CHAR *)v61[0];
if ( v62[1] + 1 >= 0x1000 )
{
v44 = (CHAR *)*((_DWORD *)v61[0] - 1);
v45 = v62[1] + 36;
if ( (unsigned int)(v61[0] - (void *)v44 - 4) > 0x1F )
goto LABEL_107;
}
sub_100086F1(v44);
}
v62[0] = 0;
v62[1] = 15;
LOBYTE(v61[0]) = 0;
if ( HIDWORD(v60) >= 0x10 )
{
v44 = (CHAR *)v59[0];
if ( (unsigned int)(HIDWORD(v60) + 1) >= 0x1000 )
{
v44 = (CHAR *)*((_DWORD *)v59[0] - 1);
v45 = HIDWORD(v60) + 36;
if ( (unsigned int)(v59[0] - (void *)v44 - 4) > 0x1F )
goto LABEL_107;
}
sub_100086F1(v44);
}
v60 = 64424509440i64;
LOBYTE(v59[0]) = 0;
if ( v53 < 0x10 )
goto LABEL_104;
v44 = (CHAR *)v51;
if ( v53 + 1 >= 0x1000 )
{
v44 = (CHAR *)*((_DWORD *)v51 - 1);
v45 = v53 + 36;
if ( (unsigned int)((_BYTE *)v51 - v44 - 4) > 0x1F )
{
LABEL_107:
invalid_parameter_noinfo_noreturn(v44, v45);
LABEL_108:
sub_100086F1(v44);
goto LABEL_109;
}
}
sub_100086F1(v44);
LABEL_104:
v52 = 0;
v53 = 15;
LOBYTE(v51) = 0;
if ( v58 >= 0x10 )
{
v44 = (CHAR *)v56;
if ( v58 + 1 < 0x1000 )
goto LABEL_108;
v44 = (CHAR *)*((_DWORD *)v56 - 1);
v45 = v58 + 36;
if ( (unsigned int)((_BYTE *)v56 - v44 - 4) <= 0x1F )
goto LABEL_108;
goto LABEL_107;
}
LABEL_109:
sub_100021D0(&v73);
sub_10002530(&v83);
if ( v84 )
{
v46 = (void (__thiscall ***)(_DWORD, signed int))(*(int (**)(void))(*(_DWORD *)v84 + 8))();
if ( v46 )
(**v46)(v46, 1);
}
return 0;
}
онC++:BOOL __stdcall DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { int v3; // ecx void **v4; // eax void **v5; // eax const CHAR *v6; // eax CHAR *v7; // ecx int v8; // edx int v9; // ecx int v10; // eax int v11; // ecx LPCSTR *v12; // eax LPCSTR *v13; // eax unsigned int v14; // edi struct std::_Facet_base *v15; // esi int v16; // eax struct std::_Facet_base *v17; // esi void **v18; // esi void **v19; // edx CHAR *v20; // ecx int v21; // edx unsigned int v22; // eax bool v23; // cf bool v24; // zf int *v25; // eax void *v26; // edx int v27; // ecx int v28; // eax int v29; // eax int v30; // ecx void **v31; // eax void **v32; // eax size_t v33; // ecx size_t v34; // edi void **v35; // eax void **v36; // eax void *v37; // eax void **v38; // eax int v39; // esi int v40; // ecx void **v41; // eax void **v42; // eax const CHAR *v43; // eax CHAR *v44; // ecx int v45; // edx void (__thiscall ***v46)(_DWORD, signed int); // eax void *v48; // [esp+10h] [ebp-248h] int v49; // [esp+20h] [ebp-238h] unsigned int v50; // [esp+24h] [ebp-234h] void *v51; // [esp+28h] [ebp-230h] int v52; // [esp+38h] [ebp-220h] unsigned int v53; // [esp+3Ch] [ebp-21Ch] LPCSTR lpText[4]; // [esp+40h] [ebp-218h] __int64 v55; // [esp+50h] [ebp-208h] void *v56; // [esp+58h] [ebp-200h] size_t Size; // [esp+68h] [ebp-1F0h] unsigned int v58; // [esp+6Ch] [ebp-1ECh] void *v59[4]; // [esp+70h] [ebp-1E8h] __int64 v60; // [esp+80h] [ebp-1D8h] void *v61[4]; // [esp+88h] [ebp-1D0h] size_t v62[2]; // [esp+98h] [ebp-1C0h] void *v63[4]; // [esp+A0h] [ebp-1B8h] __int64 v64; // [esp+B0h] [ebp-1A8h] LPCSTR lpModuleName[4]; // [esp+B8h] [ebp-1A0h] __int64 v66; // [esp+C8h] [ebp-190h] void *Memory[4]; // [esp+D0h] [ebp-188h] __int64 v68; // [esp+E0h] [ebp-178h] bool v69; // [esp+EBh] [ebp-16Dh] struct std::_Facet_base *v70; // [esp+ECh] [ebp-16Ch] int Dst; // [esp+F0h] [ebp-168h] char v72; // [esp+F4h] [ebp-164h] __int128 v73; // [esp+F8h] [ebp-160h] int v74; // [esp+108h] [ebp-150h] char v75; // [esp+10Ch] [ebp-14Ch] int v76; // [esp+110h] [ebp-148h] int v77; // [esp+114h] [ebp-144h] char v78; // [esp+118h] [ebp-140h] int v79; // [esp+11Ch] [ebp-13Ch] int v80; // [esp+120h] [ebp-138h] char v81; // [esp+124h] [ebp-134h] struct std::_Facet_base *v82; // [esp+12Ch] [ebp-12Ch] __int128 v83; // [esp+130h] [ebp-128h] struct std::locale::_Locimp *v84; // [esp+140h] [ebp-118h] void *Src; // [esp+144h] [ebp-114h] CHAR Filename; // [esp+148h] [ebp-110h] int v87; // [esp+254h] [ebp-4h] if ( fdwReason != 1 ) { if ( !fdwReason && !byte_1000C63C ) { SetWindowLongA((HWND)*MEMORY[0xC17054], -4, (LONG)dwNewLong); byte_1000C63C = 1; } return 1; } v68 = 64424509440i64; LOBYTE(Memory[0]) = 0; sub_10002580(Memory, "WindowModeAltFixByCake", 0x16u); v87 = 0; v3 = v68; if ( (unsigned int)(HIDWORD(v68) - v68) < 4 ) { LOBYTE(v70) = 0; v5 = (void **)sub_10002A60(Memory, 4, (int)v70, (int)".asi", 4u); } else { LODWORD(v68) = v68 + 4; v4 = Memory; if ( HIDWORD(v68) >= 0x10 ) v4 = (void **)Memory[0]; *(void **)((char *)v4 + v3) = (void *)1769169198; *((_BYTE *)v4 + v3 + 4) = 0; v5 = Memory; } *(_OWORD *)lpModuleName = *(_OWORD *)v5; v66 = *((_QWORD *)v5 + 2); v5[4] = 0; v5[5] = (void *)15; *(_BYTE *)v5 = 0; v6 = (const CHAR *)lpModuleName; if ( HIDWORD(v66) >= 0x10 ) v6 = lpModuleName[0]; v69 = GetModuleHandleA(v6) != hinstDLL; if ( HIDWORD(v66) >= 0x10 ) { v7 = (CHAR *)lpModuleName[0]; if ( (unsigned int)(HIDWORD(v66) + 1) >= 0x1000 ) { v7 = (CHAR *)*((_DWORD *)lpModuleName[0] - 1); v8 = HIDWORD(v66) + 36; if ( (unsigned int)(lpModuleName[0] - (LPCSTR)v7 - 4) > 0x1F ) { LABEL_16: invalid_parameter_noinfo_noreturn(v7, v8); goto LABEL_17; } } sub_100086F1(v7); } v87 = -1; v66 = 64424509440i64; LOBYTE(lpModuleName[0]) = 0; if ( HIDWORD(v68) < 0x10 ) goto LABEL_18; v7 = (CHAR *)Memory[0]; if ( (unsigned int)(HIDWORD(v68) + 1) >= 0x1000 ) { v7 = (CHAR *)*((_DWORD *)Memory[0] - 1); v8 = HIDWORD(v68) + 36; if ( (unsigned int)(Memory[0] - (void *)v7 - 4) > 0x1F ) goto LABEL_16; } LABEL_17: sub_100086F1(v7); LABEL_18: if ( !v69 ) { beginthread(sub_10002190, 0, 0); return 1; } GetModuleFileNameA(hinstDLL, &Filename, 0x100u); v84 = 0; v49 = 0; v83 = 0i64; v50 = 15; LOBYTE(v48) = 0; sub_10002580(&v48, ".asi", 4u); v87 = 1; v10 = sub_10002BE0((int)&v48, v9, ".*\\\\(.*", 7u); v66 = 0i64; *(_OWORD *)lpModuleName = *(_OWORD *)v10; v66 = *(_QWORD *)(v10 + 16); *(_DWORD *)(v10 + 16) = 0; *(_DWORD *)(v10 + 20) = 15; *(_BYTE *)v10 = 0; LOBYTE(v87) = 2; v11 = v66; if ( (unsigned int)(HIDWORD(v66) - v66) < 1 ) { LOBYTE(v70) = 0; v13 = (LPCSTR *)sub_10002A60(lpModuleName, 1, (int)v70, (int)")", 1u); } else { LODWORD(v66) = v66 + 1; v12 = lpModuleName; if ( HIDWORD(v66) >= 0x10 ) v12 = (LPCSTR *)lpModuleName[0]; *(_WORD *)((char *)v12 + v11) = 41; v13 = lpModuleName; } v68 = 0i64; *(_OWORD *)Memory = *(_OWORD *)v13; v68 = *((_QWORD *)v13 + 2); v13[4] = 0; v13[5] = (LPCSTR)15; *(_BYTE *)v13 = 0; LODWORD(v83) = 0; LOBYTE(v87) = 4; v84 = std::locale::_Init(1); LOBYTE(v87) = 5; DWORD1(v83) = sub_10002EE0((char *)&v83 + 12); std::_Lockit::_Lockit((std::_Lockit *)&Src, 0); LOBYTE(v87) = 6; v70 = (struct std::_Facet_base *)dword_1000C644; v14 = std::locale::id::operator unsigned int(std::ctype<char>::id); if ( v14 >= *((_DWORD *)v84 + 3) ) { v15 = 0; } else { v15 = *(struct std::_Facet_base **)(*((_DWORD *)v84 + 2) + 4 * v14); if ( v15 ) goto LABEL_35; } if ( !*((_BYTE *)v84 + 20) ) { LABEL_31: if ( v15 ) goto LABEL_35; goto LABEL_32; } v16 = std::locale::_Getgloballocale(); if ( v14 < *(_DWORD *)(v16 + 12) ) { v15 = *(struct std::_Facet_base **)(*(_DWORD *)(v16 + 8) + 4 * v14); goto LABEL_31; } LABEL_32: v15 = v70; if ( !v70 ) { if ( std::ctype<char>::_Getcat(&v70, (char *)&v83 + 12) == -1 ) sub_100011D0(); v17 = v70; v82 = v70; LOBYTE(v87) = 7; std::_Facet_Register(v70); (*(void (__thiscall **)(struct std::_Facet_base *))(*(_DWORD *)v17 + 4))(v17); v15 = v70; dword_1000C644 = (int)v70; } LABEL_35: std::_Lockit::~_Lockit((std::_Lockit *)&Src); DWORD2(v83) = v15; LOBYTE(v87) = 8; v18 = Memory; v19 = Memory; if ( HIDWORD(v68) >= 0x10 ) v18 = (void **)Memory[0]; if ( HIDWORD(v68) >= 0x10 ) v19 = (void **)Memory[0]; sub_10002C90(v19, (char *)v18 + v68, HIDWORD(v68), v82); LOBYTE(v87) = 10; if ( HIDWORD(v68) >= 0x10 ) { v20 = (CHAR *)Memory[0]; if ( (unsigned int)(HIDWORD(v68) + 1) >= 0x1000 ) { v20 = (CHAR *)*((_DWORD *)Memory[0] - 1); v21 = HIDWORD(v68) + 36; if ( (unsigned int)(Memory[0] - (void *)v20 - 4) > 0x1F ) goto LABEL_50; } sub_100086F1(v20); } v68 = 64424509440i64; LOBYTE(Memory[0]) = 0; LOBYTE(v87) = 11; if ( HIDWORD(v66) < 0x10 ) goto LABEL_47; v20 = (CHAR *)lpModuleName[0]; if ( (unsigned int)(HIDWORD(v66) + 1) >= 0x1000 ) { v20 = (CHAR *)*((_DWORD *)lpModuleName[0] - 1); v21 = HIDWORD(v66) + 36; if ( (unsigned int)(lpModuleName[0] - (LPCSTR)v20 - 4) > 0x1F ) { LABEL_50: invalid_parameter_noinfo_noreturn(v20, v21); goto LABEL_51; } } sub_100086F1(v20); LABEL_47: v66 = 64424509440i64; LOBYTE(lpModuleName[0]) = 0; LOBYTE(v87) = 12; if ( v50 < 0x10 ) goto LABEL_52; v20 = (CHAR *)v48; if ( v50 + 1 >= 0x1000 ) { v20 = (CHAR *)*((_DWORD *)v48 - 1); v21 = v50 + 36; if ( (unsigned int)((_BYTE *)v48 - v20 - 4) > 0x1F ) goto LABEL_50; } LABEL_51: sub_100086F1(v20); LABEL_52: memset(&Dst, 0, 0x38u); Dst = 0; v72 = 0; v73 = 0i64; v74 = 0; v75 = 0; v76 = 0; v77 = 0; v78 = 0; v79 = 0; v80 = 0; v81 = 0; LOBYTE(v87) = 13; if ( !(unsigned __int8)sub_10002740(&v83) ) goto LABEL_109; Size = 0; v58 = 15; LOBYTE(v56) = 0; sub_10002580(&v56, "WindowModeAltFixByCake", 0x16u); LOBYTE(v87) = 14; v22 = (DWORD1(v73) - (signed int)v73) / 12; v23 = v22 < 1; v24 = v22 == 1; v25 = &v79; if ( !v23 && !v24 ) v25 = (int *)(v73 + 12); if ( *((_BYTE *)v25 + 8) ) { v26 = (void *)*v25; v27 = *v25; v28 = v25[1]; } else { v26 = 0; v28 = 0; v27 = 0; } v52 = 0; v53 = 15; LOBYTE(v51) = 0; if ( v27 != v28 ) sub_10002580(&v51, v26, v28 - v27); LOBYTE(v87) = 15; v29 = sub_10002BE0((int)&v51, v27, "Incorrect file name.\nPlease rename: ", 0x24u); v60 = 0i64; *(_OWORD *)v59 = *(_OWORD *)v29; v60 = *(_QWORD *)(v29 + 16); *(_DWORD *)(v29 + 16) = 0; *(_DWORD *)(v29 + 20) = 15; *(_BYTE *)v29 = 0; LOBYTE(v87) = 16; v30 = v60; if ( (unsigned int)(HIDWORD(v60) - v60) < 4 ) { LOBYTE(Src) = 0; v32 = (void **)sub_10002A60(v59, 4, (int)Src, (int)" to ", 4u); } else { LODWORD(v60) = v60 + 4; v31 = v59; if ( HIDWORD(v60) >= 0x10 ) v31 = (void **)v59[0]; *(void **)((char *)v31 + v30) = (void *)544175136; *((_BYTE *)v31 + v30 + 4) = 0; v32 = v59; } v62[0] = 0; v62[1] = 0; *(_OWORD *)v61 = *(_OWORD *)v32; *(_QWORD *)v62 = *((_QWORD *)v32 + 2); v32[4] = 0; v32[5] = (void *)15; *(_BYTE *)v32 = 0; LOBYTE(v87) = 17; v33 = v62[0]; v34 = Size; if ( Size <= v62[1] - v62[0] || v58 - Size < v62[0] ) { v37 = &v56; if ( v58 >= 0x10 ) v37 = v56; Src = v37; if ( Size > v62[1] - v62[0] ) { LOBYTE(Src) = 0; v36 = (void **)sub_10002A60(v61, Size, (int)Src, (int)v37, Size); } else { v62[0] += Size; v38 = v61; if ( v62[1] >= 0x10 ) v38 = (void **)v61[0]; v39 = (int)v38 + v33; memmove((char *)v38 + v33, Src, Size); *(_BYTE *)(v34 + v39) = 0; v36 = v61; } } else { v35 = v61; if ( v62[1] >= 0x10 ) v35 = (void **)v61[0]; v36 = (void **)sub_10002BE0((int)&v56, v62[0], v35, v62[0]); } v64 = 0i64; *(_OWORD *)v63 = *(_OWORD *)v36; v64 = *((_QWORD *)v36 + 2); *(_BYTE *)v36 = 0; v36[5] = (void *)15; v36[4] = 0; LOBYTE(v87) = 18; v40 = v64; if ( (unsigned int)(HIDWORD(v64) - v64) < 4 ) { LOBYTE(Src) = 0; v42 = (void **)sub_10002A60(v63, 4, (int)Src, (int)".asi", 4u); } else { LODWORD(v64) = v64 + 4; v41 = v63; if ( HIDWORD(v64) >= 0x10 ) v41 = (void **)v63[0]; *(void **)((char *)v41 + v40) = (void *)1769169198; *((_BYTE *)v41 + v40 + 4) = 0; v42 = v63; } *(_OWORD *)lpText = *(_OWORD *)v42; v55 = *((_QWORD *)v42 + 2); v42[4] = 0; v42[5] = (void *)15; *(_BYTE *)v42 = 0; v43 = (const CHAR *)lpText; if ( HIDWORD(v55) >= 0x10 ) v43 = lpText[0]; MessageBoxA(0, v43, "WindowModeAltFixByCake", 0); if ( HIDWORD(v55) >= 0x10 ) { v44 = (CHAR *)lpText[0]; if ( (unsigned int)(HIDWORD(v55) + 1) >= 0x1000 ) { v44 = (CHAR *)*((_DWORD *)lpText[0] - 1); v45 = HIDWORD(v55) + 36; if ( (unsigned int)(lpText[0] - (LPCSTR)v44 - 4) > 0x1F ) goto LABEL_107; } sub_100086F1(v44); } v55 = 64424509440i64; LOBYTE(lpText[0]) = 0; if ( HIDWORD(v64) >= 0x10 ) { v44 = (CHAR *)v63[0]; if ( (unsigned int)(HIDWORD(v64) + 1) >= 0x1000 ) { v44 = (CHAR *)*((_DWORD *)v63[0] - 1); v45 = HIDWORD(v64) + 36; if ( (unsigned int)(v63[0] - (void *)v44 - 4) > 0x1F ) goto LABEL_107; } sub_100086F1(v44); } v64 = 64424509440i64; LOBYTE(v63[0]) = 0; if ( v62[1] >= 0x10 ) { v44 = (CHAR *)v61[0]; if ( v62[1] + 1 >= 0x1000 ) { v44 = (CHAR *)*((_DWORD *)v61[0] - 1); v45 = v62[1] + 36; if ( (unsigned int)(v61[0] - (void *)v44 - 4) > 0x1F ) goto LABEL_107; } sub_100086F1(v44); } v62[0] = 0; v62[1] = 15; LOBYTE(v61[0]) = 0; if ( HIDWORD(v60) >= 0x10 ) { v44 = (CHAR *)v59[0]; if ( (unsigned int)(HIDWORD(v60) + 1) >= 0x1000 ) { v44 = (CHAR *)*((_DWORD *)v59[0] - 1); v45 = HIDWORD(v60) + 36; if ( (unsigned int)(v59[0] - (void *)v44 - 4) > 0x1F ) goto LABEL_107; } sub_100086F1(v44); } v60 = 64424509440i64; LOBYTE(v59[0]) = 0; if ( v53 < 0x10 ) goto LABEL_104; v44 = (CHAR *)v51; if ( v53 + 1 >= 0x1000 ) { v44 = (CHAR *)*((_DWORD *)v51 - 1); v45 = v53 + 36; if ( (unsigned int)((_BYTE *)v51 - v44 - 4) > 0x1F ) { LABEL_107: invalid_parameter_noinfo_noreturn(v44, v45); LABEL_108: sub_100086F1(v44); goto LABEL_109; } } sub_100086F1(v44); LABEL_104: v52 = 0; v53 = 15; LOBYTE(v51) = 0; if ( v58 >= 0x10 ) { v44 = (CHAR *)v56; if ( v58 + 1 < 0x1000 ) goto LABEL_108; v44 = (CHAR *)*((_DWORD *)v56 - 1); v45 = v58 + 36; if ( (unsigned int)((_BYTE *)v56 - v44 - 4) <= 0x1F ) goto LABEL_108; goto LABEL_107; } LABEL_109: sub_100021D0(&v73); sub_10002530(&v83); if ( v84 ) { v46 = (void (__thiscall ***)(_DWORD, signed int))(*(int (**)(void))(*(_DWORD *)v84 + 8))(); if ( v46 ) (**v46)(v46, 1); } return 0; }
Это IDA ебанулась или ты ебанулся?
Хз, у меня этого мусора нет. это из-за стат. линковщика мбC++:BOOL __stdcall DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { int v3; // ecx void **v4; // eax void **v5; // eax const CHAR *v6; // eax CHAR *v7; // ecx int v8; // edx int v9; // ecx int v10; // eax int v11; // ecx LPCSTR *v12; // eax LPCSTR *v13; // eax unsigned int v14; // edi struct std::_Facet_base *v15; // esi int v16; // eax struct std::_Facet_base *v17; // esi void **v18; // esi void **v19; // edx CHAR *v20; // ecx int v21; // edx unsigned int v22; // eax bool v23; // cf bool v24; // zf int *v25; // eax void *v26; // edx int v27; // ecx int v28; // eax int v29; // eax int v30; // ecx void **v31; // eax void **v32; // eax size_t v33; // ecx size_t v34; // edi void **v35; // eax void **v36; // eax void *v37; // eax void **v38; // eax int v39; // esi int v40; // ecx void **v41; // eax void **v42; // eax const CHAR *v43; // eax CHAR *v44; // ecx int v45; // edx void (__thiscall ***v46)(_DWORD, signed int); // eax void *v48; // [esp+10h] [ebp-248h] int v49; // [esp+20h] [ebp-238h] unsigned int v50; // [esp+24h] [ebp-234h] void *v51; // [esp+28h] [ebp-230h] int v52; // [esp+38h] [ebp-220h] unsigned int v53; // [esp+3Ch] [ebp-21Ch] LPCSTR lpText[4]; // [esp+40h] [ebp-218h] __int64 v55; // [esp+50h] [ebp-208h] void *v56; // [esp+58h] [ebp-200h] size_t Size; // [esp+68h] [ebp-1F0h] unsigned int v58; // [esp+6Ch] [ebp-1ECh] void *v59[4]; // [esp+70h] [ebp-1E8h] __int64 v60; // [esp+80h] [ebp-1D8h] void *v61[4]; // [esp+88h] [ebp-1D0h] size_t v62[2]; // [esp+98h] [ebp-1C0h] void *v63[4]; // [esp+A0h] [ebp-1B8h] __int64 v64; // [esp+B0h] [ebp-1A8h] LPCSTR lpModuleName[4]; // [esp+B8h] [ebp-1A0h] __int64 v66; // [esp+C8h] [ebp-190h] void *Memory[4]; // [esp+D0h] [ebp-188h] __int64 v68; // [esp+E0h] [ebp-178h] bool v69; // [esp+EBh] [ebp-16Dh] struct std::_Facet_base *v70; // [esp+ECh] [ebp-16Ch] int Dst; // [esp+F0h] [ebp-168h] char v72; // [esp+F4h] [ebp-164h] __int128 v73; // [esp+F8h] [ebp-160h] int v74; // [esp+108h] [ebp-150h] char v75; // [esp+10Ch] [ebp-14Ch] int v76; // [esp+110h] [ebp-148h] int v77; // [esp+114h] [ebp-144h] char v78; // [esp+118h] [ebp-140h] int v79; // [esp+11Ch] [ebp-13Ch] int v80; // [esp+120h] [ebp-138h] char v81; // [esp+124h] [ebp-134h] struct std::_Facet_base *v82; // [esp+12Ch] [ebp-12Ch] __int128 v83; // [esp+130h] [ebp-128h] struct std::locale::_Locimp *v84; // [esp+140h] [ebp-118h] void *Src; // [esp+144h] [ebp-114h] CHAR Filename; // [esp+148h] [ebp-110h] int v87; // [esp+254h] [ebp-4h] if ( fdwReason != 1 ) { if ( !fdwReason && !byte_1000C63C ) { SetWindowLongA((HWND)*MEMORY[0xC17054], -4, (LONG)dwNewLong); byte_1000C63C = 1; } return 1; } v68 = 64424509440i64; LOBYTE(Memory[0]) = 0; sub_10002580(Memory, "WindowModeAltFixByCake", 0x16u); v87 = 0; v3 = v68; if ( (unsigned int)(HIDWORD(v68) - v68) < 4 ) { LOBYTE(v70) = 0; v5 = (void **)sub_10002A60(Memory, 4, (int)v70, (int)".asi", 4u); } else { LODWORD(v68) = v68 + 4; v4 = Memory; if ( HIDWORD(v68) >= 0x10 ) v4 = (void **)Memory[0]; *(void **)((char *)v4 + v3) = (void *)1769169198; *((_BYTE *)v4 + v3 + 4) = 0; v5 = Memory; } *(_OWORD *)lpModuleName = *(_OWORD *)v5; v66 = *((_QWORD *)v5 + 2); v5[4] = 0; v5[5] = (void *)15; *(_BYTE *)v5 = 0; v6 = (const CHAR *)lpModuleName; if ( HIDWORD(v66) >= 0x10 ) v6 = lpModuleName[0]; v69 = GetModuleHandleA(v6) != hinstDLL; if ( HIDWORD(v66) >= 0x10 ) { v7 = (CHAR *)lpModuleName[0]; if ( (unsigned int)(HIDWORD(v66) + 1) >= 0x1000 ) { v7 = (CHAR *)*((_DWORD *)lpModuleName[0] - 1); v8 = HIDWORD(v66) + 36; if ( (unsigned int)(lpModuleName[0] - (LPCSTR)v7 - 4) > 0x1F ) { LABEL_16: invalid_parameter_noinfo_noreturn(v7, v8); goto LABEL_17; } } sub_100086F1(v7); } v87 = -1; v66 = 64424509440i64; LOBYTE(lpModuleName[0]) = 0; if ( HIDWORD(v68) < 0x10 ) goto LABEL_18; v7 = (CHAR *)Memory[0]; if ( (unsigned int)(HIDWORD(v68) + 1) >= 0x1000 ) { v7 = (CHAR *)*((_DWORD *)Memory[0] - 1); v8 = HIDWORD(v68) + 36; if ( (unsigned int)(Memory[0] - (void *)v7 - 4) > 0x1F ) goto LABEL_16; } LABEL_17: sub_100086F1(v7); LABEL_18: if ( !v69 ) { beginthread(sub_10002190, 0, 0); return 1; } GetModuleFileNameA(hinstDLL, &Filename, 0x100u); v84 = 0; v49 = 0; v83 = 0i64; v50 = 15; LOBYTE(v48) = 0; sub_10002580(&v48, ".asi", 4u); v87 = 1; v10 = sub_10002BE0((int)&v48, v9, ".*\\\\(.*", 7u); v66 = 0i64; *(_OWORD *)lpModuleName = *(_OWORD *)v10; v66 = *(_QWORD *)(v10 + 16); *(_DWORD *)(v10 + 16) = 0; *(_DWORD *)(v10 + 20) = 15; *(_BYTE *)v10 = 0; LOBYTE(v87) = 2; v11 = v66; if ( (unsigned int)(HIDWORD(v66) - v66) < 1 ) { LOBYTE(v70) = 0; v13 = (LPCSTR *)sub_10002A60(lpModuleName, 1, (int)v70, (int)")", 1u); } else { LODWORD(v66) = v66 + 1; v12 = lpModuleName; if ( HIDWORD(v66) >= 0x10 ) v12 = (LPCSTR *)lpModuleName[0]; *(_WORD *)((char *)v12 + v11) = 41; v13 = lpModuleName; } v68 = 0i64; *(_OWORD *)Memory = *(_OWORD *)v13; v68 = *((_QWORD *)v13 + 2); v13[4] = 0; v13[5] = (LPCSTR)15; *(_BYTE *)v13 = 0; LODWORD(v83) = 0; LOBYTE(v87) = 4; v84 = std::locale::_Init(1); LOBYTE(v87) = 5; DWORD1(v83) = sub_10002EE0((char *)&v83 + 12); std::_Lockit::_Lockit((std::_Lockit *)&Src, 0); LOBYTE(v87) = 6; v70 = (struct std::_Facet_base *)dword_1000C644; v14 = std::locale::id::operator unsigned int(std::ctype<char>::id); if ( v14 >= *((_DWORD *)v84 + 3) ) { v15 = 0; } else { v15 = *(struct std::_Facet_base **)(*((_DWORD *)v84 + 2) + 4 * v14); if ( v15 ) goto LABEL_35; } if ( !*((_BYTE *)v84 + 20) ) { LABEL_31: if ( v15 ) goto LABEL_35; goto LABEL_32; } v16 = std::locale::_Getgloballocale(); if ( v14 < *(_DWORD *)(v16 + 12) ) { v15 = *(struct std::_Facet_base **)(*(_DWORD *)(v16 + 8) + 4 * v14); goto LABEL_31; } LABEL_32: v15 = v70; if ( !v70 ) { if ( std::ctype<char>::_Getcat(&v70, (char *)&v83 + 12) == -1 ) sub_100011D0(); v17 = v70; v82 = v70; LOBYTE(v87) = 7; std::_Facet_Register(v70); (*(void (__thiscall **)(struct std::_Facet_base *))(*(_DWORD *)v17 + 4))(v17); v15 = v70; dword_1000C644 = (int)v70; } LABEL_35: std::_Lockit::~_Lockit((std::_Lockit *)&Src); DWORD2(v83) = v15; LOBYTE(v87) = 8; v18 = Memory; v19 = Memory; if ( HIDWORD(v68) >= 0x10 ) v18 = (void **)Memory[0]; if ( HIDWORD(v68) >= 0x10 ) v19 = (void **)Memory[0]; sub_10002C90(v19, (char *)v18 + v68, HIDWORD(v68), v82); LOBYTE(v87) = 10; if ( HIDWORD(v68) >= 0x10 ) { v20 = (CHAR *)Memory[0]; if ( (unsigned int)(HIDWORD(v68) + 1) >= 0x1000 ) { v20 = (CHAR *)*((_DWORD *)Memory[0] - 1); v21 = HIDWORD(v68) + 36; if ( (unsigned int)(Memory[0] - (void *)v20 - 4) > 0x1F ) goto LABEL_50; } sub_100086F1(v20); } v68 = 64424509440i64; LOBYTE(Memory[0]) = 0; LOBYTE(v87) = 11; if ( HIDWORD(v66) < 0x10 ) goto LABEL_47; v20 = (CHAR *)lpModuleName[0]; if ( (unsigned int)(HIDWORD(v66) + 1) >= 0x1000 ) { v20 = (CHAR *)*((_DWORD *)lpModuleName[0] - 1); v21 = HIDWORD(v66) + 36; if ( (unsigned int)(lpModuleName[0] - (LPCSTR)v20 - 4) > 0x1F ) { LABEL_50: invalid_parameter_noinfo_noreturn(v20, v21); goto LABEL_51; } } sub_100086F1(v20); LABEL_47: v66 = 64424509440i64; LOBYTE(lpModuleName[0]) = 0; LOBYTE(v87) = 12; if ( v50 < 0x10 ) goto LABEL_52; v20 = (CHAR *)v48; if ( v50 + 1 >= 0x1000 ) { v20 = (CHAR *)*((_DWORD *)v48 - 1); v21 = v50 + 36; if ( (unsigned int)((_BYTE *)v48 - v20 - 4) > 0x1F ) goto LABEL_50; } LABEL_51: sub_100086F1(v20); LABEL_52: memset(&Dst, 0, 0x38u); Dst = 0; v72 = 0; v73 = 0i64; v74 = 0; v75 = 0; v76 = 0; v77 = 0; v78 = 0; v79 = 0; v80 = 0; v81 = 0; LOBYTE(v87) = 13; if ( !(unsigned __int8)sub_10002740(&v83) ) goto LABEL_109; Size = 0; v58 = 15; LOBYTE(v56) = 0; sub_10002580(&v56, "WindowModeAltFixByCake", 0x16u); LOBYTE(v87) = 14; v22 = (DWORD1(v73) - (signed int)v73) / 12; v23 = v22 < 1; v24 = v22 == 1; v25 = &v79; if ( !v23 && !v24 ) v25 = (int *)(v73 + 12); if ( *((_BYTE *)v25 + 8) ) { v26 = (void *)*v25; v27 = *v25; v28 = v25[1]; } else { v26 = 0; v28 = 0; v27 = 0; } v52 = 0; v53 = 15; LOBYTE(v51) = 0; if ( v27 != v28 ) sub_10002580(&v51, v26, v28 - v27); LOBYTE(v87) = 15; v29 = sub_10002BE0((int)&v51, v27, "Incorrect file name.\nPlease rename: ", 0x24u); v60 = 0i64; *(_OWORD *)v59 = *(_OWORD *)v29; v60 = *(_QWORD *)(v29 + 16); *(_DWORD *)(v29 + 16) = 0; *(_DWORD *)(v29 + 20) = 15; *(_BYTE *)v29 = 0; LOBYTE(v87) = 16; v30 = v60; if ( (unsigned int)(HIDWORD(v60) - v60) < 4 ) { LOBYTE(Src) = 0; v32 = (void **)sub_10002A60(v59, 4, (int)Src, (int)" to ", 4u); } else { LODWORD(v60) = v60 + 4; v31 = v59; if ( HIDWORD(v60) >= 0x10 ) v31 = (void **)v59[0]; *(void **)((char *)v31 + v30) = (void *)544175136; *((_BYTE *)v31 + v30 + 4) = 0; v32 = v59; } v62[0] = 0; v62[1] = 0; *(_OWORD *)v61 = *(_OWORD *)v32; *(_QWORD *)v62 = *((_QWORD *)v32 + 2); v32[4] = 0; v32[5] = (void *)15; *(_BYTE *)v32 = 0; LOBYTE(v87) = 17; v33 = v62[0]; v34 = Size; if ( Size <= v62[1] - v62[0] || v58 - Size < v62[0] ) { v37 = &v56; if ( v58 >= 0x10 ) v37 = v56; Src = v37; if ( Size > v62[1] - v62[0] ) { LOBYTE(Src) = 0; v36 = (void **)sub_10002A60(v61, Size, (int)Src, (int)v37, Size); } else { v62[0] += Size; v38 = v61; if ( v62[1] >= 0x10 ) v38 = (void **)v61[0]; v39 = (int)v38 + v33; memmove((char *)v38 + v33, Src, Size); *(_BYTE *)(v34 + v39) = 0; v36 = v61; } } else { v35 = v61; if ( v62[1] >= 0x10 ) v35 = (void **)v61[0]; v36 = (void **)sub_10002BE0((int)&v56, v62[0], v35, v62[0]); } v64 = 0i64; *(_OWORD *)v63 = *(_OWORD *)v36; v64 = *((_QWORD *)v36 + 2); *(_BYTE *)v36 = 0; v36[5] = (void *)15; v36[4] = 0; LOBYTE(v87) = 18; v40 = v64; if ( (unsigned int)(HIDWORD(v64) - v64) < 4 ) { LOBYTE(Src) = 0; v42 = (void **)sub_10002A60(v63, 4, (int)Src, (int)".asi", 4u); } else { LODWORD(v64) = v64 + 4; v41 = v63; if ( HIDWORD(v64) >= 0x10 ) v41 = (void **)v63[0]; *(void **)((char *)v41 + v40) = (void *)1769169198; *((_BYTE *)v41 + v40 + 4) = 0; v42 = v63; } *(_OWORD *)lpText = *(_OWORD *)v42; v55 = *((_QWORD *)v42 + 2); v42[4] = 0; v42[5] = (void *)15; *(_BYTE *)v42 = 0; v43 = (const CHAR *)lpText; if ( HIDWORD(v55) >= 0x10 ) v43 = lpText[0]; MessageBoxA(0, v43, "WindowModeAltFixByCake", 0); if ( HIDWORD(v55) >= 0x10 ) { v44 = (CHAR *)lpText[0]; if ( (unsigned int)(HIDWORD(v55) + 1) >= 0x1000 ) { v44 = (CHAR *)*((_DWORD *)lpText[0] - 1); v45 = HIDWORD(v55) + 36; if ( (unsigned int)(lpText[0] - (LPCSTR)v44 - 4) > 0x1F ) goto LABEL_107; } sub_100086F1(v44); } v55 = 64424509440i64; LOBYTE(lpText[0]) = 0; if ( HIDWORD(v64) >= 0x10 ) { v44 = (CHAR *)v63[0]; if ( (unsigned int)(HIDWORD(v64) + 1) >= 0x1000 ) { v44 = (CHAR *)*((_DWORD *)v63[0] - 1); v45 = HIDWORD(v64) + 36; if ( (unsigned int)(v63[0] - (void *)v44 - 4) > 0x1F ) goto LABEL_107; } sub_100086F1(v44); } v64 = 64424509440i64; LOBYTE(v63[0]) = 0; if ( v62[1] >= 0x10 ) { v44 = (CHAR *)v61[0]; if ( v62[1] + 1 >= 0x1000 ) { v44 = (CHAR *)*((_DWORD *)v61[0] - 1); v45 = v62[1] + 36; if ( (unsigned int)(v61[0] - (void *)v44 - 4) > 0x1F ) goto LABEL_107; } sub_100086F1(v44); } v62[0] = 0; v62[1] = 15; LOBYTE(v61[0]) = 0; if ( HIDWORD(v60) >= 0x10 ) { v44 = (CHAR *)v59[0]; if ( (unsigned int)(HIDWORD(v60) + 1) >= 0x1000 ) { v44 = (CHAR *)*((_DWORD *)v59[0] - 1); v45 = HIDWORD(v60) + 36; if ( (unsigned int)(v59[0] - (void *)v44 - 4) > 0x1F ) goto LABEL_107; } sub_100086F1(v44); } v60 = 64424509440i64; LOBYTE(v59[0]) = 0; if ( v53 < 0x10 ) goto LABEL_104; v44 = (CHAR *)v51; if ( v53 + 1 >= 0x1000 ) { v44 = (CHAR *)*((_DWORD *)v51 - 1); v45 = v53 + 36; if ( (unsigned int)((_BYTE *)v51 - v44 - 4) > 0x1F ) { LABEL_107: invalid_parameter_noinfo_noreturn(v44, v45); LABEL_108: sub_100086F1(v44); goto LABEL_109; } } sub_100086F1(v44); LABEL_104: v52 = 0; v53 = 15; LOBYTE(v51) = 0; if ( v58 >= 0x10 ) { v44 = (CHAR *)v56; if ( v58 + 1 < 0x1000 ) goto LABEL_108; v44 = (CHAR *)*((_DWORD *)v56 - 1); v45 = v58 + 36; if ( (unsigned int)((_BYTE *)v56 - v44 - 4) <= 0x1F ) goto LABEL_108; goto LABEL_107; } LABEL_109: sub_100021D0(&v73); sub_10002530(&v83); if ( v84 ) { v46 = (void (__thiscall ***)(_DWORD, signed int))(*(int (**)(void))(*(_DWORD *)v84 + 8))(); if ( v46 ) Ц (**v46)(v46, 1); } return 0; }
Это IDA ебанулась или ты ебанулся?
Ну табличку какую либо открываешь, например, когда переводишь кому-то деньги, в банке, сворачивает игру чтобы посмотреть счёт, разворачиваешь, а она закрыта. И так со всеми табличками при сворачивании.Не понял, если можешь - скинь фрапс этого бага
В сампе такого бага нет, возможно какой-то плагин / скрипт такой баг вызываетНу табличку какую либо открываешь, например, когда переводишь кому-то деньги, в банке, сворачивает игру чтобы посмотреть счёт, разворачиваешь, а она закрыта. И так со всеми табличками при сворачивании.
Это происходит и на чистой gta. Сервер Diamond Role play.В сампе такого бага нет, возможно какой-то плагин / скрипт такой баг вызывает
он имеет ввиду, что когда сворачиваешь игру с открытым диалогом, то после разворота он либо закрывается, либо в углу находитсяВ сампе такого бага нет, возможно какой-то плагин / скрипт такой баг вызывает