Skip to content

Instantly share code, notes, and snippets.

@Ouroboros
Last active April 21, 2017 10:00
Show Gist options
  • Save Ouroboros/8deae4e0222d30159a386960ea31ca9a to your computer and use it in GitHub Desktop.
Save Ouroboros/8deae4e0222d30159a386960ea31ca9a to your computer and use it in GitHub Desktop.
seg = idaapi.get_first_seg()
while seg is not None:
base = idaapi.get_segm_para(seg)
startEA, endEA = seg.startEA, seg.endEA
startOffset, endOffset = idaapi.get_fileregion_offset(startEA), idaapi.get_fileregion_offset(endEA)
startEA &= 0xFFFFFFFFFFFFFFFF
endEA &= 0xFFFFFFFFFFFFFFFF
startOffset &= 0xFFFFFFFFFFFFFFFF
endOffset &= 0xFFFFFFFFFFFFFFFF
eaSize = endEA - startEA
fileSize = endOffset - startOffset
if startOffset == 0xFFFFFFFFFFFFFFFF:
fileSize = 0
if endOffset in [0xFFFFFFFFFFFFFFFF, 0]:
fileSize = 0
if fileSize == 0:
startOffset = 0xFFFFFFFFFFFFFFFF
endOffset = 0xFFFFFFFFFFFFFFFF
print(' { %s 0x%016X, 0x%016X, 0x%016X, 0x%016X },' % (('"%s",' % idaapi.get_true_segm_name(seg)).ljust(80), startOffset, fileSize, startEA, eaSize))
seg = idaapi.get_next_seg(seg.startEA)
# break
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment