山石网科安全技术研究院简称“山石安研院”正式成立于2020年4月,是山石网科的信息安全智库部门,山石安研院旗下包括干将、莫邪两大安全实验室,以及安全预警分析、高端攻防培训两支独立的技术团队。
今天看啥  ›  专栏  ›  山石网科安全技术研究院

Cython 二进制库逆向分析全面指南

山石网科安全技术研究院  · 公众号  ·  · 2024-07-16 08:47

文章预览

众所周知,Python 类题目最难的一类是使用 cython (https://github.com/cython/cython) 工具将 Python 代码转成 C 代码并编译成二进制库。此类题目比单纯使用 Python/C API 编写 C 代码编译成二进制库的方式更加复杂,cython 工具作为一类通用工具,为了提高稳健性,其在转换时会对 Python 代码做额外处理(包括对引用计数的调整),从而干扰我们的逆向。当然,也正是因为它是通用工具,其整体框架和对类似 Python 字节码的处理也有一定规律,当我们熟悉这个规律以后,手撕 cython 二进制库就非常轻松了。 初探 cython 先用最经典的 Hello world 做例子,保存为 hello_world.py : print( "Hello, World!" ) 然后调用 cython 转成 C 并编译: cythonize -i hello_world.py 然后我们可以看到一个 hello_world.c 生成在同一目录中,可以看到这个 c 文件足足有4155行……! 足以证明其框架代码和 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览