python灰帽子-修改其他进程中的函数调用参数

来源:互联网 发布:网络上意大利炮的意思 编辑:程序博客网 时间:2024/04/29 21:52
#filename:printf_loop.pyfrom ctypes import *import timemsvcrt = cdll.msvcrtcounter = 0for counter in range(0, 100):    msvcrt.printf(b"loop iteration %d\n", counter)    time.sleep(2)


# filename:printf_random.py# -*- coding:utf-8 -*-from pydbg import *from pydbg.defines import *import structimport random# 回调处理例程def printf_randomizer(dbg):base_addr = dbg.context.Espparam0 = dbg.read_process_memory(base_addr + 0x8, 4)param0 = struct.unpack("L", param0)[0]print("param0={0:d}".format(int(param0)))random_value = random.randint(1, 100)random_value = struct.pack("L", random_value)[0]dbg.write_process_memory(base_addr + 0x8, random_value)return DBG_CONTINUEdbg = pydbg()pid = raw_input("input pid of printf_loop.py:")print(pid)dbg.attach(int(pid))printf_func_addr = dbg.func_resolve("msvcrt", "printf")dbg.bp_set(printf_func_addr, description="printf_func_addr", handler=printf_randomizer)dbg.run()


0 0
原创粉丝点击