我的Hacker之路(一)Ctypes的调用

本文介绍了作者在实践《Linux黑客的Python编程之道》时,利用ctypes模块在不同平台上查找和调用动态库的过程,如查找libm和libc库,并展示了ctypes调用动态库的简便性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我主要是实践《Linux黑客的Python编程之道》中的所有内容,在此感谢“网名:天国之翼[自由之光] , winger”。

“在阅读此书之前 ,假设大家已经对各种黑客工具 ,技术(调试器,后门,fuzzer,仿真器,代码注入)都有一个理论上的认识。我们的目的是不仅仅会使用各种基于Python编写的工具,还要能够自定和编写自己的工具 。”

一、在各平台下如何查看你想要调用的动态库

>>> from ctypes.util import find_library  

>>> find_library("m")  

'/usr/lib/libm.dylib'

>>> find_library("c")  

'/usr/lib/libc.dylib'


后面出来的这个库文件是我在MAC平台下想要调用标准C库


下面是HELLO WORLD!

# encoding:utf-8
__author__ = 'neo'

from ctypes import *

libc = CDLL("/usr/lib/libc.dylib")
message_string = "Hello world!\n"

libc.printf("Testing: %s", message_string)

可以看到 ctypes 调用动态链接库中的函数有多简单。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值