IDApython 让生活更美好

数据提取:已Hitcon-Training LAB1为例 | IDApython

ea=here()
print hex(ea),idc.GetDisasm(ea)
ch=idc.GetDisasm(ea)
print ch[-9:]
ea=here()
print hex(ea),idc.GetDisasm(ea)
ch=idc.GetDisasm(ea)
print ch[-9:]
print hex(ea+7),idc.GetDisasm(ea+7)

ch=idc.GetDisasm(ea+7)
print ch[-9:]

#脚本的制约条件:锁定.text的具体定位,只能在类似数组结构的开头
ea=here()
test=''
for i in range(12):
    ch=idc.GetDisasm(ea+i*7)
    test+=('0x'+ch[-9:]).rstrip('h')
    test+=','
#print test
    #print type(ch)
la=idc.GetDisasm(ea+12*7)
org=la[-3:]
num='0x'+org.rstrip('h')
test+=num
#print test
l=test.split(',')
#print l
list=[int(x.lstrip('0x'),16) for x in l]
#print list
str=""
for i in list:
    str+=chr(i%0x100)
    str+=chr(int(i%0x10000/0x100))
    str+=chr(int(i%0x1000000/0x10000))
    str+=chr(int((i%0x100000000/0x1000000)))
#str+=chr(0x3f)
print(str)

ea=here()
print ea,idc.GetDisasm(ea)
l=[]
    #数据的提取,大致分为两种类型
for n in range(49):
    i=idc.GetDisasm(ea+n*4)
    if(i[-1:]=='h'):  #可以已结尾是否是h作为判断标志对数据进行提取
        cn=int("0x"+i[-3:-1],16)
        
    else:
        cn=int(i[-1:],10)
    l.append(cn)
print l

#脚本的制约条件:锁定.text的具体定位,只能在类似数组结构的开头
ea=here()
test=''
for i in range(12):
    ch=idc.GetDisasm(ea+i*7)
    test+=('0x'+ch[-9:]).rstrip('h')
    test+=','
#print test
    #print type(ch)
la=idc.GetDisasm(ea+12*7)
org=la[-3:]
num='0x'+org.rstrip('h')
test+=num
#print test
l=test.split(',')
#print l
list=[int(x.lstrip('0x'),16) for x in l]
#print list
str=""
for i in list:
    str+=chr(i%0x100)
    str+=chr(int(i%0x10000/0x100))
    str+=chr(int(i%0x1000000/0x10000))
    str+=chr(int((i%0x100000000/0x1000000)))
#str+=chr(0x3f)
##print(str)
#ea=here()
#print ea,idc.GetDisasm(ea)

l=[]
    #数据的提取,大致分为两种类型
for n in range(49):
    i=idc.GetDisasm(ea+90+n*4)
    if(i[-1:]=='h'):  #可以已结尾是否是h作为判断标志对数据进行提取
        cn=int("0x"+i[-3:-1],16)
        
    else:
        cn=int(i[-1:],10)
    l.append(cn)
##print l
flag=""
for i in range(49):
    flag+=chr(ord(str[i])^l[i])
print flag


上述两个地址的差值是用来计算两组数据的偏移的,用来具体的数据提取
https://cartermgj.github.io/2017/10/10/ida-python/

https://www.cnblogs.com/TJTO/p/13216673.html

https://ayesawyer.github.io/2019/08/02/IDA-Pro扩展——脚本-插件/

https://wizardforcel.gitbooks.io/grey-hat-python/content/48.html

https://www.cnblogs.com/LyShark/p/13100048.html

https://wooyun.js.org/drops/IDAPython 让你的生活更滋润 part1 and part2.html

https://veritas501.space/2017/05/23/HITCON-training writeup/

posted @ 2020-09-15 07:14  zer0_1s  阅读(20)  评论(0)    收藏  举报