发新帖

菜鸟Dump Memory python 脚本

[复制链接]
21819 13
直接用就行,改改地址啥的

from idaapi import *
from idc import *
import struct
def dump_memory(filename,start_add,size):
    fd=open(filename,"wb")
    for i in range(0,size,4):
        ea=start_add+i
        buf=idaapi.dbg_read_memory(ea,4)
        fd.write(buf)
    fd.close()
def write_memory(memoryfile,linefile,start_add):
    fd=open(memoryfile,'rb')
    fd2=open(linefile,'r')
    lines=fd2.readlines()
    for i in lines:
        pos=int(i[0:len(i)-2],16)
        ea=start_add+pos
        fd.seek(pos)
        buf=fd.read(1)
        buf=idaapi.dbg_write_memory(ea,buf)      
    fd2.close()
    fd.close()
def write_all_memory(memoryfile,start_add):
    fd=open(memoryfile,'rb')
    fd.seek(0,2)
    pos=fd.tell()
    fd.seek(0,0)
    for i in range(pos):
        ea=start_add+i
        buf=fd.read(1)
        buf=idaapi.dbg_write_memory(ea,buf)      
    fd.close()
def write_pwd():
    ea=0x3f6eee
    idaapi.dbg_write_memory(ea,struct.pack('=H',0x0035))
    ea=ea+2
    idaapi.dbg_write_memory(ea,struct.pack('=H',0x0031))
    ea=ea+2
    idaapi.dbg_write_memory(ea,struct.pack('=H',0x0032))
    ea=ea+2
    idaapi.dbg_write_memory(ea,struct.pack('=H',0x0035))
    ea=ea+2
    idaapi.dbg_write_memory(ea,struct.pack('=H',0x0031))
    ea=ea+2
    idaapi.dbg_write_memory(ea,struct.pack('=H',0x0032))
    ea=ea+2
    idaapi.dbg_write_memory(ea,struct.pack('=H',0x0035))
    ea=ea+2
    idaapi.dbg_write_memory(ea,struct.pack('=H',0x0031))
    ea=ea+2
    idaapi.dbg_write_memory(ea,struct.pack('=H',0x0032))
filename='memory'
linefile='result_compare.txt'
start=0x7c00
size=0x300000
#dump_memory(filename,start,size)
write_memory(filename,linefile,start)
#write_all_memory(filename,start)
#print idaapi.dbg_get_registers()
#write_pwd()
print "run_ok"

举报 使用道具

回复

精彩评论13

StarMe    发表于 2015-8-16 12:57:00 | 显示全部楼层
脚本不错,但是木有介绍具体使用场景呀

举报 使用道具

回复 支持 反对
A00    发表于 2015-8-18 10:57:37 | 显示全部楼层
要是写点注解就更好了,感谢

举报 使用道具

回复 支持 反对
RunDreamSail    发表于 2015-8-18 12:48:44 | 显示全部楼层
StarMe 发表于 2015-8-16 12:57
脚本不错,但是木有介绍具体使用场景呀

我擦,这么菜居然还用路飞的头像,尼玛居然还是黑化版的,基础没打扎实就不要学这些啊,哎不然又是一个不会研究的工具党,
至于使用场景,比如ida动态调试的时候,可以dump内存,把上面的内容保存为.py文件,然后用ida运行即可。尼玛坑爹的头像

举报 使用道具

回复 支持 反对
FindAllBlue    发表于 2015-8-18 12:55:47 | 显示全部楼层
StarMe 发表于 2015-8-16 12:57
脚本不错,但是木有介绍具体使用场景呀

坑爹的头像!

举报 使用道具

回复 支持 反对
FindAllBlue    发表于 2015-8-18 12:59:37 | 显示全部楼层
A00 发表于 2015-8-18 10:57
要是写点注解就更好了,感谢

里面有些函数的作用在ida的目录,idaapi.py跟ida.py这两个文件,打开看就是了,def是定义函数  #是注释,用ida调试打开File->script file就可以运行了,这里面主要是dump内存和写内存等

举报 使用道具

回复 支持 反对
yyj85391    发表于 2015-8-25 02:09:42 来自手机  | 显示全部楼层
RunDreamSail 发表于 2015-8-18 12:48
我擦,这么菜居然还用路飞的头像,尼玛居然还是黑化版的,基础没打扎实就不要学这些啊,哎不然又是一个不 ...

看到你的回复,解开了我的疑惑!我是刚接触破解没多久

举报 使用道具

回复 支持 反对
wruih    发表于 2015-8-25 11:02:13 | 显示全部楼层
RunDreamSail 发表于 2015-8-18 12:48
我擦,这么菜居然还用路飞的头像,尼玛居然还是黑化版的,基础没打扎实就不要学这些啊,哎不然又是一个不 ...

你丫就嘚瑟吧

点评

你是女生吗  详情 回复 发表于 2015-8-25 12:13

举报 使用道具

回复 支持 反对
FindAllBlue    发表于 2015-8-25 12:13:59 | 显示全部楼层

你是女生吗

点评

爷们 在群里 不约炮  详情 回复 发表于 2015-8-25 13:12

举报 使用道具

回复 支持 反对
wruih    发表于 2015-8-25 13:12:41 | 显示全部楼层

爷们 在群里 不约炮  

点评

看见你头像已经是美女,o(╯□╰)o原来是爷们  详情 回复 发表于 2015-8-25 14:35

举报 使用道具

回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表