南邮ctf逆向最后一题
来源:互联网 发布:sql中时间戳转换 编辑:程序博客网 时间:2024/06/06 02:44
你大概需要一个优秀的mac //虽然是osx下的程序,但并不一定真的要有mac….
正好我也没mac,只能拖到ida里面了,发现还真可以….ida有点厉害
找到right wrong字符串,观察下主框架然后果断f5看下伪代码
可以看出来就是简单的输入长度为56的字符串然后经过func1,xfun1,xfun2,xfun3,xfun4,xfun5这几个函数加密然后check函数比较
好在这些函数都差不多,都是与一个数异或
func1:56个字符串逐个与0xde异或
xfun1:0~9位与0xad异或
xfun2:10~19位与0xbe异或
xfun3:10~29位与0xef异或
xfun4:30~39位与0xab异或
xfun5:40~55位与0xef异或
最后与0x100000ED0处的56位比较,所以直接逆操作就可以了。
idc代码:
auto i;for ( i = 0; i <56 ; i++ ) { if(i<10) { Message("%c",Byte(0x100000ED0+i*4)^0xADu^0xDEu); } if(i>9 &&i<20) { Message("%c",Byte(0x100000ED0+i*4)^0xBEu^0xDEu); } if(i>19 && i<30) { Message("%c",Byte(0x100000ED0+i*4)^0xEFu^0xDEu); } if(i>29 && i<40) { Message("%c",Byte(0x100000ED0+i*4)^0xABu^0xDEu); } if(i>39) { Message("%c",Byte(0x100000ED0+i*4)^0xEFu^0xDEu); } }
idc才学没几天,一开始用PatchByte写入函数结果一直不对,后来发现根本就没写进去。也不知道为什么,所以就直接用message输出了
——更新 PatchByte方式
原来是我用错这个函数了PatchByte的第一个参数是地址,不能加Byte()的……
auto i;for ( i = 0; i <56 ; i++ ) { if(i<10) { PatchByte(0x100000ED0+i*4,Byte(0x100000ED0+i*4)^0xADu^0xDEu); } if(i>9 &&i<20) { PatchByte(0x100000ED0+i*4,Byte(0x100000ED0+i*4)^0xBEu^0xDEu); } if(i>19 && i<30) { PatchByte(0x100000ED0+i*4,Byte(0x100000ED0+i*4)^0xEFu^0xDEu); } if(i>29 && i<40) { PatchByte(0x100000ED0+i*4,Byte(0x100000ED0+i*4)^0xABu^0xDEu); } if(i>39) { PatchByte(0x100000ED0+i*4,Byte(0x100000ED0+i*4)^0xEFu^0xDEu); } } for(i=0;i<56;i++) Message("%c",Byte(0x100000ED0+i*4))
结果
flag{I5_th1s_7he_PR1c3_I’M_PAyiNG_f0r_my_pA57_m1stAk35?}
阅读全文
0 0
- 南邮ctf逆向最后一题
- CTF【每日一题20160623】dotNet逆向分析
- CTF 【每日一题20160626】简单的PE文件逆向
- CTF 【每日一题20160627】简单的ELF逆向
- 170707 逆向-南邮CTF逆向(WxyVM1)
- 170708 逆向-南邮CTF逆向(maze)
- 南邮CTF逆向题第一道Hello,RE!解题思路
- 南邮CTF逆向题第二道ReadAsm2解题思路
- 南邮CTF逆向题第三道Py交易解题思路
- 南邮CTF逆向题第四道WxyVM解题思路
- 南邮CTF逆向题第五道maze解题思路
- 南邮CTF逆向题第六道WxyV2解题思路
- 170706 逆向-南邮CTF平台(1-3)
- 170818 逆向-南邮CTF(WxyVM2)
- 一道逆向CTF题-read asm详解
- 实验吧CTF逆向题1000writeup
- 逆向CTF (linux)
- CTF dotNet逆向分析
- 函数调用栈帧过程 图解
- 【Unity Shader入门练习】Bloom效果
- 二叉树的线索化及其迭代器
- 【量化小讲堂-Python&Pandas系列11】法码三因子选股模型,有多少人可以跑赢
- FPGA静态时序分析基本概念
- 南邮ctf逆向最后一题
- Android开发之基类Object官方文档翻译
- String,StringBuffer,StringBuilder之间的差别
- https概述
- 机器学习(一):监督学习应用:梯度下降
- Facenet论文阅读笔记(包括GoogLenet参数计算方式)
- windows下源码安装调试postgresql
- 转载-Python编程工具IDLE快捷键
- C与C++结构体