예제 #1
0
파일: task.py 프로젝트: sahwar/PyRevEng
import os
sys.path.insert(0, os.path.abspath(os.path.join(".", "..", "..")))

#######################################################################
# Stuff we need...

import mem
import pyreveng
import topology
import render
import cpus.cdp1802

#######################################################################
# Set up the memory image
m = mem.byte_mem(0, 0x800, 0, True, "big-endian")
m.fromfile("cdp1802.bin", 0x0000, 1)
m.bcols = 3

#######################################################################
# Instantiate pyreveng instance
p = pyreveng.pyreveng(m)

#######################################################################
# Instantiate a disassembler
cpu = cpus.cdp1802.cdp1802(p)

#######################################################################
# Provide hints for disassembly
cpu.vectors(p)
예제 #2
0
파일: task.py 프로젝트: bsdphk/PyRevEng
import os
sys.path.insert(0, os.path.abspath(os.path.join(".", "..", "..")))

#######################################################################
# Stuff we need...

import mem
import pyreveng
import topology
import render
import cpus.cdp1802

#######################################################################
# Set up the memory image
m = mem.byte_mem(0,0x800, 0, True, "big-endian")
m.fromfile("cdp1802.bin", 0x0000, 1)
m.bcols = 3

#######################################################################
# Instantiate pyreveng instance
p = pyreveng.pyreveng(m)

#######################################################################
# Instantiate a disassembler
cpu = cpus.cdp1802.cdp1802(p)

#######################################################################
# Provide hints for disassembly
cpu.vectors(p)
예제 #3
0
import os
sys.path.insert(0, os.path.abspath(os.path.join(".", "..", "..")))

#######################################################################
# Stuff we need...
import mem
import const
import pyreveng
import render
import topology
import cpus.mcs48

#######################################################################
# Set up the memory image
m0 = mem.byte_mem(0, 0x001000, 0, True, "little-endian")

m0.fromfile("MCU_WDC_U10.bin", 0x0000, 1)
m0.bcols = 2

#######################################################################
# Create a pyreveng instance
p = pyreveng.pyreveng(m0)

#######################################################################

p.t.blockcmt += """-
-
"""

const.fill(p, mid=0x004)
예제 #4
0
파일: task.py 프로젝트: bsdphk/PyRevEng
import os
sys.path.insert(0, os.path.abspath(os.path.join(".", "..", "..")))

#######################################################################
# Stuff we need...
import mem
import const
import pyreveng
import render
import topology
import cpus.mcs6500


#######################################################################
# Set up the memory image
m0 = mem.byte_mem(0, 0x010000, 0, True, "little-endian")

m0.fromfile("EPROM_Z8000_Fl.Cont._S41_6-20-85.bin", 0xe000, 1)
m0.bcols=8

#######################################################################
# Create a pyreveng instance
p = pyreveng.pyreveng(m0)

#######################################################################

p.t.blockcmt += """-
The Z8000_Schematics.pdf file reveals a number of interesting facts about
what, how and why for this chip.

p13,p35:
예제 #5
0
파일: task.py 프로젝트: bsdphk/PyRevEng
import os
sys.path.insert(0, os.path.abspath(os.path.join(".", "..", "..")))

#######################################################################
# Stuff we need...
import mem
import const
import pyreveng
import render
import topology
import cpus.z8000


#######################################################################
# Set up the memory image
m0 = mem.byte_mem(0, 0x008000, 0, True, "big-endian")

m0.fromfile("EPROM_C_900_boot-H_V_1.0.bin", 0, 2)
m0.fromfile("EPROM_C_900_boot-L_V_1.0.bin", 1, 2)
m0.bcols=8

m1 = mem.byte_mem(0, 0x008000, 0, True, "big-endian")

m = mem.seg_mem(0x7f000000, 0x0000ffff)
m.add_seg(0, m0)
m.add_seg(1, m1)

#######################################################################
# Create a pyreveng instance
p = pyreveng.pyreveng(m)
예제 #6
0
	def load_mem(self):
		l,ss,sz = self.load_size()
		# We want flags because part of the mem will be undefined
		m = mem.byte_mem(end = len(l) * ss, endian = self.endian,
		    flags=True)
		return m
예제 #7
0
파일: task.py 프로젝트: sahwar/PyRevEng
import os
sys.path.insert(0, os.path.abspath(os.path.join(".", "..", "..")))

#######################################################################
# Stuff we need...
import mem
import const
import pyreveng
import render
import topology
import cpus.z8000

#######################################################################
# Set up the memory image
m0 = mem.byte_mem(0, 0x008000, 0, True, "big-endian")

m0.fromfile("EPROM_C_900_boot-H_V_1.0.bin", 0, 2)
m0.fromfile("EPROM_C_900_boot-L_V_1.0.bin", 1, 2)
m0.bcols = 8

m1 = mem.byte_mem(0, 0x008000, 0, True, "big-endian")

m = mem.seg_mem(0x7f000000, 0x0000ffff)
m.add_seg(0, m0)
m.add_seg(1, m1)

#######################################################################
# Create a pyreveng instance
p = pyreveng.pyreveng(m)