逆向工程reverse提升.pptx

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

逆向工程

CTF技巧

大标题:

微软雅黑

24-36号

加粗

居中

小标题:

微软雅黑

20-24号

正常

居中

横线请勿移动

目录

content

03

题型分类

奇技淫巧

未选中目录标题:

微软雅黑

18号

加粗

居左

R:147

G:205

B:221

目录标题

请勿编辑

当前目录标题:

微软雅黑

18号

加粗

居左

R:55

G:158

B:195

01

解题思路

目录输入完毕

手动整体居中

01

02

解题思路

常规题目逻辑

接收输入-对输入进行运算-对运算结果进行check

程序复杂度

ELFPE(CUI)PE(GUI)其他框架

一般CTF题目不会过于复杂,但本身图形化的界面和各个控件的配置会导致程序代码庞大,难以找到核心部分的代码

大标题:

微软雅黑/Arial

24号

加粗

居左

R:89

G:89

B:89

小标题:

微软雅黑/Arial

20号

加粗

居左

R:89

G:89

B:89

小标题:

微软雅黑/Calibri

16号

正常

居左

R:89

G:89

B:89

直接点击修改文字

请勿随意添加文本框

尽量使用版式编辑

解题思路

寻找到合适的切入点,快速找到程序的核心算法可以遵循以下三个方向

1.

正面长驱直入

-从程序的入口点开始,逐步分析

-层层深入最后抵达验证函数

-静态分析

2.

从信息输入/输出处寻找

-查找引用了输入输出函数(printf,puts,gets,GetWindowText)的位置

-进而回溯找到验证函数

3.

利用字符串寻找

-寻找关键字符串位置从而找到验证函数

大标题:

微软雅黑/Arial

24号

加粗

居左

R:89

G:89

B:89

小标题:

微软雅黑/Arial

20号

加粗

居左

R:89

G:89

B:89

小标题:

微软雅黑/Calibri

16号

正常

居左

R:89

G:89

B:89

直接点击修改文字

请勿随意添加文本框

尽量使用版式编辑

目录

content

02

03

题型分类

奇技淫巧

未选中目录标题:

微软雅黑

18号

加粗

居左

R:147

G:205

B:221

目录标题

请勿编辑

当前目录标题:

微软雅黑

18号

加粗

居左

R:55

G:158

B:195

01

解题思路

目录输入完毕

手动整体居中

架构/载体及对应工具

PE(CUI)

IDA

OlleyDbg

x64dbg

PE(GUI)

IDA

OlleyDbg

x64dbg

xspy

.NET

dnspy

ILspy

ELF

IDA

dbg

Android

JEB

IDA

APKIDE/AndroidKiller

Python

pyle2

Others(likemips,goetc.)

othertools

大标题:

微软雅黑/Arial

24号

加粗

居左

R:89

G:89

B:89

小标题:

微软雅黑/Arial

20号

加粗

居左

R:89

G:89

B:89

小标题:

微软雅黑/Calibri

16号

正常

居左

R:89

G:89

B:89

直接点击修改文字

请勿随意添加文本框

尽量使用版式编辑

算法及对应解法

无算法

明文flag,或不对输入进行处理直接比较

解法:

通过Patch/动态调试拿到比较的内容即可

算法及对应解法

常见算法

简单计算

复杂计算

解法:

根据之前所述尝试找到程序的核心算法,然后以静态分析为主

如果静态分析理解困难,可以进行动态调试来查看数据的变化方式等等, 甚至可以直接将函数视作黑盒进行猜测功能

在完成逻辑功能理解的基础上,复现出正向算法

(即达到你写出的程序可以把同样的输入加密出同样的结果)

最后根据正向算法逐步进行逆向求解

Debug技巧

将正向算法分解成若干小步骤,检查逆向算法对应步骤,定位出错点

算法及对应解法

base64

加密算法(AES\DES)

哈希算法(MD5\SHA1)

其他公开算法(RC4等)

解法

根据算法的特征,包括常数特征和算法特征来识别

常数特征可以用工具来识别,或者直接有哪些信誉好的足球投注网站常数

算法特征则只能通过经验来发现

不确定的算法可以通过动态调试确认输入输出值是否相同

确定算法以后就根据程序的逻辑进行逆向求解,包括密钥爆破,已知密 钥解密等等

Debug技巧

多加调试保证正向没有识别错误

算法及对应解法

解方程

常见的题型为多元线性方程

解法:

一般解法是将参数直接dump下来

然后通过使用z3、numpy等数学工具进行求解

算法及对应解法

特殊算法

走迷宫

数独

解法:

这种程序一般会在题目上 进行提示,通常如果不结 合抽象逻辑功能很难逆向 求解

解法跟普通的算法一样, 理解其逻辑功

文档评论(0)

159****9610 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6044052142000020

1亿VIP精品文档

相关文档