ZCTF-ARM64-Re300
Re300-arm64
是一个64位的ARM程序。使用IDA加载,蹦出来这个框框,就是说IDA6.6还没有对ARM64位的程序实现relocation的分析。

就是由于这个,所以连对libc库函数的调用都看不到了。如下图是start函数:

连__libc_start_main都看不到了,此外,程序里对strlen,malloc,memset,scanf等库函数的调用都看不到了,好一个糟糕。如果看一下.got.plt,你会发现原因就在这里,.got.plt里东西真的不是我们想看到的。

为了解决这个问题,我用readelf来帮助我。

有了这些东西,我对程序里的一些函数名称手动进行了rename,这样就可以分析下去了。现在在看start,是不是好多了呢?

这样之后,就可以分析下去了。Main函数很简单,读入字符串,处理,如果符合要求,则输出congratulations。

下面就可以对程序的算法进行分析了,我利用qemu搭了一个ARM架构的64位的Ubuntu服务器,然后也可以调试了。
最后分析的算法是:读入一串字符串,依次取出3个字符,3个字符是24比特,从24比特中依次取出6个比特当作一个字符,那么 3个字符就变作4个字符了,如果用户输入长度为15的字符串,则经过处理后得到长度为20的字符串。对这一处理后的字符串,程序依次取出5个字符,列出了5个方程(通过分析算法得到)。那么我们解这5个方程就可以确定这5个字符,进而可以确定输入。


ZCTF-ARM64-Re300的更多相关文章
- ARM64调试环境
自从上一次ZCTF做了一道ARM64的逆向题目后,我决定记录下利用qemu搭建ARM64的环境的过程,以后肯定会遇到更多ARM平台下的Reverse和PWN. 一 安装QEMU 我要模拟的是64位的A ...
- Undefined symbols for architecture arm64:
1. 没有往项目中导入静态库(.a 文件)需要的 framework. 2.拖到项目中的静态库不支持arm64(或其他)指令集 这种情况没遇到过 一般都是第一种情况.
- armv7 armv7s arm64
arm处理器以其低功耗和小尺寸而闻名,几乎所有的手机处理器都是基于arm,在嵌入式系统中应用非常广泛. armv6, armv7, armv7s, arm64指的是arm处理器的指令集. i386 ...
- Undefined symbols for architecture arm64解决方案
在iOS开发中经常遇到的一个错误是Undefined symbols for architecture arm64,这个错误表示工程某些地方不支持arm64指令集.那我们应该怎么解决这个问题了?我们不 ...
- Unity arm64
ERROR ITMS-90086 ERROR ITMS-90086:"missing 64-bit support. beginning on february 1, 2015, new i ...
- IOS移动设备处理器指令集 armv6、armv7、armv7s及arm64
Arm处理器,因为其低功耗和小尺寸而闻名,几乎所有的手机处理器都基于arm,其在嵌入式系统中的应用非常广泛,它的性能在同等功耗产品中也很出色. Armv6.armv7.armv7s.arm64都是ar ...
- xcode armv6 armv7 armv7s arm64
目前ios的指令集有以下几种: armv6 iPhone iPhone2 iPhone3G 第一代和第二代iPod Touch armv7 iPhone4 iPhone4S armv7s iPhone ...
- Apple移动设备处理器指令集 armv6、armv7、armv7s及arm64
Arm处理器,因为其低功耗和小尺寸而闻名,几乎所有的手机处理器都基于arm,其在嵌入式系统中的应用非常广泛,它的性能在同等功耗产品中也很出色. Armv6.armv7.armv7s.arm64都是ar ...
- 实战FFmpeg编译支持arm64(转)
App store要求上架的app必须支持arm64.而手中的ffmpeg还不支持arm64, 百度下ffmpeg支持arm64方法,网上有很多资料.其中一篇是使用脚本自动编译实现的.本文就是使用它的 ...
- ios8.3 编译 arm64版 openssl-1.0.2a
xcode是6.3版的,ios sdk 是8.3的, 到http://www.openssl.org/source/下载最新版本openssl-1.0.2a 解压后用文本编辑器打开configure文 ...
随机推荐
- JsonKit 解析
- (void)requestMapListData { NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"&qu ...
- java面试题集2
JAVA面试题-CORE JAVA部分 1. 在main(String[] args)方法内是否可以调用一个非静态方法? 答案:不能 2. 同一个文件里是否可以有两个public ...
- ComponentName的意思
ComponentName是用来打开其它应用程序中的Activity或服务的. 使用方法: Intent i=new Intent(); i.setComponent(new ComponentNam ...
- PCL库配置出现的问题(WIN10+VS2013)
边看电影边配终于配好了,中间出现了一些问题,在网上很难搜到,可能每个人都碰到的不同.摸索了一会终于都解决了,记录在这里,免得又碰到. PCL是什么东西就不在此介绍了. 主要是参考这篇博客做得,不过我后 ...
- cacti出现snmp error
一.在被监控机器中确认snmp是否启动 service snmpd status [root@test2 ~]# service snmpd status snmpd (pid 1247) 正在运行 ...
- Java - 文件(IO流)
Java - 文件 (IO) 流的分类: > 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter ...
- U盘变小恢复工具——亲测完美可用
大白菜U盘,装系统后,U盘损坏,格盘后8G只剩345M,用usbboot恢复到了2G容量.离8G还差很远.用U盘变小恢复工具后,完美恢复到原来大小.在此记录一下,以待下次遇到相似情况使用. 原文地址 ...
- 沃通tomcat jks 安装配置
废话不多说上代码: <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtoc ...
- JQ 更改li 颜色
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- RTMP流媒体播放过程(转)
http://blog.csdn.net/leixiaohua1020/article/details/11704355 本文描述了从打开一个RTMP流媒体到视音频数据开始播放的全过程. 注意:RTM ...