本文整理汇总了Python中r.cmd函数的典型用法代码示例。如果您正苦于以下问题:Python cmd函数的具体用法?Python cmd怎么用?Python cmd使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cmd函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: str
def str(addr=None):
"""
Returns a zero-terminated string found in current seek
"""
if addr == None:
return r.cmd("pz").strip()
return r.cmd("pz @ 0x%x"%addr).strip()
示例2: dis
def dis(num, addr=None):
"""
Disassemble 'num' opcodes from the current seek and returns the output
"""
if addr == None:
return r.cmd("pd %d"%num)
return r.cmd("pd %d @ 0x%x"%(num,addr))
示例3: analyze_block
def analyze_block(addr=None):
"""
Returns a hashtable containing the information of the analysis of the basic block found in the current seek.
This is: 'offset', 'type', 'size', 'call#', 'n_calls', 'true', 'false' and 'bytes'
"""
if addr == None:
return __str_to_hash(r.cmd("ab"))
return __str_to_hash(r.cmd("ab @ 0x%x"%addr))
示例4: analyze_opcode
def analyze_opcode(addr=None):
"""
Returns a hashtable containing the information of the analysis of the opcode in the current seek.
This is: 'opcode', 'size', 'type', 'bytes', 'offset', 'ref', 'jump' and 'fail'
"""
if addr == None:
return __str_to_hash(r.cmd("ao"))
return __str_to_hash(r.cmd("ao @ 0x%x"%addr))
示例5: update
def update(self):
self.arch = r.cmd("e asm.arch")
self.bits = eval(r.cmd("e asm.bits"))
self.os = r.cmd("e asm.os")
self.type = r.cmd("e file.type")
self.size = eval(r.cmd("i~size[1]#1"))
self.vaddr = eval(r.cmd("e io.vaddr"))
self.paddr = eval(r.cmd("e io.paddr"))
self.bigendian = r.cmd("e cfg.bigendian")
self.entrypoint = eval(r.cmd("?v entrypoint"))
示例6: seek_history
def seek_history():
ret = []
list = r.cmd("u*").split("\n")
for i in range(1, len(list)):
w = list[i].split(" ")
if len(w) > 3:
t = {}
t["addr"] = w[0].strip()
ret.append(t)
return ret
示例7: flag_list
def flag_list(mask):
ret = []
list = r.cmd("f~%s"%mask).split("\n")
for i in range(1, len(list)):
w = list[i].split(" ")
if len(w) > 3:
t = {}
t["addr"] = long(w[1].strip(),16)
t["size"] = long(w[3].strip(),10)
t["name"] = w[4].strip()
ret.append(t)
return ret
示例8: write_history
def write_history():
ret = []
list = r.cmd("wu").split("\n")
for i in range(1, len(list)):
w = list[i].split(" ")
if len(w) > 3:
t = {}
t["size"] = long(w[2].strip(),10)
t["addr"] = long(w[3].strip(),16)
# TODO moar nfo here
ret.append(t)
return ret
示例9: dbg_backtrace
def dbg_backtrace():
ret = []
list = r.cmd("!bt").split("\n")
for i in range(1, len(list)):
w = list[i].split(" ")
if len(w) > 3:
t = {}
t["addr"] = long(w[1].strip(),16)
t["framesz"] = long(w[2].strip(),10)
t["varsz"] = long(w[3].strip(),10)
ret.append(t)
return ret
示例10: __init__
def __init__(self, addr):
for line in r.cmd("[email protected]%s"%addr):
words = line.split('=')
words[0] = words[0][:-1] # strip ' '
if words[0] == 'opcode':
self.opcode = words[1]
elif words[0] == 'size':
self.size = eval(words[1])
elif words[0] == 'stackop':
self.stackop = words[1]
elif words[0] == 'type':
self.type = words[1]
elif words[0] == 'bytes':
self.bytes = words[1]
elif words[0] == 'offset':
self.addr = words[1]
elif words[0] == 'ref':
self.ref = eval(words[1])
elif words[0] == 'jump':
self.j_true = eval(words[1])
elif words[0] == 'fail':
self.j_false = eval(words[1])
示例12: remove
def remove(addr, str):
r.cmd("CC -%[email protected]%s"%(str, addr))
示例13: add
def add(addr, str):
r.cmd("CC %[email protected]%s"%(str, addr))
示例14: disassemble
def disassemble(addr, n):
return r.cmd("pd %[email protected]%d"%(n,addr))
示例15: idc_import
def idc_import(file):
r.cmd(".!rsc idc2rdb %s"%file)