#include #define EAX_XOR_INC "33 C0 40" #define EBX_XOR_INC "33 DB 43" #define ECX_XOR_INC "33 C9 41" #define EDX_XOR_INC "33 D2 42" #define ESI_XOR_INC "33 F6 46" #define EDI_XOR_INC "33 FF 47" #define EBP_XOR_INC "33 ED 45" static main(void) { auto ea, count; ea = 0xde2000; count = 0; while ( 1 ) { ea = FindBinary(ea,SEARCH_DOWN|SEARCH_NEXT, EAX_XOR_INC); if ( ea == BADADDR ) break; Message("Found %x\n", ea); count++; if ( MakeCode(ea) == 0 ) Message("MakeCode failed at %x\n", ea); } ea = 0xde2000; while ( 1 ) { ea = FindBinary(ea,SEARCH_DOWN|SEARCH_NEXT, EBX_XOR_INC); if ( ea == BADADDR ) break; Message("Found %x\n", ea); count++; if ( MakeCode(ea) == 0 ) Message("MakeCode failed at %x\n", ea); } ea = 0xde2000; while ( 1 ) { ea = FindBinary(ea,SEARCH_DOWN|SEARCH_NEXT, ECX_XOR_INC); if ( ea == BADADDR ) break; Message("Found %x\n", ea); count++; if ( MakeCode(ea) == 0 ) Message("MakeCode failed at %x\n", ea); } ea = 0xde2000; while ( 1 ) { ea = FindBinary(ea,SEARCH_DOWN|SEARCH_NEXT, EDX_XOR_INC); if ( ea == BADADDR ) break; Message("Found %x\n", ea); count++; if ( MakeCode(ea) == 0 ) Message("MakeCode failed at %x\n", ea); } ea = 0xde2000; while ( 1 ) { ea = FindBinary(ea,SEARCH_DOWN|SEARCH_NEXT, ESI_XOR_INC); if ( ea == BADADDR ) break; Message("Found %x\n", ea); count++; if ( MakeCode(ea) == 0 ) Message("MakeCode failed at %x\n", ea); } ea = 0xde2000; while ( 1 ) { ea = FindBinary(ea,SEARCH_DOWN|SEARCH_NEXT, EDI_XOR_INC); if ( ea == BADADDR ) break; Message("Found %x\n", ea); count++; if ( MakeCode(ea) == 0 ) Message("MakeCode failed at %x\n", ea); } ea = 0xde2000; while ( 1 ) { ea = FindBinary(ea,SEARCH_DOWN|SEARCH_NEXT, EBP_XOR_INC); if ( ea == BADADDR ) break; Message("Found %x\n", ea); count++; if ( MakeCode(ea) == 0 ) Message("MakeCode failed at %x\n", ea); } Message("Count = %u\n", count); Message("Done xor_inc\n"); }