您的位置:

python逆向工程笔记(Python逆向工程)

本文目录一览:

使用python语言如何保密源代码以防止逆向工程?

大家都很忙,谁有时间看你的的烂代码!

如果真的怕泄露,别用python.

我以前做过这类事情,而且当时更严格,需要打包部署到客户的服务只在有效期内有效,超过有效期必须更新证书才行。

Python代码用任何方法都没法保证保密性,这个时候你可以考虑用一个工具「nuitka」,这个工具会把你的python源代码映射为c++然后编译为二进制,因此对方是无论如何得不到你的源代码的。

代价就是nuitka这个工具并不完美,有一些限制并不能100%完美的转换所有python代码。

1.用Cython编译python成 Windows的pyd文件或Linux的so文件,二进制文件相对安全性较高。

2.用源码混淆器把代码搞的又臭又长。。。混淆完了再用Cython编译为二进制。。。这样静态反编译逆向难度也不小。

3.同其他语言程序一样,可以对调试状态进行检测,当处于调试状态时退出程序或进入混乱代码耗费逆向工程人员心神。

4.分享一个跨平台反调试手段,检测函数运行时间,加断点会导致函数运行时间变长,也可感知正在被调试。

Python是提倡开源的,既然选择Python还是拥抱开源才好~ 都开源还担心逆向工程嘛

没有不能逆的软件。

只要汇编语言过关,逆向工程都是可以实现的,不要有其它想法。

你唯一可以做的,就是不让别人用python读取源代码而已。那样实现起来比较简单。

python 适合开发服务器程序,或者自己科研使用的程序,如果是 作为用户程序,安装到 pc 或手机上,还是 其它 c++ 或java 比较合适

1)可以把需要保护的部分用c语言实现,从而编译成so等文件,这样逆向的成本会比较高,可以防止直接打开python文件看到代码逻辑。

2)so文件通过ida等工具也是可以反汇编的,可以通过对c语言进行代码混淆,花指令等操作,提高通过ida等反汇编工具的分析难度。

3)不存在绝对无法逆向的技术手段,因此只能是看具体需求,选择具体的防逆向的技术手段。

有工具类似py2exe转成可执行程序,隐藏全部源代码,虽然bytecode还是可以反编译,但是难度大多了

1. 最稳的就是你改cpython加载代码的过程,改zip包读取最稳。

2. 借助一些加密工具在编译pyc之前进行一定的混淆,可以防君子,自我安慰一下。

商用一般都是用第一种办法,小打小闹用第二种。

可以考虑使用pymod工具,使用pymod pack 将模块加密打包,发布的时候一个模块就一个文件。

先睹为快,看看一个项目发布的时候,只有几个文件,

main.py 项目程序入口

setting.py 项目配置

apps 项目模块

plusins 项目插件目录

创建项目 pymod create demo1

cd demo1

创建模块 pymod add mod1

启动pycharm 开始编写功能模块

一个模块默认由三个文件组成

__init__.py 、 handlers.py 、param_schemas.py

业务逻辑主要在handlers.py中编写

__init__.py

from pymod.blueprint import Blueprint api = Blueprint("/mod1") from .handlers import *

param_schemas.py

schema_sfz = { "type": "object", "required": ["sfz", "nl"], "properties": { "sfz": { "type": "string", "minLength": 18, "maxLength": 18, "description": "身份证明号码" }, "nl": { "type": "integer", "minimum": 0, "maximum": 150, "description": "年龄" } } }

handlers.py

from . import api from pymod.ext import RequestHandler, params_validate,TrueResponse,FalseResponse from .param_schemas import schema_sfz from pymod.plugins import sfz_check @api.add_route('/hello') class Hello(RequestHandler): def get(self): self.write('Hello World') @params_validate(schema_sfz) def post(self): sfz = self.get_json_arg("sfz") nl =self.get_json_arg("nl") # self.write(TrueResponse(sfz=sfz, nl=nl)) if sfz_check.check_sfzmhm(sfz): self.write(TrueResponse(hint="身份证明号码验证通过")) else: self.write(FalseResponse(hint="身份证明号码验证失败"))

