
20.05.2010, 00:52
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме: 4137635
Репутация:
2407
|
|
Pashkela, там реально пример на чистом СИ, и из windows.h там используется отсилы слово TRUE и ZeroMemory.
Этот код я переписал тебе под gcc:
PHP код:
#include "stdio.h"
int main(int argc, char* argv[])
{
static char szPassword[256];
static char szAlphabet[256];
static unsigned char bAlphabet[256];
memset(szPassword, 0, sizeof(szPassword));
strcpy(szAlphabet, "ABC");
memset(bAlphabet, 0, sizeof(bAlphabet));
int i = 0, k = 0;
while (1)
{
bAlphabet[k] = (unsigned char)szAlphabet[i];
if (!szAlphabet[i])
break;
k = (unsigned char)szAlphabet[i];
i++;
}
while (1)
{
__asm
(
".intel_syntax noprefix\n"
"pushad\n"
"L1:\n"
"movzx eax,byte ptr [edi]\n"
"xlat\n"
"test al,al\n"
"jz L3\n"
"mov [edi],al\n"
"jmp LL5\n"
"L3:\n"
"xlat\n"
"stosb\n"
"jmp L1\n"
"LL5:\n"
"popad\n"
".att_syntax\n"
:
: "D" (&szPassword), "b" (&bAlphabet)
);
printf("%s\n", szPassword);
}
return 0;
}
|
|
|