导航:首页 > 源码编译 > python反编译研究及应用

python反编译研究及应用

发布时间:2024-04-17 10:45:05

python一般可以用来干什么呢

Python实际上是一种编程语言,在许多领域中都有广泛的应用,例如最热门的大数据分析,人工智能,Web开发等。

1989年圣诞节,阿姆斯特丹,为了度过无聊的圣诞节,年轻人Guido决定开发一种新的编程语言。 Python(Boa Constrictor)的名字是因为他是Monty Python喜剧小组的粉丝。你看,技术是如此随意...

㈡ 反编译是什么意思

计算机软件反向工程(Reverse engineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(比如可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,

某些特定情况下可能推导出源代码。反编译作为自己开发软件时的参考,或者直接用于自己的软件产品中。

(2)python反编译研究及应用扩展阅读

反编译是一个复杂的过程,反编译软件有:

1、SWF相关的反编译程序

Action Script Viewer

第一个也是最强大的商业SWF反编译工具,同类产品中,它的AS代码反编译效果最好,SWF转Fla工程重建成功率最高。

2、Android相关的反编译程序

SMALI/BAKSMAL

SMALI/BAKSMALI是一个强大的apk文件编辑工具,用于Dalvik虚拟机(Google公司自己设计用于Android平台的虚拟机)来反编译和回编译classes.dex。其语法是一种宽松式的Jasmin/dedexer语法,而且它实现了.dex格式所有功能(注解,调试信息,线路信息等)。

3、Python相关的反编译程序

uncompyle2

uncompyle2可以直接转化为十分完美的python源码,并可以将反编译后的源码再次生成字节码文件。

参考资料来源:网络-反向编译

㈢ python-uncompyle反编译

python的编译后文尺蔽件pyc,可以将pyc文件反编译为py文件。

相应的工具: uncompyle

github地址: https://github.com/rocky/python-uncompyle6/

安装: pip install uncompyle

安装好后,注碰困衫意执行的命令为 uncompyle6 ,而不是 uncompyle 。

查看帮助命令:笑腔 uncompyle6 --help 、 uncompyle6 -h

反编译单个文件 : uncompyle6 foo.pyc > foo.py

反编译多个文件: uncompyle6 -o . *.pyc

例子:

㈣ python写的程序,转成了exe文件,怎么进行反编译为python源码

1、电脑桌面,输入“win+R”组合键,在弹出窗口中输入“cmd”,点击确定。

㈤ 问一下,如何用python的decompile批量反编译pyc 是批量

先将需要反编译pyc,放在指定的路径下,然后os.system.pat一个for 循环就可以批量编译了。

>>> import os
>>> file_list=[]
>>>loc_path='/hadoop/hadoop/'
>>> file_list=os.listdir(loc_path)
>>> for f in file_list:
执行反编译

㈥ Python灰帽子:黑客与逆向工程师的Python编程之道的前 言

“搞定了吗?”,这可能是在Immunity公司出现频率最高的一句话了。你也许会在类似以下的场景中听到这样的发问:“我正要给Immunity Debugger开发一个新的ELF加载器”,片刻停顿之后,“搞定了吗?”或者,“我刚发现了IE浏览器的一个Bug!”又一片刻的沉寂之后,“那个漏洞利用程序搞定了吗?”在日常的安全项目中我们几乎无时无刻地须要创建或者改写自己的安全工具,并在这些频繁的活动中始终保持高速的开发节奏,这使得Python逐渐成为了这个舞台上的明星。你可以在下一个安全项目中选择Python作为自己的开发工具,也许你将会用它来创建一个特殊的反编译器或者开发一个完整的调试器。
当我走进位于南迈阿密海滩的Ace Hardware(美国的一家连锁五金店),沿着摆放着螺丝刀的通道走过时,常常会感到目眩。你会看到接近50多种不同规格的螺丝刀以整齐的顺序陈列在货架上。每一种规格的螺丝刀都与紧邻的螺丝刀有着微小却又十分重要的区别。我不是一个合格的修理能手,因此无法准确地说出每一种螺丝刀最为理想的使用场合,但是我很确信类似的情况同样适用于我们的安全工具软件。尤其是当你在对Web类型或者其他类型的高度定制化的应用程序进行安全审计时,你会发现每一次的审计任务都会需要一把特殊的“螺丝刀”来解决问题。要知道能够及时地拼凑出一些类似SQL API函数钩子之类的安全小工具已经不止一次地拯救了Immunity的工作团队。当然这些工具并不仅仅适用于安全审计任务,一旦你能够使用钩子函数对SQL API进行拦截,你就可以轻易地编写出一个工具用于实时检测可疑的异常SQL查询,并及时向你的客户公司提供修复方案,以抵御那些来自顽固黑客们的攻击。
众所周知,要让你的每一个安全研究人员真正成为团队的一部分是一件棘手的事情。很多安全研究人员无论在面对何种类型的问题时,都怀揣着白手起家式的过度热情,企图将需要借助的工具库完全重写。比如说Immunity发现了某个SSL Daemon的一个安全漏洞,接下来很有可能发生的一件事就是,你突然发现你的某个安全研究人员居然正在试图从头开始编写一个SSL客户端。而他们对此通常给出的解释是“我能找到的SSL库都丑陋不堪”。
你需要尽力避免这种情况发生。事实情况并不是现有的SSL库丑陋不堪——它只是没有按照某个安全研究人员的特别偏好风格来设计而已。而我们真正需要做的是能够深入分析大量的现有代码,快速地发现问题所在,并对其进行修改以适应自身所需,这才是及时地搭建出一个可用的SSL库,并用其开发出一个尚处于保鲜期内的漏洞利用程序的关键。而要做到这一点,你需要使你的安全研究员们能够像一个真正的团队一样去工作。一个熟练掌握了Python的安全研究人员就有了一个强大的武器,也许就像那些掌握了Ruby的安全研究人员一样。然而Python真正的与众不同之处显现在那些Python狂热分子们协同工作时,他们将犹如一个高速运转的超个体①一样战斗力惊人。正如你家厨房中的蚂蚁大军一样,当它们的数量足够组成一只大乌贼时,要杀死它们将比杀死一只乌贼棘手得多。而这正是本书极力告诉你的一个事实。
你也许已经为自己想做的事找到了一些工具。你也许会问:“我已经有了一套Visual Studio,里面附带了一个调试器,为什么还要去编写一个供自己专用的调试器。”或者“WinDbg不是有一个插件接口了吗?”答案是肯定的。WinDbg的确提供了插件接口,你可以通过那些API慢慢地拼凑出一些有用的东西。直到某一天你很可能又会说:“Heck,如果我能和5000个WinDbg使用者互联该有多好啊,这样我们就可以互通各自的调试结果了”。如果你从一开始就选择了Python,你只要写 100 行左右的代码就可以构建一个XML-RPC客户端与服务端,接下来整个团队可以同步地进行工作并使每个人及时地享有他人的成果和信息。
黑客绝不等同于逆向工程——你的目标并不是还原出整个应用程序的源码。你的目标是对软件系统获得比系统开发者自身更加深入的理解。一旦你能做到这一点,无论目标以何种形式出现,你将最终成功地渗透它,获得炙手可热的漏洞利用(exploit)。这也意味着你需要成为可视化、远程同步、图论、线性方程求解、静态分析技术以及其他很多方面的专家。因此,Immunity决定将这些都标准化实现在Python平台上,这样一旦我们编写了一个图论算法,这个算法将在我们所有的工具中通用。
在第6章中,Justin向你演示了如何使用一个钩子窃取Firefox浏览器中输入的用户名与密码。这正是一个恶意软件作者所做的事——从之前的一些相关报道中可以看出,恶意软件作者通常使用一些更为高级语言来编写此类程序。然而你同样可以使用Python在15分钟内编写出一个样例程序,用于向你的开发人员演示,让他们明白他们对自己的产品所做的安全假设并不成立。现在的一些软件公司出于他们所声称的安全考虑,在保护软件内部数据方面的投资花费不菲。而实际上他们所做的往往只是实现了一些版权保护和数字版权管理机制而已。
这正是本书试图教你的东西:快速创建安全工具的能力。你应当能够借助这种能力为你个人或者整个团队带来成功。而这也是安全工具开发的未来:快速实现、快速修改,以及快速互联。我想,最后你唯一剩下的问题也许就是:“搞定了吗?”
Immunity Ine的创始人兼CTO Dave Aitel
2009年2月于美国佛罗里达州,迈阿密海滩
致 谢
我想借此机会感谢我的家人,对于他们在撰写本书过程中所表现出来的理解和支持。感谢我的四个可爱的孩子:Emily、Carter、Cohen和Brady,是你们给了爸爸完成此书的理由,我为拥有你们而感到无比幸福。我还要为我的姐姐和兄弟们在这个过程中所给予的鼓励说一声谢谢,你们自己都曾经历过着书立作的严苛和艰辛,拥有你们这些对技术作品出版感同身受的人真是受益匪浅——我爱你们。我还想对我的爸爸说,你的幽默感帮助我度过了那些难以执笔为继的日子——我爱你,老爸,不要停止让你周围的人发出笑声。
多亏了一路上众多优秀的安全研究人员的帮助才使得本书得以羽翼渐丰,他们是:Jared DeMott、Pedram Amini、Cody Pierce、Thomas Heller(传说中的无敌Python男)以及Charlie Miller——我欠你们大伙一个大大的感谢。至于Immunity团队,毫无疑问,你们一直以来大度地支持着我来撰写此书,正是得益于你们的帮助,我不仅仅成长为一个Python小子,同时更成为了一名真正的开发人员和安全技术研究者。Nico和Dami,抽出了额外的时间来帮助我解决问题,对此表示不胜感激。Dave Aitel,我的技术编辑,始终驱使着本书的进度直至完成,并确保本书的逻辑性与可读性,在此致以莫大的感谢。对于另一个Dave, Dave Falloon,非常感谢你为我校阅此书,对于那些让我自己都哭笑不得的错误,对于你在CanSecWest大会上拯救了本人的笔记本电脑的英雄行径,以及你巫师一般神奇的网络知识,都令我印象深刻。
最后,是那些总是被放在最后感谢的家伙们——No Starch出版团队。Tyler与我经历了本书的整个出版过程(相信我,Tyler将是你遇到的最有耐心的家伙),Bill将鼓励声连同那个可爱的印有Perl小抄的咖啡杯赠予了我。Megan在本书创作的尾声阶段为我减轻了众多的麻烦,还有其他为出版本书而工作在幕后的团队成员——谢谢你们!。我对你们为我所做的每一件事充满感激。现在这篇致谢词的篇幅快要跟格莱美的获奖感言有一拼了,最后再次说一声感谢给所有那些帮助过我,却可能被我忘记提及的朋友们——你们清楚自己之于本书的意义。
Justin Seitz

㈦ 有什么工具可以将python编译好的代码.pyc反编译为.py

depython是用来反编译经过python编译的后缀名为pyc或pyo的字节码文件的.
如果你找不到你写的python源代码,depython可以帮助你通过pyc/pyo文件来找回这些源代码。
经depython反编译得出的python源代码,和你原来的代码文件几乎完全一样。
http://www.depython.net/?lang=zh

阅读全文

与python反编译研究及应用相关的资料

热点内容
平时拍视频用什么app 浏览:107
在哪里打开新的文件夹 浏览:95
云免用的什么服务器 浏览:60
极品macd指标公式源码 浏览:121
如何降低饥荒服务器的ping 浏览:915
注册表中删除文件夹 浏览:165
a6软件客户端如何连接服务器 浏览:40
中控app怎么使用 浏览:879
笔趣书阁app怎么下载书籍 浏览:599
端口检测命令 浏览:977
php判断是否当天 浏览:522
验证矩阵能否作为加密矩阵 浏览:776
cmd注册表命令 浏览:290
kmp算法中next数组的值怎么求 浏览:992
怎么在服务器电脑拼ip 浏览:737
万能压缩试验机操作规程 浏览:888
苹果app怎么收不到趣推了 浏览:855
单片机检测报警 浏览:894
刀片式服务器怎么做系统 浏览:946
51单片机实例100 浏览:460