三、项目部署

程序调试 修改setting.py

# 开发模式下 运行的模块名称必须填写

modules = ["mod1"] modules_config ={ "mod1": { "deny_ip": "", "allow_ip": "*" } }

启动程序 python main.py

调试没有问题,进入发布模式

在项目目录下

pymod pack mod1

在target目录下生成mod1.mod文件,将其复制到apps目录中

修改setting.py

# 开发模式下 运行的模块名称必须填写

modules = []

再次运行 python main.py 测试

一切OK,系统就可以发布了。

说不能保密的,是没有研究过python的机制的。我做个一个项目,所有源代码自定义加密,运行时解密。

实验吧逆向工程-证明自己吧

人生如戏,世事如棋,看了某大学人工智能培养方案,感慨万千。

还是默默做自己。

题目链接:

1、打开后是个简约风格的文字

12、使用python操作:

13、得到结果

小结:拿到新工具OD,不过没进行调试,下次有机会调试一下试试。

求《Python灰帽子黑客与逆向工程师的编程之道》全文免费下载百度网盘资源,谢谢~

《Python灰帽子黑客与逆向工程师的Python编程之道》百度网盘pdf最新全集下载:

链接:

?pwd=x4sd 提取码:x4sd

简介:本书的绝大部分篇幅着眼于黑客技术领域中的两大经久不衰的话题:逆向工程与漏洞挖掘,并向读者呈现了几乎每个逆向工程师或安全研究人员在日常工作中所面临的各种场景,其中包括:如何设计?构建自己的调试工具,如何自动化实现烦琐的逆向分析任务,如何设计与构建自己的fuzzing工具,如何利用fuzzing测试来找出存在于软件产品中的安全漏洞,一些小技巧诸如钩子与注入技术的应用,以及对一些主流Python安全工具如PyDbg、Immunity\nDebugger、Sulley、IDAPython、PyEmu等的深入介绍。作者借助于如今黑客社区中备受青睐的编程语言Python读者构建出精悍的脚本程序来——应对上述这些问题。出现在本书中的相当一部分Python代码实例借鉴或直接来源于一些的开源安全项目,诸如Pedram\nAmini的Paimei,由此读者可以领略到安全研究者?是如何将黑客艺术与工程技术优雅融合来解决那些棘手问题的。

本书适合热衷于黑客技术,特别是与逆向工程与漏洞挖掘领域相关的读者,以及所有对Python编程感兴趣的读者阅读与参考。  

《Python灰帽子黑客与逆向工程师的Python编程之道》pdf下载在线阅读,求百度网盘云资源

《Python灰帽子》([美] Justin Seitz)电子书网盘下载免费在线阅读

资源链接:

链接:

提取码: 128s

书名:Python灰帽子

作者:[美] Justin Seitz

译者:丁赟卿 译

豆瓣评分:7.5

出版社:电子工业出版社

出版年份:2011-3

页数:216

内容简介:

《Python灰帽子》是由知名安全机构Immunity Inc的资深黑帽Justin Seitz主笔撰写的一本关于编程语言Python如何被广泛应用于黑客与逆向工程领域的书籍。老牌黑客,同时也是Immunity Inc的创始人兼首席技术执行官(CTO)Dave Aitel为这本书担任了技术编辑一职。书中绝大部分篇幅着眼于黑客技术领域中的两大经久不衰的话题:逆向工程与漏洞挖掘,并向读者呈现了几乎每个逆向工程师或安全研究人员在日常工作中所面临的各种场景,其中包括:如何设计与构建自己的调试工具,如何自动化实现烦琐的逆向分析任务,如何设计与构建自己的fuzzing工具,如何利用fuzzing 测试来找出存在于软件产品中的安全漏洞,一些小技巧诸如钩子与注入技术的应用,以及对一些主流Python安全工具如PyDbg、 Immunity Debugger、Sulley、IDAPython、PyEmu等的深入介绍。作者借助于如今黑客社区中备受青睐的编程语言 Python引领读者构建出精悍的脚本程序来一一应对上述这些问题。出现在书中的相当一部分Python代码实例借鉴或直接来源于一些优秀的开源安全项目,诸如Pedram Amini的Paimei,由此读者可以领略到安全研究者们是如何将黑客艺术与工程技术优雅融合来解决那些棘手问题的。

