随想录(软件逆向与OllyDbg)

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】

 

    学习过c语言的同学都知道,在代码编写完成之后,就可以用调试器对程序进行单步调试了。在windows上面,有windbg调试器;在linux平台上面,有gdb调试器。可是大家有没有想过,如果没有源代码,比如需要研究某一个病毒软件,这个时候怎么进行分析呢?OllyDbg软件就可以帮助我们做到这一点。软件逆向在很多公司都存在,只不过可能是以其他的名字存在的,有的叫软件安全,有的叫网络安全,有的叫软件逆向,有的叫软件破解,名字无所谓,大家只要知道它是用来干什么的就可以了。

 

    之前逆向的软件主要以pc软件为主,现在的话,范围广一些,还会增加ios软件、android软件等等。特别是android其逆向、smali反汇编、arm反汇编,这方面的内容特别多。

 

1、软件逆向有哪些软件?

    目前用的比较多的还是OllyDbg,另外使用IDA的也不少。

 

2、软件逆向需要哪些基础?

    软件逆向需要程序员有比较好的软件基础,比如执行文件的构成、代码段、堆栈段、数据段、寄存器、cpu、操作系统、汇编指令、编译器比较了解。总之,基础越好的人,入门起来越容易。

 

3、最简单的OllyDbg调试步骤是什么?

    就三步。第一步,正常使用被调试的软件,寻找所有的静态数据信息,可以选择智能搜索就可以;第二步,根据前面的数据信息在OllyDbg上面查找,并且关联到代码、进行上下文分析;第三步,针对性地修改数据、参数、代码逻辑,部分代码需要替换成nop指令。

 

4、OllyDbg的入门视频哪里有?

    https://www.bilibili.com/video/av34510468,我个人觉得这是最简单的入门视频,也就3分钟时间。

 

5、OllyDbg的学习资料、视频可以哪里找?

    学习资料的话多参考百度云盘、bing搜索。视频可以参考b站、腾讯视频、爱奇艺视频等等。

 

6、OllyDbg可以做什么?

    获取注册信息、软件去壳、软件破解、研究其他软件的算法流程等等。

 

7、OllyDbg最好不要做什么?

    不要做外挂,不要做违法的事情,代价太高昂。

 

8、破解与反破解?

    软件程序被破解常常会给企业带来很大的损失,所以作为程序员来说,一方面需要加强业务能力的学习和提高,另外一方面也要提高软件的反破解能力。很多时候,破解与反破解会达成一个某种程序的平衡。提高软件破解的难度,那么很多时候就会降低软件自身的体验。所以,问题的关键在于,如果提高破解的成本、降低破解的收益,这才是软件安全的核心所在。

 

9、未来的趋势?

    最早软件以PC为主,所以大部分破解的大部分软件都是桌面软件为主。现在手机比较流行,所以现在很多破解的软件都是手机软件。将来,如果智能汽车能够发现起来,我想也会有很多的人专注于汽车软件的破解。只要软件本身存在OTA升级的可能,那么就有可能被污染、被侵入。

 

PS:

    很多同学喜欢OllyDbg和IDA一起学习。其实没有这个必要,学好了一个软件之后,再使用另外一个软件其实是很容易的一件事情。但是如果两个同时学,最后的结果很有可能是两个都没有学好。软件本身只是一个工具,只有使用熟不熟练,但是用的好不好最后还是来自于个人的基础。

 

题外话(关于网络安全):

    除了OllyDbg之外,网络安全也是十分重要的。获取web服务器地址、根据js代码猜测后台入口、sql注入、端口扫描、权限升级、数据拷贝,这就是他们的操作步骤。一般的中小网站,web server、sql、ssh、telnet等软件都是安装在一起的,而且开源软件、操作系统、甚至cpu都有漏洞存在,所以网络安全是很大的一个问题,值得大家引起重视。一旦后台被人登录,短时间内数据就会被人用scp拷贝出来,后果不堪设想。所以,关于网络安全的问题,只会越来越重要。:-)

 

你可能感兴趣的:(随想录)