// Search and make code.. #include static do_brute(ea, str, end) { auto count; count = 0; while ((ea = FindUnexplored(ea, SEARCH_DOWN)) != BADADDR && ea < end) { if (!isCode(ea) && MakeCode(ea)) { MakeComm(ea, "Rule '" + str + "'"); if (MakeFunction(ea, BADADDR)) { count++; } } ea = ea + 4; } Message("%s: %d funcs\n", str, count); } static do_find(ea, str, offset) { auto next1, next2; auto count; count = 0; while ((ea = FindBinary(ea, SEARCH_DOWN, str)) != BADADDR) { ea = ea + offset; if (!isCode(ea) && MakeCode(ea)) { MakeComm(ea, "Rule '" + str + "'"); if (MakeFunction(ea, BADADDR)) { count++; } } ea = ea + 4; } Message("%s: %d funcs\n", str, count); } static main() { auto ea; ea = 0; do_find(ea,"2d e9", -2); // STMFD = xx xx 2D E9 do_find(ea, "00 C4 E5", -3); // STRB = xx 00 C4 E5 do_find(ea, "00 C4 E1", -3); // STRH = xx 00 C4 E1 do_brute(ea, "brute", 0x00245FF8); }