作者简介:

Justin Seitz是一名Immunity公司的高级安全研究员,他在以往的工作中花费了大量的时间从事漏洞挖掘、逆向工程、编写漏洞利用以及编写Python代码的研究。

黑客与逆向工程师的Python编程之道的简介

我为了进行黑客技术研究而特地学习了Python这门语言,我敢断言在这个领域中的众多其他同行们也是如此。我曾经花费了大量的时间来寻找一种能够同时适用于黑客技术和逆向工程领域的编程语言,就在几年前,Python成为了黑客编程领域内显而易见的王者。而一个不尽人如意的事实是,到目前为止还没有一本真正意义上的参考手册,来指导你将Python应用于不同的黑客技术场景中。你往往需要游走于各大论坛的技术讨论帖子中或者各种工具手册中。有时为了使你的工具能够正确地运转起来,花费一番不小的功夫来阅读和调试源代码也是司空见惯的情况。而本书正是致力于填补这方面的空缺,将引领你经历一次“旋风”之旅——你将看到Python这门语言是如何被应用在各式各样的黑客技术与逆向工程场景中的。

本书将向你揭示隐藏在各种黑客工具背后的原理机制,其中包括:调试器、后门技术、Fuzzer、仿真器以及代码注入技术,本书将向你一 一演示如何驾驭这些技术工具。除了学到如何使用现有的基于Python的工具之外, 你还将学习如何使用Python构建自己的工具。需要有言在先的一点就是,这并不是一本大全式的参考手册!有大量使用Python编写的信息安全类工具未在此书中被提及。本书的信条是授之以渔,而非授之以鱼!你应当把从本书中所获得的技能灵活地应用于其他的场景中,根据自身的需求对你选择的其他Python工具进行调试,并做出扩展和定制。

阅读本书的方式不仅限于一种,如果你是个Python新手或者对于构建黑客工具尚感陌生,那么从前往后依次阅读对你来说是最好的选择,你将从最基本的理论开始,并在阅读本书的过程中编写相当数量的Python代码。当你阅读完本书时,你应当具备了自行解决各种黑客或逆向工程任务的能力。如果你对Python已有一定程度的了解,并且对Ctype库的使用驾轻就熟,那么不妨直接跳过第1章。对于那些行业浸沉已久的老手,相信你们可以在本书中来回穿梭自如,欢迎你们在日常工作中随时按需撷取本书中的代码片段或者相关章节。

本书在调试器相关的内容上花费了相当的篇幅,从第2章讲述调试器的基本原理开始,直至第5章介绍完Immunity Debugger为止。调试器对于任何一个真正的黑客而言都是至关重要的工具,因此我毫不吝惜笔墨来对它们进行广泛而全面的介绍。在之后的第6章和第7章中你将学到一些钩子和代码注入的技术,这些技术同样可以被调试器工具采用,作为控制程序流和操纵内存的手段。

本书接下来的焦点放在使用Fuzzer工具来攻破应用程序体系上。在第8章中,你将开始学习基本的Fuzzing技术理论,我们将构建自己的文件Fuzzing工具。第9章将向你演示如何驾驭强大的Fuzzing框架——Sulley来攻破一个现实世界中的FTP daemon程序。在第10章中,你将学习如何构建一个Fuzzer工具来攻击Windows驱动。

在第11章中,你将看到如何在IDA Pro中(一款流行的二进制静态分析工具)实现自动化执行静态分析任务。在第12章中,我们将介绍一款基于Python的仿真器——PyEmu,来为本书画上句号。

我试着使出现在本书中的代码尽量简洁,并在某些特定的地方加上了详细的注释以帮助你理解代码的本质。学习一门新的编程语言或者掌握一套陌生的函数库的过程少不了你自己的亲身实践,以及不断的自我纠正。