Author: Blackhorn
(2009/08/14 16:52) Almost 3 years ago
1
from idaapi import *
2
from idc import *
3
4
#Find all potential Function Entry
5
OFFSET = 0
for i in Segments():
6
start = i
7
end = GetSegmentAttr(start, SEGATTR_END)
8
...
9
addr = FindBinary (addr, SEARCH_DOWN, '2D E9', 16)
11
10
if(addr != BADADDR ):
12
addr = addr - 2
13
MakeCode(addr);
14
if (addr%4) == OFFSET :
15
print "0x%X" % addr;
16
addr = addr + 4
17
AnalyzeArea(start, end)
18
19
#Analyze
20
21
22
23
MakeCode(addr);if (addr%4) == OFFSET :print "0x%X" % addr;MakeCode(addr);AnalyzeArea(start, end)#Analyzefor i in Segments():start = iend = GetSegmentAttr(start, SEGATTR_END)AnalyzeArea(start, end)