吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 1758|回复: 10

[转载技术] 逆向工程的基础

[复制链接] 出处:csdn
WolfKing 发表于 2022-11-23 11:49 | 显示全部楼层 |阅读模式

文章目录:0x01、逆向分析基础介绍
1、逆向分析概述
2、逆向分析准备工作
基础知识准备-汇编语言基础
逆向分析工具准备
3、逆向分析的学术价值
0x02、逆向分析的作用方向
1、破解软件
破解软件思路
2、木马、病毒等恶意代码的分析
3、内部算法的分析
4、对软件进行修改、二次开发、扩展其功能
0x03、逆向分析工具的简单介绍
查找软件是否加壳(PEID)
识别软件使用什么语言编写的(DIE)
反汇编调试工具(OllyDbg)




0x01、逆向分析基础介绍1、逆向分析概述
逆向工程(又称逆向技术),是一种产品设计技术再现过程,即对一项目标产品进行逆向分析及研究,从而演绎并得出该产品的处理流程、组织结构、功能特性及技术规格等设计要素,以制作出功能相近,但又不完全一样的产品。逆向工程源于商业及军事领域中的硬件分析。其主要目的是在不能轻易获得必要的生产信息的情况下,直接从成品分析,推导出产品的设计原理。
fakename.png

2、逆向分析准备工作
基础知识准备-汇编语言基础
汇编是逆向工程的基础,汇编语言是一切程序的起点和终点,毕竟所有的高级语言都是建立在汇编基础之上的。在许多高级语言中我们都需要相对明确的语法,但是在汇编中,我们会使用一些单词缩写和数字来表达程序。
汇编语言是最古老的编程语言,在所有的语言中,它与原生机器语言最为接近。它能直接访问计算机硬件,要求用户了解计算机架构和操作系统。

汇编是逆向工程的基础,在现代编程中大家用的都是python,C/C++,java,易语言等这些高级语言,但是程序经过编译链接之后执行的都是汇编语言。
计算机是基于二进制的,只能接受和处理二进制信息,CPU处理的指令也是二进制流,我们称之为机器语言。
逆向分析工具准备

fakename.png fakename.png fakename.png
3、逆向分析的学术价值

1、破解软件的登录,注册码和其他的授权
2、挖掘漏洞和安全性检测
3、还原非开源项目
4、挑战自我,提高自我

0x02、逆向分析的作用方向破解软件,去除软件的各种限制
  • 破解软件,去除软件的各种限制
  • 木马、病毒等恶意代码的分析
  • 内部算法的分析
  • 对软件进行修改,二次开发,扩展其功能

1、破解软件

逆向破解软件指的通过修改内存或者程序文件、或者写注册机(keygen)程序并随机产生有效的序列号注册码,来达到免费使用该软件、或者突破其功能限制的目的的过程。

fakename.png fakename.png

破解软件思路

查找软件是否加壳,如果加壳的话,找对应的脱壳工具脱壳。检测识别使用什么语言编写的,然后找出验证的关键位置,分析验证机制,修改关键跳转。

fakename.png

加壳:加壳的全称应该是可执行程序资源压缩,压缩后的程序可以直接运行。加壳的另一种常用的方式是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,之后再把控制权交还给原始代码,这样做的目的是隐藏程序真正的OEP(入口点,防止被破解)。加壳的程序需要阻止外部程序或软件对加壳程序本身的反汇编分析或者动态分析,以达到保护壳内原始程序以及软件不被外部程序破坏,保证原始程序正常运行。这种技术也常用来保护软件版权,防止软件被破解。


脱壳:脱壳即去掉软件所加的壳。

fakename.png

在这三步中验证的关键是第二步验证中,这个位置是真假码的比较。第二步一般很难直接找到,因为一个程序里面有很多不同的判断。

