通过光标位置获取地址上的一系列值。
ea = here()# 获取光标所在地址(等价于idc.get_screen_ea())
参考:IDAPython脚本编写指南(一) - #搬砖仔 - 博客园
def Byte(addr) #以字节为单位获取地址处的值
def Word(addr) #以字为单位获取地址处的值
def Dword(addr) #以双字为单位获取地址处的值
def Qword(addr) #以四字为单位获取地址处的值
def isLoaded(addr) #判断地址处的数值是否有效
参考:总结idapython在逆向中的应用 - 『脱壳破解区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn
这是因为"Byte"是IDA7.0下的python语言,而我们的IDA可能是7.5或者7.6版本,这句"PatchByte"不兼容,所以会出现报错。
解决方法:我们只需在python脚本的第一行加上
from idc_bc695 import *
就能解决报错问题。
参考:运行IDApython报错NameError: name ‘PatchByte‘ is not defined_皮皮蟹!的博客-CSDN博客
#print(idc.get_screen_ea())
ea=here()
print(hex(Byte(ea)))
组合成列表:
ea=here()
unk_403018=[hex(Byte(ea+x)) for x in range(32)]
print(unk_403018)
输出:
['0x6d', '0x55', '0x6b', '0x77', '0x62', '0x61', '0x9a', '0x62', '0x59', '0x89', '0x90', '0x7b', '0x9a', '0x8d', '0x62', '0x80', '0x80', '0x89', '0x92', '0x99', '0x91', '0x97', '0x96', '0x90', '0x4e', '0x99', '0x5d', '0x62', '0x8c', '0x8e', '0x7e', '0x81']
今天在看ida的output窗口的时候把该窗口给关了,找了一分钟愣是没找到怎么打开这个output。
网上直接搜都说是View。
除了上面这两个之外,还有个常用的窗口Debugger: