mirror of
https://github.com/radareorg/radare.git
synced 2026-11-08 17:43:16 -10:00
language binding APIs (python/ruby/perl/...) * Update TODO file --HG-- rename : src/plug/hack/perl/Radare/Remote.pm => api/perl/Radare/Remote.pm rename : src/plug/hack/perl/test.pl => api/perl/test.pl rename : src/plug/hack/radare.py => api/python/radare/api.py rename : src/plug/hack/ruby/Makefile => api/ruby/Makefile rename : src/plug/hack/ruby/radare/api.rb => api/ruby/radare/api.rb rename : src/plug/hack/ruby/radare/remote.rb => api/ruby/radare/remote.rb rename : src/plug/hack/ruby/test.rb => api/ruby/server.rb
62 lines
1.5 KiB
Python
62 lines
1.5 KiB
Python
try:
|
|
import r
|
|
except:
|
|
import radare.remote
|
|
print "Food"
|
|
import radare.api
|
|
import sys
|
|
sys.path.append('.')
|
|
from radare.analysis import *
|
|
|
|
print "---------------------------------"
|
|
|
|
print r.cmd("e scr.color=0")
|
|
print r.cmd("e graph.split=0")
|
|
p = Program()
|
|
|
|
print "File type: %s" % p.type
|
|
print "File size: %d bytes" % p.size
|
|
print "Entrypoint: 0x%x" % p.entrypoint
|
|
print "Virtual address: 0x%x" % p.vaddr
|
|
print "Physical address: 0x%x" % p.paddr
|
|
print "OperatingSystem: %s" % p.os
|
|
print "Architecture: %s" % p.arch
|
|
print "Endian: %s" % p.bigendian
|
|
|
|
print "Symbols:"
|
|
ss = Symbols()
|
|
for s in ss.list:
|
|
print "0x%08x: size=%s name=%s"%(s.addr, s.size, s.name)
|
|
Function.analyze(s.addr)
|
|
|
|
print "Functions:"
|
|
fs = Functions()
|
|
for f in fs.list:
|
|
print "0x%08x: size=%s name=%s"%(f.addr, f.size, f.name)
|
|
bb = BasicBlocks(f.addr)
|
|
print " ==> Basic blocks: %d"%len(bb.list)
|
|
print " ==> Disassembly:"
|
|
print r.cmd("pd@%d:%d"%(f.addr,f.size))
|
|
Graph.make_png(f.addr, "%s.png"%f.name)
|
|
|
|
print "Imports:"
|
|
ss = Imports()
|
|
for s in ss.list:
|
|
print "0x%08x: size=%s name=%s"%(s.addr, s.size, s.name)
|
|
for x in CodeXrefs(s.addr).list:
|
|
print " -> xref from 0x%08x"%(x.addr)
|
|
|
|
print "Xrefs:"
|
|
for x in CodeXrefs().list:
|
|
print " -> code xref from 0x%08x -> to 0x%08x"%(x.addr, x.endaddr)
|
|
for x in DataXrefs().list:
|
|
print " -> data xref from 0x%08x -> to 0x%08x"%(x.addr, x.endaddr)
|
|
|
|
print "Sections:"
|
|
ss = Sections()
|
|
for s in ss.list:
|
|
print "0x%08x: size=%d %s"%(s.addr, s.size, s.name)
|
|
|
|
print "---------------------------------"
|
|
radare.api.quit(0)
|