? 要找关键位置必须依靠线索。最直接的线索就是验证后的不同结果。最常用的办法就是通过验证后的结果来反查到关键位置。一种结果是有提示的字符串,比如“成功”,“失败”等,破解思路就在程序代码中先定位到这些字符串,然后往前找关键比较代码。

? 通过结果来反查是最主要的做法,对于不同的结果,要用不同的办法。比如提示字符串,错误对话框等等。

? 如果没有错误返回结果,那我们就需要从验证前的线索入手了。


2、木马、病毒等恶意代码的分析

将程序反汇编出源码,静态分析源码。


将机器代码反汇编成方便人类理解的代码,如Java代码、汇编代码或汇编代码翻译的C语言伪代码等等,通过分析这些比较低级的编程语言的代码,来分析查看木马、病毒等恶意代码。


3、内部算法的分析

通过断点调试手段,让程序单步执行进行分析。动态分析住往是在静态分析出一定的结果的基础上进行,找到合适的地方给代码打断点,即时地读取当前变量的值,来进一步分析程序的逻辑、获取程序关系数据。


4、对软件进行修改、二次开发、扩展其功能

软件部分功能不能适应满足个人的使用需求需求,在现有的软件上进行定制修改和功能的扩展,然后达到自己想要的功能。


0x03、逆向分析工具的简单介绍

查找软件是否加壳(PEID)

点击浏览选择要逆向分析的软件或者直接将要逆向分析的软件拖动到PEID

fakename.png

识别软件使用什么语言编写的(DIE)

点击…选择要逆向分析的软件或者直接将要逆向分析的软件拖动到DIE

fakename.png

反汇编调试工具(OllyDbg)

将机器代码反汇编成方便人类理解的代码,如Java代码、汇编代码或汇编代码翻译的C语言伪代码等等,通过分析这些比较低级的编程语言的代码,找到程序的业务流程或设计逻辑。通过断点调试手段,让程序单步执行进行分析。动态分析往往是在静态分析出一定的结果的基础上进行,找到合适的地方给代码打断点,即时地读取当前变量的值,来进一步分析程序的逻辑、获取程序关系数据。

fakename.png


将程序直接拖进OD,将程序反汇编出来,分析反汇编的代码,找到程序验证的关键位置,逐步分析,修改程序。
代码区:显示汇编代码的地方,查看程序执行代码
信息区:显示程序运行每句代码的相关信息
数据区:显示程序的数据的地方
寄存器区:显示寄存器
堆栈区:堆栈也是内存的一部分,堆栈里面的地址存放数据

搬运不易.....如内容有问题烦请管理立即删除即可。。。

评分

参与人数 15HB +13 THX +9 收起 理由
消逝的过去 + 1
24567 + 2
Jawon + 2
太阳神 + 2 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
创客者V2.0 + 1
一路走来不容易 + 1
bing_mao + 1
虚心学习 + 1
ligangelectron + 1
zxjzzh + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
sjtkxy + 1 + 1
哈哈解 + 1
Cerolluo + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
三斤回锅肉 + 2 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
行行行行行行 + 1

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Cerolluo 发表于 2022-11-23 20:18 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
哈哈解 发表于 2022-11-23 22:24 | 显示全部楼层

学习中!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
寒冰苏雪 发表于 2022-11-23 23:19 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
sjtkxy 发表于 2022-11-24 04:56 | 显示全部楼层

提示: 作者被禁止或删除 内容自动屏蔽
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
bnjzzheng 发表于 2022-11-28 16:18 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
曾经沧海 发表于 2023-2-24 07:26 | 显示全部楼层

大佬厉害 大佬威武!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
曾经沧海 发表于 2023-2-26 19:24 | 显示全部楼层

分析的很好,加油加油
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
曾经沧海 发表于 2023-2-27 07:17 | 显示全部楼层

好东西,备用
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
一生逍遥 发表于 2023-3-11 08:24 | 显示全部楼层

楼主,牛逼啊!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表