逆向入门系列(2)静态分析工具ida的使用

15 篇文章 0 订阅
15 篇文章 0 订阅

博客已经转移

https://noone-hub.github.io/

先,ida的下载这个自己可以吧,不会的可以找我要ida6.8版本跟7.0版本,我只有这两个版本,6.8兼容32和64位系统,7.0只兼容64位系统,本文用的是6.8,在linux下,我用wine运行的打开ida后通常是这个界面,点击new

找到你要的文件,linux下的elf文件要选择all files才能找到,如何判断是elf文件,这我也不谈,可以自己百度,双击后便是这个界面,他也会给你判断是什么文件,直接点ok就好,进来后不要直接f5,会提示错误的,这里还不是main函数,你f5也没用,f5是转c代码的,

,学过c的都知道,main是起始函数,双击main进入,按esc可以返回上一层

然后F5便可以显示c代码,有时候函数多的时候你连main函数都不知道在哪,re的题目通常都没加密字符串,所以我教你们另一种可行办法,若为图形界面

右键,text view,查看汇编代码,然后alt+T搜索可用的字符串,字符串你可以运行程序获得,也可以用工具获得,radare2也是一个神器,在此不多说,我也不怎么会用,搜索到后可以利用

那个箭头进行回溯,找到真正的主要函数,此题没字符串,就不多讲,这里直接F5查看c代码,

发觉一点有用的信息也没有,在此我已经不知道怎么做了,看了writeup后知道,这里传入的是flag的顺序,

也就是这一串字符里含有flag,打开ida的hex窗口,hex是16进制

在小窗口里有的选,发觉一串可疑字符,里面可疑独处含有flag,顺序明显被打乱了,还有一堆乱码混淆我们,然后通过手动整理可以得到传入的参数为 

list=[6,9,0,1,0xA,0,8,0,0xB,2,3,1,0xD,4,5,2,7,2,3,1,0xC],

有未知参数,在.bss段,未初始化的全局变量,这里网上的writeup解释得都很模糊,我从c语言的学习中得知,全局变量未初始化便为0,所以未知的参数全填充为0,(个人理解),然后在那串字符中,找规律得到flag为奇数位的字符,偶数位的字符只是拿来加密的(在下找规律从小学开始就不好,恕我愚钝,没看出),然后就是得到奇数位字符,奇数位的数据你按r可以转换成字符

 flag=['a','g','i','n','b','e','f','j','m','l','{','z','}','_']
偶数位字符

xor=[0x4c,0x59,0x29,0x42,0x0D,0x71,0x34,0xC6,0x8A,0x7F,0xAE,0x92,0xEC,0x57]

然后通过python脚本跑一下就出来了

  1 #!/usr/bin/env python
  2 # coding=utf-8
  3 list=[6,9,0,1,0xA,0,8,0,0xB,2,3,1,0xD,4,5,2,7,2,3,1,0xC]
  4 flag=['a','g','i','n','b','e','f','j','m','l','{','z','}','_']
  5 xor=[0x4c,0x59,0x29,0x42,0x0D,0x71,0x34,0xC6,0x8A,0x7F,0xAE,0x92,0xEC,0x57]
  6 result=""
  7 for i in range(21):
  8     result+=flag[list[i]]
  9 print result

题目下载:下载地址密码: j4fn

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MBR(Master Boot Record)是计算机系统的启动程序,位于硬盘的第一个扇区,一般占用512字节。它包含了分区表以及启动操作系统所需的代码。IDA是一款反汇编软件,可以用于对二进制文件进行静态分析使用IDA对MBR进行二进制静态分析,可以深入了解MBR的功能和执行流程。 首先,在IDA中打开MBR的二进制文件,IDA会自动识别并显示程序的指令流。可以通过分析指令之间的跳转、数据处理等关系,还原出MBR的代码逻辑。 其次,IDA可以对二进制文件进行反汇编,将机器指令转换成可读性更高的汇编指令,方便程序员理解和分析。通过IDA的反汇编功能,可以逐步追踪程序的执行路径,查看各个函数的调用关系,识别出程序的功能模块。 此外,IDA还提供了图形化界面,用于展示程序的控制流图、函数调用图等可视化信息,方便用户理解程序的结构和逻辑。 最后,通过IDA静态分析功能,可以查找程序中的漏洞和恶意代码。例如,可以搜索特定的字符串、调用系统函数的位置,以便检测程序是否含有病毒、后门等恶意代码。 总的来说,利用IDA进行MBR二进制静态分析,可以帮助研究人员深入了解MBR的工作原理和代码逻辑,识别恶意代码,加强对计算机系统的安全防护。 ### 回答2: IDA是一款十分常用的二进制静态分析工具,它主要用于对二进制文件进行逆向工程和安全分析。二进制文件通常是以机器语言编写的,分析这样的文件是十分困难的。然而,IDA通过对二进制文件进行分析,可以还原出源代码的一些结构和逻辑。 首先,IDA静态分析功能使得我们可以在不运行程序的情况下查看程序的执行流程、函数调用、内存分配等。我们可以分析程序的汇编指令,了解每条指令的作用和执行过程,进而还原出程序的整体逻辑。 其次,IDA提供了反汇编功能,可以将机器码反汇编成汇编代码,这样我们就可以看到程序从二进制代码转换为汇编代码的过程。这对于探查程序中隐藏的功能和漏洞非常有用。 此外,IDA还提供了交互式调试功能,可以在不运行程序的情况下直接查看和修改内存中的值,对程序的执行进行调试,并寻找和解决问题。 总之,通过IDA的二进制静态分析,我们可以更好地理解程序的功能和结构,发现潜在的安全漏洞,从而提高软件的安全性和性能。这使得IDA成为许多安全研究人员和软件工程师的重要工具之一。 ### 回答3: MBR(Master Boot Record,主引导记录)是磁盘的第一个扇区,是启动操作系统的关键组成部分。IDA(Interactive Disassembler,交互式反汇编器)是一款二进制静态分析工具,用于逆向工程和恶意软件分析使用IDA进行MBR的二进制静态分析时,首先需要将MBR的二进制文件导入到IDA中。IDA通过解析二进制代码,将其转换为可读的汇编语言代码,以便分析和理解程序的逻辑。 对于MBR的二进制静态分析,可以使用IDA进行以下方面的研究: 1. 代码调用关系分析IDA可以显示函数之间的调用关系,帮助我们理清代码的逻辑流程。 2. 变量和数据结构分析IDA可以识别并显示代码中使用的变量和数据结构,帮助我们了解数据的存储和使用方式,进而理解程序的功能。 3. 漏洞分析:通过IDA的漏洞分析功能,我们可以查找代码中存在的安全漏洞或异常处理不当的问题,从而提供安全修复建议。 4. 反汇编代码注释:IDA可以让我们添加自己的注释,对代码进行解释和标记,方便后续的分析和理解。 综上所述,IDA作为一款强大的二进制静态分析工具,可以帮助我们深入理解MBR的功能和逻辑,发现其中的潜在问题,从而提供安全修复和改进的建议。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值