IDAPython 데이터 참조 코드에 색상 설정 코드
“What” 문자열 위치 확인 후 해당 주소를 참조하는 코드에 빨간색을 설정하는 코드
findStr = "What" # 검색할 문자열
startPoint = MinEA() # 최소 주소
endPoint = MaxEA() # 최대 주소
while startPoint < endPoint: # 최대 주소를 넘지 않을 때 까지 "startPoint" 증가시키며 반복 수행
startPoint = idc.FindText(startPoint, SEARCH_DOWN|SEARCH_NEXT, 0, 0, findStr) # 문자열 검색
if startPoint == idc.BADADDR:
break # 가능한 주소가 아니라면 while문 종료
elif '.rdata' == idc.SegName(startPoint):
print "Target : ", hex(startPoint), idc.GetDisasm(startPoint) # 문자열 위치 정보 출력
for refAddr in DataRefsTo(startPoint):
print "Ref : ", hex(refAddr), idc.GetDisasm(refAddr) # 참조 위치 정보 출력
idc.SetColor(refAddr, CIC_ITEM, 0x2020c0) # red color # 참조 위치 빨간색 설정
startPoint = idc.NextHead(startPoint) # 검색 진행을 위해 "startPoint"에 다음 instruction 설정