Example #1
0
def Hunt_OutStr(t, priv, lvl):
	a = t.start
	if p.m.b16(a) != 0x5f00:
		return
	d = p.m.b32(a + 2)
	if d != 0x80003b28 and d != 0x80000900: 
		return
	if p.m.b16(a - 2) != 0x91e0:
		return
	if p.m.b16(a - 8) != 0x1400:
		return
	ta = p.m.b32(a - 6)
	try:
		w = const.txt(p, ta)
		w.fold = True
		t.lcmt('"' + w.txt + '"')
	except:
		print("%08x (%08x) failed" % (a, ta))
	return
Example #2
0
def Hunt_OutStr(t, priv, lvl):
    a = t.start
    if p.m.b16(a) != 0x5f00:
        return
    d = p.m.b32(a + 2)
    if d != 0x80003b28 and d != 0x80000900:
        return
    if p.m.b16(a - 2) != 0x91e0:
        return
    if p.m.b16(a - 8) != 0x1400:
        return
    ta = p.m.b32(a - 6)
    try:
        w = const.txt(p, ta)
        w.fold = True
        t.lcmt('"' + w.txt + '"')
    except:
        print("%08x (%08x) failed" % (a, ta))
    return
Example #3
0
    v = p.m.rd(i)
    const.byte(p, i)
    cpu.disass(v)
    j.flow("cond", "x", v)
    p.setlabel(v, "CMD_%02x" % (i - 0xa))

#######################################################################
# No idea...

for i in range(0x000, 0x800, 0x100):
    cpu.disass(i + 0xfe)

#######################################################################
# Pure guess

const.txt(p, 0x5ae)
cpu.disass(0x695)
cpu.disass(0x700)
cpu.disass(0x70d)
cpu.disass(0x720)
#######################################################################

import explore
#import cProfile
#cProfile.run('explore.brute_force(p, cpu, 0xe000, 0x10000)')
#explore.brute_force(p, cpu, 0x0000, 0x0800)

while p.run():
    pass

cpu.to_tree()
Example #4
0
	v = p.m.rd(i)
	const.byte(p, i)
	cpu.disass(v)
	j.flow("cond", "x", v)
	p.setlabel(v, "CMD_%02x" % (i - 0xa))

#######################################################################
# No idea...

for i in range(0x000,0x800,0x100):
	cpu.disass(i + 0xfe)

#######################################################################
# Pure guess

const.txt(p, 0x5ae)
cpu.disass(0x695)
cpu.disass(0x700)
cpu.disass(0x70d)
cpu.disass(0x720)
#######################################################################

import explore
#import cProfile
#cProfile.run('explore.brute_force(p, cpu, 0xe000, 0x10000)')
#explore.brute_force(p, cpu, 0x0000, 0x0800)

while p.run():
	pass

cpu.to_tree()
Example #5
0
def txtptr(a):
	x = const.w32(p, a)
	w = const.txt(p, p.m.b32(a))
	w.fold = True
	x.lcmt('"' + w.txt + '"')
Example #6
0
p.setlabel(0x0326, "ResetHandler")

#######################################################################
#
x = p.t.add(0x020a, 0x0326, "section")
x.blockcmt += """-
Second section, Assy support for C-code, runs in C-env
"""

p.setlabel(0x2040, "TrapHandler")

#######################################################################
# More hints...
if True:
	x = const.txt(p, 0x0c76)
	x = const.txt(p, 0x0cb1)
	const.txt(p, 0x010002a4)
	const.txt(p, 0x01000324)
	const.txt(p, 0x0100033b)
	const.txt(p, 0x01000352)
	const.txt(p, 0x01000554)
	const.txt(p, 0x0100056e)
	const.txt(p, 0x0100057e)
	const.txt(p, 0x01000592)
	const.txt(p, 0x010005ba)
	const.txt(p, 0x010005cb)
	const.txt(p, 0x010005e0)
	const.txt(p, 0x01000ea1)
		
#######################################################################
Example #7
0
def txtptr(a):
    x = const.w32(p, a)
    w = const.txt(p, p.m.b32(a))
    w.fold = True
    x.lcmt('"' + w.txt + '"')
Example #8
0
p.setlabel(0x0326, "ResetHandler")

#######################################################################
#
x = p.t.add(0x020a, 0x0326, "section")
x.blockcmt += """-
Second section, Assy support for C-code, runs in C-env
"""

p.setlabel(0x2040, "TrapHandler")

#######################################################################
# More hints...
if True:
    x = const.txt(p, 0x0c76)
    x = const.txt(p, 0x0cb1)
    const.txt(p, 0x010002a4)
    const.txt(p, 0x01000324)
    const.txt(p, 0x0100033b)
    const.txt(p, 0x01000352)
    const.txt(p, 0x01000554)
    const.txt(p, 0x0100056e)
    const.txt(p, 0x0100057e)
    const.txt(p, 0x01000592)
    const.txt(p, 0x010005ba)
    const.txt(p, 0x010005cb)
    const.txt(p, 0x010005e0)
    const.txt(p, 0x01000ea1)

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