首页
社区
课程
招聘
[原创]PYdotDLL. a simple python hook engine / update 2010.9.28
发表于: 2010-9-15 11:27 22184

[原创]PYdotDLL. a simple python hook engine / update 2010.9.28

2010-9-15 11:27
22184

如题所说。
这是一个简单的PYTHON HOOK引擎。
因为PYTHON是一个高效率的脚本语言,所以借住这个你能快速高效的HOOK所要分析的目标函数,进而分析各种你需要的。
当然,具体如何使用就得看你的意愿和想法了。

update 2010.9.17:
增加了一个HOOKDecorator,使用更简单。
p.s.还并不明白Decorator是为什么而设计,所以也不知道在这里用Decorator是否合适。
等有机会弄清楚了,如果不合适的话就去掉

update 2010.9.28
把HookProc代码放上去了。并且增加了一个IATHOOK和EATHOOK。
以后不会再在这儿更新了。
新地址:http://code.google.com/p/pydotdll/
欢迎加入 = =#

Hook LoadLibraryA

    @HOOKDecorator('kernel32.LoadLibraryA', dll=ctypes.c_char_p)
    def LoadLibraryA(dll):
        handle = OriginFuncion(dll)
        print '%s: 0x%08X' % (os.path.basename(dll), handle)
        return handle
    @HOOKDecorator('user32.MessageBoxA', title=ctypes.c_char_p)
    def MessageBoxA(handle, msg, title, type):
        return OriginFuncion(handle, msg, 'PYdotDLL!!', type)

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (29)
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
2
这么好的帖子没人顶啊
2010-9-16 13:23
0
雪    币: 1708
活跃值: (586)
能力值: ( LV15,RANK:670 )
在线值:
发帖
回帖
粉丝
3
不会玩大蛇。。。
2010-9-16 13:42
0
雪    币: 181
活跃值: (27)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
很好,很强大~!顶
2010-9-16 15:48
0
雪    币: 220
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
沙发!  顶  太呛眼了。。。
2010-9-16 16:08
0
雪    币: 3116
活跃值: (1269)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
6
forgot大牛说顶,我也要顶,最近正学习python来搞测试.我连帖子原理都还不晓得
2010-9-16 19:33
0
雪    币: 393
活跃值: (100)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
7
感谢forgot
感谢kanxue

然后再次表达对另外一个版块N位版主的不满。
2010-9-16 20:34
0
雪    币: 234
活跃值: (83)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
8
赞赞,学习了。python威武...
2010-9-16 23:15
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
9
可以考虑设计个decorator
@hook('user32', 'MessageBoxA', msg=c_char_p, title=c_char_p) # default type=c_ulong
def my_MessageBox(hwnd, msg, title, icon):
    yield (hwnd, msg, title, icon)
2010-9-18 09:25
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
那个dll的代码,弄公开吗?
2010-9-18 11:58
0
雪    币: 22
活跃值: (868)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
11
这个好,dll源码有吗?
2010-9-18 16:31
0
雪    币: 393
活跃值: (100)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
12
@forgot
谢谢提醒,我试试。

@wangweimin, @weizi
dll源码有打包的
hooklib的话 我得整理一下才能发上来,原来的是个大杂烩 没必要发上来
2010-9-18 17:00
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
相当期待
2010-9-19 10:28
0
雪    币: 22
活跃值: (868)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
14
这个好,一定要继续更新
2010-9-19 17:30
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
15
看了半天,猜测这不是逆python二进制程序,而是用python来实现api hook,强大!
python看来不仅仅是个日常管理脚本了,还可干更多事情
2010-9-19 18:11
0
雪    币: 24
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
这个东西给力,收下了
2010-9-20 16:04
0
雪    币: 6051
活跃值: (1441)
能力值: ( LV15,RANK:1473 )
在线值:
发帖
回帖
粉丝
17
正在努力学习python中。。。
2010-9-20 21:44
0
雪    币: 29
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
不错。试试看先
=================
刚刚下载下来,可是不会用。
怎么将DLL加载进 例子中的 IE进程?

还有,是不是只要修改PYdotDLL.dll 同目录下的PYdotDLL.py里面的脚本,就能实现其他功能?

菜鸟静候回答!
2010-9-21 01:20
0
雪    币: 22
活跃值: (868)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
19
如果用python的话,大家可以看看paimei这个包,可用python调式程序,设置断点等软件。
2010-9-21 20:57
0
雪    币: 177
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
20
顶起来 好东西
2010-9-21 21:06
0
雪    币: 393
活跃值: (100)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
21
是的~~~只要修改PYdotDLL.py
至于如何让IE加载DLL 你可以搜索: DLL注入/lpk补丁
2010-9-22 15:30
0
雪    币: 695
活跃值: (25)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
22
感谢lz开源~
2010-9-22 17:10
0
雪    币: 251
活跃值: (1262)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23
先顶一下。请问LZ:
1。 拿到没装Python的机器上怎么跑?特别是那个_ctypes.dll(pyd,py等文件)要放到何处呢??
2。 不会要先装python2.6吧???
2010-9-23 09:59
0
雪    币: 393
活跃值: (100)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
24
需要装python2.6
也没打算做成portable,那个没有必要的。
2010-9-23 10:07
0
游客
登录 | 注册 方可回帖
返回
//