黑客与逆向工程师的Python编程之道的简介
python有很多逆向用的模块,pefile。
python有强大的开源爬虫,这是黑客必备。
而且还有强大的数据库漏洞扫描程序sqlmap。
建议你深入学习。
Python是什么?
也许最初设计Python这种语言的人并没有想到今天Python会在工业和科研上获得如此广泛的使用。著名的自由软件作者Eric Raymond在他的文章《如何成为一名黑客》中,将Python列为黑客应当学习的四种编程语言之一,并建议人们从Python开始学习编程。这的确是一个中肯的建议,对于那些从来没有学习过编程或者并非计算机专业的编程学习者而言,Python是最好的选择之一。Python第一次学习Python,我只用了不到二十分钟的时间,站在书店里把一本教初学编程的人学习Python的书翻了一遍。也是从那时起,我开始被这种神奇的语言吸引。 Python可以用来开发symbian上的东西。 易用与速度的完美结合Python是一种用起来很方便的语言,很多初学Java的人都会被Java的CLASSPATH搞得晕头转向,花上半天的时间才搞明白原来是CLASSPATH搞错了自己的Hello World才没法运行。用Python就不会有这种问题,只要装上就能直接用。 Python是一种脚本语言,写好了就可以直接运行,省去了编译链接的麻烦,对于需要多动手实践的初学者而言,也就是少了出错的机会。而且Python还有一种交互的方式,如果是一段简单的小程序,连编辑器都可以省了,直接敲进去就能运行。Python是一种清晰的语言,用缩进来表示程序的嵌套关系可谓是一种创举,把过去软性的编程风格升级为硬性的语法规定。再不需要在不同的风格间选择、再不需要为不同的风格争执。与Perl不同,Python中没有各种隐晦的缩写,不需要去强记各种奇怪的符号的含义。Python写的程序很容易懂,这是不少人的共识。Python是一种面向对象的语言,但它的面向对象却不象C++那样强调概念,而是更注重实用。不是为了体现对概念的完整支持而把语言搞得很复杂,而是用最简单的方法让编程者能够享受到面向对象带来的好处,这正是Python能像Java、C#那样吸引众多支持者的原因之一。 Python是一种功能丰富的语言,它拥有一个强大的基本类库和数量众多的第三方扩展,使得Python程序员无需去羡慕Java的JDK。Python为程序员提供了丰富的基本功能使得人们写程序时用不着一切最底层做起。说到这里,人们通常会用一种担心:脚本语言通常很慢。脚本语言从运行的速度讲的确会慢一些,但Python的速度却比人们想象得快很多。虽然Python是一种脚本语言,但实际上也可以对它进行编译,就象编译Java程序一样将Python程序编译为一种特殊的ByteCode,在程序运行时,执行的是ByteCode,省去了对程序文本的分析解释,速度自然提升很多。在用Java编程是,人们崇尚一种Pure Java的方式,除了虚拟机一切东西都用Java编写,无论是基本的数据结构还是图形界面,而Pure Java的SWING,却成为无数Java应用开发者的噩梦。Python崇尚的是实用,它的整体环境是用C来编写的,很多基本的功能和扩展的模块都是用C/C++来编写的,当执行这一部分代码时,它的速度就是C的速度。用Python编写的普通桌面程序,其启动运行速度与用C写的程序差别不大。除了这些,通过一些第三方软件包,用Python编写的源代码还可以以类似JIT的方式运行,而这可以大大提高Python代码的运行速度,针对不同类型的代码,会有2倍至100倍不等的速度提升。 Python是我见到过的语言中,在易用性和速度上结合的最完美的一个,通过丧失一点点经常可以忽略不计的运行速度从而获得更高的编程效率,这就是我选择Python的原因。把精力放在要解决的问题上选择一种合适的语言,才能让你把有限的精力放到最需要解决的问题上。不同的语言有不同的作用,C和汇编适合编写系统软件,如果用它们来编写企业应用,恐怕没几个人能得心应手。我以前就碰到一个用汇编写数据库程序的哥,虽然最基本的功能完成了,但要增加个报表预览什么的,他就没法应付了。聪明的程序员是用合适的工具去完成任务,想找一把万能钥匙是不太可能的。Python的自动的垃圾回收机制是高级的编程语言的一种基本特性,用拥有这一功能的语言编程,程序员们通常不用去关心内存泄漏的问题,而当我们用C/C++写程序时,这却是最重要的需要认真考虑却又很容易出错的问题之一。数据结构是程序构成的重要部分,链表、树、图这些在用C编程时需要仔细表达的问题在Python中简单了很多。在Python中,最基本的数据结构就是数组、序列和哈希表,用它们想要表达各种常见的数据结构是非常容易的。没了定义指针、分配内存的任务,编程变得有趣了。CORBA是一种高级的软件体系结构,它是语言无关平台无关的。C++、Java等语言都有CORBA绑定,但与它们相比,Python的CORBA绑定却容易很多,因为在程序员看来,一个CORBA的类和Python的类用起来以及实现起来并没有什么差别。没了复杂体系结构的困扰,用Python编写CORBA程序也变得容易了。好钢要用在刀刃上,要想用有限的时间完成尽量多的任务,就要把各种无关的问题抛弃,而Python恰恰提供了这种方法。跨平台又易扩展随着Linux的不断成熟,越来越多的人转到Linux平台上工作,软件的开发者自然就希望自己编写的软件可以在所有平台下运行。Java一次编写处处运行的口号使它成为跨平台的开发工具的典范,但其运行速度却不被人们看好。实际上,几乎所有的著名脚本语言都是跨平台的,Python也不例外。Python不仅支持各种Linux/Unix系统,还支持Windows,甚至在Palm上都可以运行Python的程序。一个程序想要跨平台工作,不仅仅需要语言本身能够做到在平台之间兼容,在图形化界面的时代,还需要有能跨平台工作的Widget。Python不仅支持老一些的TK,还支持新的GTK+、QT以及wxWidget,而这些Widgets都可以在多个平台上工作。通过它们,程序员就可以编写出漂亮的跨平台GUI程序。Python通常是运行在native代码与脚本代码之间,程序员可以用C/C++为Python编写各种各样的模块,这不仅可以让程序员以Python的方式使用系统的各种服务及用C/C++编写的优秀函数库和类库,还可以大幅度提高Python程序的速度。用C/C++编写Python的模块并不复杂,而且为了简化这一工作,人们还制作了不少工具用来协助这一工作。正是因为如此,现在各种常用的函数库和类库都有Python语言的绑定,用Python可以做到的事情越来越多了。万能钥匙?Python功能强大,但它却不是万能的。如果你要编写操作系统或驱动程序,很显然,Python是做不到的。要写软件,没有哪个工具是万能的,现在之所以有那么多的编程语言,就是因为不同的语言适合做不同的事情。因此,选择适合自己的语言工具是最重要的。
python能做什么
系统编程:提供API(Application Programming Interface应用程序编程接口),能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具。
图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。
数学处理:NumPy扩展提供大量与许多标准数学库的接口。
文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。
数据库编程:程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。
网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet 及BitTorrent. Google都在广泛地使用它。
Web编程:应用的开发语言,支持最新的XML技术。
多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。
pymo引擎:PYMO全称为python memories off,是一款运行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系统上的AVG游戏引擎。因其基于python2.0平台开发,并且适用于创建秋之回忆(memories off)风格的AVG游戏,故命名为PYMO。
黑客编程:python有一个hack的库,内置了你熟悉的或不熟悉的函数,但是缺少成就感。
著名应用:Pylons-Web应用框架
Zope- 应用服务器
Plone- 内容管理系统
Django- 鼓励快速开发的Web应用框架
Uliweb- 国人开发的轻量级Web框架
TurboGears- 另一个Web应用快速开发框架
Twisted--Python的网络应用程序框架
Python Wikipedia Robot Framework- MediaWiki的机器人程序
MoinMoinWiki- Python写成的Wiki程序
flask- Python 微Web框架
Webpy- Python 微Web框架
Bottle- Python 微Web框架
EVE- 网络游戏EVE大量使用Python进行开发
Reddit - 社交分享网站
Dropbox - 文件分享服务
Pylons - Web应用框架
TurboGears - 另一个Web应用快速开发框架
Fabric - 用于管理成百上千台Linux主机的程序库
Trac - 使用Python编写的BUG管理系统
Mailman - 使用Python编写的邮件列表软件
Mezzanine - 基于Django编写的内容管理系统系统
Blender - 以C与Python开发的开源3D绘图软件
黑客使用Python能做些什么?
目测提问者跟我一样是个想去学习Python或者刚刚入门的人吧。看了楼上的许多回答。。好像很厉害的样子。可是这么厉害的语言自己学了之后真的就能做到么。。。举个例子吧,现在在学校已经学完了C语言了,也知道用C语言可以干什么什么什么,但是自己真的做不到啊!!
Jargon File中对“黑客”一词给出了很多个定义,大部分定义都涉及高超的编程技术,强烈的解决问题和克服限制的欲望。如果你想知道如何成为一名黑客,那么好,只有两方面是重要的。(态度和技术)
长久以来,存在一个专家级程序员和网络高手的共享文化社群,其历史可以追溯到几十年前第一台分时共享的小型机和最早的ARPAnet实验时期。 这个文化的参与者们创造了“黑客”这个词。 黑客们建起了Internet。黑客们使Unix操作系统成为今天这个样子。黑客们搭起了Usenet。黑客们让WWW正常运转。如果你是这个文化的一部分,如果你已经为它作了些贡献,而且圈内的其他人也知道你是谁并称你为一个黑客,那么你就是一名黑客。
黑客精神并不仅仅局限于软件黑客文化圈中。有些人同样以黑客态度对待其它事情如电子和音乐---事实上,你可以在任何较高级别的科学和艺术中发现它。软件黑客们识别出这些在其他领域同类并把他们也称作黑客---有人宣称黑客实际上是独立于他们工作领域的。 但在本文中,我们将注意力集中在软件黑客的技术和态度,以及发明了“黑客”一词的哪个共享文化传统之上。
另外还有一群人,他们大声嚷嚷着自己是黑客,实际上他们却不是。他们是一些蓄意破坏计算机和电话系统的人(多数是青春期的少年)。真正的黑客把这些人叫做“骇客”(cracker),并不屑与之为伍。多数真正的黑客认为骇客们是些不负责任的懒家伙,还没什么大本事。专门以破坏别人安全为目的的行为并不能使你成为一名黑客, 正如拿根铁丝能打开汽车并不能使你成为一个汽车工程师。不幸的是,很多记者和作家往往错把“骇客”当成黑客;这种做法激怒真正的黑客。
python可以做什么
Python具有简单、易学、免费、开源、可移植、可扩展、可嵌入、面向对象等优点,它的面向对象甚至比java和C#.net更彻底。作为一种通用语言,Python几乎可以用在任何领域和场合,角色几乎是无限的。 python能做什么?
1.网站开发。Python数据处理很在线,用它编写网站可以为大众提供优秀的服务,主要使用django和flask框架,著名的网站像知乎、YouTube就是Python写的。
2.自动化运维。Python运行在Linux系统上可以作为服务器脚本不停工作,实现对主机的自动化操作,自动登录等就是应用之一。
网络爬虫。顾名思义,从互联网上爬取信息的脚本,主要由urllib、requests等库编写,实用性很强,小编就曾写过爬取5w数据量的爬虫。在大数据风靡的时代,爬虫绝对是新秀。
3. 人工智能。AI使Python一战成名,AI的实现可以通过tensorflow库。小编认为,神经网络的核心在于激活函数、损失函数和数据,数据可以通过爬虫获得。训练时大量的数据运算又是Python的show time。
当然了,以上只是Python应用比较多的领域,别的领域和这些往往存在交集,这里不再赘述,至于Python能不能写外挂和游戏,下面小编就告诉大家:
外挂是写不了的,Python是脚本语言,不可能像易语言、C语言那样流畅自如地编写辅助;
游戏并不适合用Python开发,Python虽有pygame库,但是功能不强,游戏运行效率低下,写游戏还是要靠游戏引擎。
Python的优势有必要作为第一步去了解,Python作为面向对象的脚本语言,优势就是数据处理和挖掘,这也注定了它和AI、互联网技术的紧密联系。
为什么黑客都要会python语言,在黑客编程中有什么特别之处么
只有用过才会有所体会。 Python的强大在于有很多的第三方库的存在。 这样可以站在巨人的肩膀上,也避免了重复开发轮子。 很多你想要的东西有现成的库,使用python导入就可以。
比如一系列的破解带验证码的网站,python的图形库有自带识别验证码的库,你只需要负责使用。负责把破解的逻辑写下来就差不多。
黑客与逆向工程师的python编程之道 怎么样
Python是一款非常流行的脚本编程语言。特别是在黑客圈子里,你不会Python就几乎无法与国外的那些大牛们沟通。这一点我在2008年的XCon,以及2009年的idefense高级逆向工程师培训中感触颇深。前一次是因为我落伍,几乎还不怎么会Python,而后一次……记得当时我、海平和Michael Ligh(他最近出版的Malware Analyst's Cookbook and DVD: Tools and Techniques for Fighting Malicious Code)一书在Amazon上得了7颗五星!)讨论一些恶意软件分析技术时经常会用到Python,从Immunity Debugger的PyCommand、IDA的IDAPython到纯用Python编写的Volatility工具(这是一款内存分析工具,用于发现rootkit之类的恶意软件)。Python几乎无处不在!我也尝试过对Volatility进行了一些改进,在电子工业出版社举办的“在线安全”Open Party上海站活动中,我以《利用内存分析的方法快速分析恶意软件》为题进行了演讲。
遗憾的是,之前市面上还没有一本关于如何利用黑客工具中提供的Python(由于必须使用许多黑客工具中提供的库函数,所以这时你更像在用一种Python的方言编程)的书籍。故而,在进行相关编程时,我们总是要穿行于各种文档、资料之中,个中甘苦只自知。
本书的出版满足了这方面的需求,它会是我手头常备的一本书,啊不!是两本,一本备用,另一本因为经常翻看用不了多久就肯定会破烂不堪。
说到这本书的好处也许还不仅于此,它不仅是一本Python黑客编程方面的极佳参考书,同时也是一本软件调试和漏洞发掘方面很好的入门教材。这本书的作者从调试器的底层工作原理讲起,一路带你领略了Python在调试器、钩子、代码注入、fuzzing、反汇编器和模拟器中的应用,涵盖了软件调试和漏洞发掘中的各个方面,使你在循序渐进中了解这一研究领域目前最新研究成果的大略。
本书译者的翻译也很到位。不客气地说,不少好书是被糟糕的翻译耽误掉的。比如我在读大学时的一本中文版的参考书,我看了三遍没明白是怎么回事,后来想起老师推荐时用的是英文版,于是试着去图书馆借了本英文版,结果看一遍就明白了。不过这本书显然不属于此例。译者丁赟卿本来就是从事这一领域研究的,对原文意思的理解非常到位,中文用词也十分贴切。特别是这本书的英文版中原本是存在一些错误的(包括一些代码),译者在中文版中竟然已经一一予以纠正了,从这一点上也可以看出译者在翻译过程中的认真细致。
我已经啰啰嗦嗦地讲了不少了,你还在等什么?还不快去账台付钱?
为什么选择python编程语言入门黑客攻防 给
目前,Python 在各领域都有着广泛的应用。由此可见,作为一种编程开发语言,Python 拥有众多优点,其语法简单易学且支持多种库,相同代码可以运行于多种平台。
■ 易学易用
学习一种新编程语言时,往往会遇到各种各样的问题。为了解决这些问题,Python 语言做了大量努力。比如,Python 中不必声明变量类型,而在运行时动态确定。此外,也不需要用户对内存进行管理,这些工作由解释器自动执行。
■ 功能强大
Python 是开源语言,全世界开发人员一直在自发改进 Python,不断开发创建各种功能强大的库。其他语言中要使用数十行代码才能完成的功能,在 Python 中只需要使用简单的几行代码即可搞定。