赞
踩
1.逆向工程的概述
软件逆向工程(Software Reverse Engineering)又称软件反向工程,是指从可运行的程序系统出发,运用解密、反汇编、系统分析、程序理解等多种计算机技术,对软件的结构、流程、算法、代码等进行逆向拆解和分析,推导出软件产品的源代码、设计原理、结构、算法、处理过程、运行方法及相关文档等。通常,人们把对软件进行反向分析的整个过程统称为软件逆向工程,把在这个过程中所采用的技术都统称为软件逆向工程技术。逆向工程是基于底层的学习,直接面向各种堆栈内存及寄存器的
2.逆向工程的发展方向以及前景
初期会有一些枯燥乏味,当大家涉及到实战的时候就会发现这门学科的乐趣,逆向工程后续可以延伸出非常多的领域,win逆向,linux逆向,程序破解,样本分析,病毒分析,漏洞挖掘、Iot测试、工业控制,智能汽车,智能家居等等,逆向的就业情况没有Web方面那么好,但是薪资还是很nice的,就业依旧比开发情况要好
3.逆向工程该学些什么
基础:C,C++,数据结构,Python(用于写脚本),汇编语言
Tips: 汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。
学习路线最好是,学习好C,数据结构,C++以及学习python(学完基本的数据结构后即可,主要是自己写脚本),学习汇编语句(不同掌握程度决定的将来的就业方向)
软件调试的主要方法 动态分析技术和静态分析技术
动态分析技术指的是使用调试工具加载程序并运行,随着程序运行,调试者可以随时中断目标的指令流程,以便观察相关计算的结果和当前的设备情况。
静态分析技术是相对于动态分析而言的。由于在实际分析中,很多场合不方便运行目标(例如病毒程序,设备不兼容,软件的单独某一模块)。那么这个时候静态分析技术就该上场了!
动态分析
静态分析
反汇编:
0 判断是否冷却
1 如果不是跳转到4
2 已冷却时间增加
3 跳转到0
4 设置冷却结束
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。