首页 > 其他分享 >Binary Note

Binary Note

时间:2023-01-11 22:14:06浏览次数:61  
标签:Binary 题目 逆向 二进制 Note RE 漏洞 IDA

PWN & RE方向介绍

PWN

Pwn类题目重点考察选手对于二进制漏洞的挖掘和利用能力,其考点也通常在堆栈溢出、格式化漏洞、UAF、Double Free等常见二进制漏洞上。选手需要根据题目中给出的二进制可执行文件进行逆向分析,找出其中的漏洞并进行利用,编写对应的漏洞攻击脚本(Exploit),进而对主办方给出的远程服务器进行攻击并获取flag


RE

涉及Windows、Linux、Android平台的多种编程技术,要求利用常用工具对源代码及二进制文件进行逆向分析,掌握Android移动应用APK文件的逆向分析,掌握加解密、内核编程、算法、反调试和代码混淆技术
Re类题目考察选手逆向工程能力。题目会给出一个可执行二进制文件,有些时候也可能Android的APK安装包。选手需要逆向给出的程序,分析其程序工作原理。最终根据程序行为等获得flag。
image.png

PWN&RE基础知识

c、python、汇编、Linux、数据结构和算法


RE(逆向工程)入门

1.什么是逆向工程

REer在比赛中的作用

  • CTF线上赛: RE全部、PWN题目的逻辑还原、Crypto部分
  • AWD攻防线下赛: 捕捉流量包发现程序漏洞,进行相应的修补

CTF中的Reverse:

  • 大型软件的小部分逻辑提炼
  • 不同平台(ARM,windows,ios,安卓)下软件的小部分逻辑提炼
  • 对于热补丁等技术手段的还原
  • 病毒程序的原理日志的复现

RE做题步骤

  • 查壳:有壳脱壳,无壳根据文件格式进行静态分析
  • 查看题目文件:先看一下题目程序的内容和结构:弹出一个图片,图片不能移动或修改一般在这一步获取到题目是否输出字符串?是否有check?有无提示?如果是游戏题是否可以直接玩出来?有无出题人联系方式?
  • 静态分析:用IDA进行分析,查看并分析代码逻辑,解出答案

2.静态调试入门

IDA的使用

  • 32位程序用IDA Pro(32 bit),64位程序用IDA Pro(64 bit)
  • IDA View图形结构窗口:该窗口下可以了解函数跳转关系及函数调用关系
  • IDA View文本结构界面:窗口中显示的是具体的底层汇编实现
  • ACD键:对数据使用,分别可以令数据以字符串、代码、数据形式显示
  • G键:按下后在弹出的窗口输入地址可以跳转至相应位置
  • N键:当分析清楚某函数功能时,为方便可将改函数重命名
  • H键:转换为16进制
  • ;键:添加注释
  • 交叉引用:View – >Open subviews – >Cross references,查看引用当前函数的函数ctrl+X
  • shift+F12:查看所有字符串窗口,在这个窗口一般可以找到关键信息
  • F5:将当前函数的汇编代码反汇编成伪C代码
  • Alt+T:搜索,Ctrl+T找到下一个匹配项。
  • ALT+B:搜索opcode(二进制数据),搜索16进制
  • ···更多查看这篇《工具使用-IDA从入门到理解》

3.动态调试入门

Ollydbg的使用

这篇很详细

4.学习逆向工程相关

  • 静态:一边做RE题目一边学习,计算机组成原理、操作系统、数据结构、汇编语言相关知识等等
  • 动态调试:crackme 160汇编纯逻辑题目
  • 拓展:尝试跟着分析博客去破解经典的单机游戏

PWN(二进制漏洞)入门

标签:Binary,题目,逆向,二进制,Note,RE,漏洞,IDA
From: https://www.cnblogs.com/Tree-24/p/17045025.html

相关文章

  • Notes文档
    基于uni-app的个人笔记应用Notes实现的功能笔记的增删改查增进入:用户通过点击右上角的加号可以进入"创建笔记"页面编辑:实现了富文本编辑,为用户提供了(撤销、清空、反......
  • Jupyter notebook关于端口,密码,ip的配置
    在服务器上使用jupyternotebook的时候想配制成:用所有电脑都可以使用的ip地址打开同一个后台运行的jupyter1.生成配置文件在命令行输入jupyternotebook--generate-con......
  • 67. Add Binary
    还是模拟,模拟就完事儿了classSolution{public:stringaddBinary(stringa,stringb){ints_it_a=a.length()-1;ints_it_b=b.length()-1;s......
  • Notepad--国产开源编辑器,横空出世!
    今天推荐的这款开源文本编辑器呢,就是国内大佬写的类似Notepad++的文本编辑器—Notepad--!大佬说:鉴于Notepad++作者的错误言论,Notepad--的意义在于:减少一点错误言论,减少一点自......
  • Notepad++ 安装 NppFTP 插件
    下载解压,得到dll文件,放到Notepad++的安装目录下 Plugins文件夹中。在Notepad++的菜单栏,就会看到【插件】菜单新增的NppFTP按钮,如下所示:settings-----profilesetting......
  • GObject Note
    初创建于:2022-09-1122:34GObject概述GObject可以理解为一个库,使用这个库可以用C语言编写面向对象的程序.这里通过一个例子直观地来理解一下GObject.定义类......
  • VimScript Note
    初创建于:2022-02-1621:19VimScript要想写vim插件,学习vimscript还真是不能省的啊.暂定vim插件的学习路线为:vimscript\(\rightarrow\)lua\(\rightarrow\)types......
  • note_2023年1月9日22点46分
    D:\code_gitee\python_socket\agvServer.tsimport{createServer}from"net";constserver=createServer();server.listen(19204,"localhost");server.on("conn......
  • 01notepad++如何比较两个文件内容
    下面介绍,通过在NotePad中下载安装Compare插件,可以比较两个文件内容。(推荐学习:notepad++)打开NotePad,点击工具栏上的【插件】–》PluginManager—》ShowPluginManage......
  • CodeForces - 1225C p-binary
    CodeForces-1225Cp-binary题解:二进制+思维由题意得:让我们求出K的最小值使得\(\sum_{i=1}^{k}2^{a^i}+p=n\)成立,将式子改变一下形式得到\(n-k*p=\sum_{i=1}^{k}2^......