例如(这是论坛中的一个CM程序):
signed int __cdecl sub_401230()
{
signed int v0; // ebx@1
signed int result; // eax@2
unsigned int v2; // esi@3
unsigned int v3; // esi@5
int v4; // edi@7
int v5; // eax@9
int v6; // ecx@9
__int64 v7; // qax@9
CHAR *String; // [sp+8h] [bp-30h]@1
char v9; // [sp+9h] [bp-2Fh]@3
char v10; // [sp+Ah] [bp-2Eh]@3
char v11[16]; // [sp+18h] [bp-20h]@4
char v12[16]; // [sp+28h] [bp-10h]@3
v0 = 0;
if ( GetDlgItemTextA(dword_4056BC, 1000, (LPSTR)&String, 16) >= 3 )
{
GetDlgItemTextA(dword_4056BC, 1001, v12, 16);
sub_401340(0xFFFFFFFFu / (v10 * (char)String % v9 + 1));
v2 = 0;
do
v11[v2++] = rand() % 26 + 65;
while ( v2 < 15 );
v3 = 0;
if ( strlen((const char *)&String) != 1 )
{
do
{
if ( 123 * (char)(LOBYTE((&String)[v3]) >> 5) > 0 )
{
v4 = 123 * (char)(LOBYTE((&String)[v3]) >> 5);
do
{
rand();
--v4;
}
while ( v4 );
}
v5 = rand();
v6 = v12[v3];
v11[v3] = v5 % 26 + 65;
v7 = (signed int)(char)(v5 % 26 + 65) - v6;
v0 += (HIDWORD(v7) ^ v7) - HIDWORD(v7);
++v3;
}
while ( v3 < strlen((const char *)&String) - 1 );
}
result = v0;
}
else
{
result = 1;
}
return result;
}
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课