主程序,无法生成伪代码

由此分为两种方法即:

  1. 直接看反汇编
  2. 解决问题,尝试生成伪代码

硬啃汇编

输入与输出

判断输入长度是否为0x1B,其中al为eax的低8位

将输入的字符每个与当前字符所在下标异或并与密钥对比

算法很简单

a = [0x4d,0x53, 0x41, 0x57, 0x42, 0x7E, 0x46, 0x58, 0x5A, 0x3A, 0x4A,
0x3A, 0x60, 0x74, 0x51, 0x4A, 0x22, 0x4E, 0x40, 0x20, 0x62,
0x70, 0x64, 0x64, 0x7D, 0x38, 0x67]
flag = ''
for i in range(0x1b):
flag += chr(a[i]^i)
print(flag)

脚本得flag

flag{@_R3@1ly_E2_R3verse!}

尝试找出无法生成伪代码得原因

无法生成伪代码两种可能;

1、IDA无法识别出正确的调用约定。

2、IDA无法识别出正确的参数个数。

总之就是函数出了问题,其实只要先把scanf和printf生成伪代码,就能生成main

剩余方法相同,其实原因上是因为printf的参数,按道理来说是要改一下main函数的,但不知道为什么直接生成了

[MRCTF]XOR-无法生成反汇编的处理的更多相关文章

  1. linux查看反汇编

    生成反汇编文件 gcc xxx.c -g -o a.out objdump a.out -dSsx > file 调试的时候查看反汇编: gdb a.out ...layout asm 参考博文 ...

  2. 《深入理解计算机系统》实验二 —— Bomb Lab

    这是CSAPP的第二个实验,主要让我们理解代码的机器级表示,最重要的是理解每个寄存器的作用以及如何使用这些寄存器.本次的实验内容有点晦涩难懂,对于这些内容多看下习惯就好了.   本次实验中的bomb文 ...

  3. s3c2440 移值u-boot-2016.03 第1篇 新建单板

    目前除RC版外,最新的就是 u-boot-2016.03.tar.bz2 ,大概看了几个年份的u-boot 发现,现在 更像是 linux kernel .有 menuconfig . 对比2012年 ...

  4. windows下STM32开发环境的搭建

    一.概述 1.说明 笔者已经写了一篇Linux下STM32开发环境的搭建 ,这两篇文章的最区别在于开发环境所处的系统平台不一样,而其实这个区别对于开发环境的搭建其实影响不大,制作局部上的操作上发生了改 ...

  5. uboot 顶层makefile细节分析

    uboot的源文件众多,学习庞然大物首先找到脊椎--顶层的makfile,逐一破解.但是,uboot的makefile同样是一个庞然大物,所以也要找到它的主线.倘若过分专注部分细节,很难做到把握全局, ...

  6. 【linux】内核源代码下载与阅读

      原创,转载时请注明,谢谢.邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:http://blog. ...

  7. Linux安全审计命令

    安全审计 数据分析 capinfos xxx.pcap 产看数据包基本信息 日志分析 who /var/log/wtmp #查看登录用户信息 哈希校验 sha265 文件名 md5sum 文件名 &g ...

  8. 汇编语言实现led灯的跑马灯

    led实验1.看原理图 看设备工作的原理(可能需要阅读芯片手册),看设备与cpu的连接关系 GPIO具有输入输出功能.输入:cpu想知道io引脚是高电平还是低电平那么就是输入方式输出:cpu想控制io ...

  9. 驱动调试-根据oops定位错误代码行

    1.当驱动有误时,比如,访问的内存地址是非法的,便会打印一大串的oops出来 1.1以LED驱动为例 将open()函数里的ioremap()屏蔽掉,直接使用物理地址的GPIOF,如下图所示: 1.2 ...

随机推荐

  1. CentOS7 下 ldap 部署

    环境准备 # 关闭防火墙以及selinux,生产环境中,以实际需求为准 [root@localhost ~]# hostnamectl --static set-hostname ldap-serve ...

  2. 请求XSS攻击原理

    起因 巨人的肩膀 一个神秘URL酿大祸,差点让我背锅! (qq.com)

  3. 数据分析实际案例之:pandas在餐厅评分数据中的使用

    目录 简介 餐厅评分数据简介 分析评分数据 简介 为了更好的熟练掌握pandas在实际数据分析中的应用,今天我们再介绍一下怎么使用pandas做美国餐厅评分数据的分析. 餐厅评分数据简介 数据的来源是 ...

  4. 学习Spring5必知必会(3)~Spring的核心 IoC 和 DI

    一.Spring的核心 IoC(基于XML) 1.IoC容器 (1)BeanFactory容器创建对象: //使用BeanFactory @Test void testBeanFactory() th ...

  5. 『无为则无心』Python面向对象 — 59、魔法方法

    目录 1.魔法方法__new__() 2.魔法方法__init__() 3.魔法方法__del__() 4.魔法方法__str__()和__repr__() 5.魔法方法__call__() 6.魔法 ...

  6. 国内商业智能软件的天下来了,选择BI工具我们应该看这3点!

    ​数据变革时代,经常有"外行人"问到,何谓商业智能BI? BI可以说是通过软件或者服务,将网络时代中海量的数据转化为行动上的洞察力,从而影响企业的战略和战术决策. 当海量.高增长率 ...

  7. 这个数据分析工具秒杀Excel,可视化分析神器!

    ​入门Excel容易,想要精通就很难了,大部分人通过学习能掌握60%的基础操作,但是一些复杂数据可视化分析就需要用到各种技巧,操作理解难度加深 Excel作为一直是使用最广泛的数据表格工具,在数据量日 ...

  8. 有了这个BI工具,财务分析再也不用愁

    财务软件的发展已基本上将财会工作者从登记凭证.记账.编制会计报表等繁重和重复性的工作中解放出来.但是,当前大多数管理软件或财务软件的财务分析功能还停留在会计信息或财务指标的数据处理.图表展现层面,支持 ...

  9. kafka 事务代码实现(生产者到server端的事务)

    kafka的事务指的是2个点   ① 生产者到kafka服务端的事务保障    ②消费者从kafka拉取数据的事务 kafka提供的事务机制是 第①点,  对于第②点来说 只能自己在消费端实现幂等性. ...

  10. Pandas:DataFrame绘制并保存折线图时不打开图形只保存文件

    保存图形,用的是plt.savefig函数,只需要在保存图形之后,调用plt.close()关闭画布,就不会显示出来了: data.plot() outfile='image.png' plt.sav ...