Ejemplo n.º 1
0
def test_fauxware():

    amd64 = archinfo.arch_from_id('amd64')

    args = {
        'i386': [
            ('authenticate', SimCCCdecl(
                archinfo.arch_from_id('i386'),
                args=[SimStackArg(4, 4), SimStackArg(8, 4)], sp_delta=4, ret_val=SimRegArg('eax', 4),
                )
             ),
        ],
        'x86_64': [
            ('authenticate', SimCCSystemVAMD64(
                amd64,
                args=[SimRegArg('rdi', 8), SimRegArg('rsi', 8)],
                sp_delta=8,
                ret_val=SimRegArg('rax', 8),
                )
             ),
        ],
    }

    for arch, lst in args.items():
        yield run_fauxware, arch, lst
Ejemplo n.º 2
0
def setup(proj, aux_hooks=False, unhook=[], cdecl_stub=[], stdcall_stub=[]):
    if aux_hooks:
        _hook_all_aux(proj)

    for sym in unhook:
        proj.unhook_symbol(sym)

    for sym in cdecl_stub:
        proj.hook_symbol(sym, ReturnUnconstrained(cc=SimCCCdecl(proj.arch), is_stub=True))

    for sym in stdcall_stub:
        proj.hook_symbol(sym, ReturnUnconstrained(cc=SimCCStdcall(proj.arch), is_stub=True))
Ejemplo n.º 3
0
def test_fauxware():

    amd64 = archinfo.arch_from_id("amd64")

    args = {
        'i386': [
            ('authenticate', SimCCCdecl(archinfo.arch_from_id('i386'), )),
        ],
        'x86_64': [
            ('authenticate', SimCCSystemVAMD64(amd64, )),
        ],
    }

    for arch, lst in args.items():
        yield run_fauxware, arch, lst
 def test_fauxware_i386(self):
     self._run_fauxware(
         "i386",
         [('authenticate', SimCCCdecl(archinfo.arch_from_id('i386')))])