博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pydbg系列[1]
阅读量:7098 次
发布时间:2019-06-28

本文共 2906 字,大约阅读时间需要 9 分钟。

a.安装pydasm

1.下载 libdasm (pydbg 依赖于 pydasm, pydasm 又需要 libdasm)

http://code.google.com/p/libdasm/

下载libdasm-1.5.tar.gz并解压取其中的pydasm

2.如果你从没有编译个c源代码的python库, 而且你安装的 python 和你的 VC 编译器版本不

匹配的话, 可能会出现找不到C编译器的错误. 这时就需要手动修改python的 Lib\distutils
\msvccompiler.py文件.

具体如下所示:

msvccompiler.py: ... class MSVCCompiler (CCompiler) : ... def __init__ (self, verbose=0, dry_run=0, force=0): ... # comment out here!! self.__macros = MacroExpander(self.__version) #将这一行注释掉

并且删掉msvccompiler.py对应的.pyc文件

需要环境变量"DISTUTILS_USE_SDK"和"MSSdk"

set DISTUTILS_USE_SDK=1 set MSSdk=1

3.设置和修改完这些后,开始编译

python setup.py build_ext

会出现一些错误,忽略这些错误,只要能够生成pydasm.pyd就可以了。

生成目录为libdasm-1.5\pydasm\build\lib.win32-2.5\pydasm.pyd

4.然后输入python setup.py install

测试安装的 pydasm. 进入 python 命令行, 输入 import pydasm
没有错误表示已经安装成功

b.安装pydbg
1.svn中checkout paimei

http://code.google.com/p/paimei/

取其中的pydbg

2.编译安装

python setup.py build python setup.py install

输入import pydbg测试是否安装成功

 

c.初步使用pydbg

摘抄的代码片段

import pydbg def AESDecrypt_hook(dbg,args,ret): ..... def AESEncrypt_hook(dbg,args): ..... dbg=pydbg() for process in dbg.enumerate_processes(): if(process[1]=="Thunder5.exe"): pid=process[0] if(pid==0): print "process not exist!" sys.exit(0) dbg.attach(pid) addr_AESDecrypt=0xAAAAAAAA #AES decryption function address addr_AESEncrypt=0xBBBBBBBB #AES encryption function address hooks=utils.hook_container() print "Hooking AESEncryption(0x%x)" % addr_AESEncrypt print "Hooking AESDecryption(0x%x)" % addr_AESDecrypt hooks.add(dbg,addr_AESEncrypt,2,AESEncrypt_hook,None) hooks.add(dbg,addr_AESDecrypt,2,AESDecrypt_hook,None) ...... dbg.run()

 

d、参考链接:

1.http://www.glamenv-septzen.net/en/view/13      pydbg安装,很详细
2.http://www.adintr.com/article/blog/263      pydbg安装
3.http://robindavid.comli.com/?p=433      pydbg hack process
4.https://www.corelan.be/index.php/2010/10/20/in-memory-fuzzing/       pydbg memory fuzzing
5.http://pedram.redhive.com/PaiMei/docs/PyDbg/      pydbg函数详细文档
6.http://pedram.redhive.com/PyDbg/docs/     pydbg详细文档
7.http://dvlabs.tippingpoint.com/blog/2008/11/20/mindshare-utilizing-pydbg-within-ida    ida应用,这篇值得看
8.http://www.openrce.org/blog/view/869/PyDbg_Hacks     pydbg hack
9.http://www.manaware.net/reverse-engineering/soft-hooking-with-pydbg.html        pydbg做hook
10.http://blog.carlosgarciaprado.com/?tag=pydbg      live debugging
11.http://www.openrce.org/blog/view/598/The_Greatness_of_PyDbg       pydbg应用
12.http://www.openrce.org/blog/view/100/Debugger_Debugging_Madness       pydbg应用
13.http://crazylazy.info/blog/?q=content/paimei-tutorial-hands-pydbg-part-1      pydbg精彩文章
14.http://www.linuxidc.com/Linux/2011-11/47734.htm pydbg做hook应用
15.http://hi.baidu.com/oxl6/blog/item/54583d55f48f5c52d009062d.html       pydbg做逆向工程(一系列,很精彩)
16.http://initiative.yo2.cn/archives/category/python 关于paimei的文章多
17.http://hi.baidu.com/int3/blog/item/4d06c151637659888d5430c9.html   跟踪程序流程

另外google 百度 搜索pydbg很多资料

本文只做总结,不做深入探讨,后继深入部分实际应用

转载于:https://www.cnblogs.com/moonflow/archive/2011/12/04/2276062.html

你可能感兴趣的文章
sql执行顺序
查看>>
SpringMVC @RequestBody接收Json对象字符串
查看>>
Cmd 命令大全
查看>>
个人学期总结
查看>>
PTA之简单阶乘计算
查看>>
前端架构
查看>>
net log4net 通用配置
查看>>
postgresql如何实现group_concat功能
查看>>
Js 向json对象中添加新元素
查看>>
ip反查域名
查看>>
【OpenCV归纳】1 体验OpenCV
查看>>
毛毛雨的博客乐园—内容简介
查看>>
实现一个3D图片轮播插件 —— 更新版
查看>>
C# 如何实现WinForm程序自重启(重新启动自己)
查看>>
Jenkins 集成 git .net 和nuget
查看>>
(二)重定向以及传值
查看>>
Spark任务调度初识
查看>>
《Linux内核设计与实现》读书笔记(十二)- 内存管理
查看>>
Linux 小知识翻译 - 「分区」
查看>>
Linux 小知识翻译 - 「cron」
查看>>