南邮CTF逆向题第六道WxyV2解题思路
来源:互联网 发布:淘宝客宣传图片 编辑:程序博客网 时间:2024/06/02 06:50
如题
看提示应该与第四道题WxyVM一样是ELF文件 那么我们直接上IDAx64
http://blog.csdn.net/xiangshangbashaonian/article/details/78883486
首先找到main函数
还是习惯性查看下可疑字符串
按下F5查看伪代码(中间有大段 我省略截图了)
这次就不一行一行分析了 大致意思是:
获取一个字符串存放到地址694100处
限制长度为25
那么如果要对这个字符串进行操作 只会从694100进行相应操作 那么其他的自然就是混淆我们 又可以清楚的看到 有效的操作都是以byte型进行 那么dword的我们直接过滤掉即可
a=[0xffffffC0,0xffffff85,0xffffffF9,0x6C,0xffffffE2,0x14,0xffffffBB,0xffffffe4,0xd,0x59,0x1c,0x23,0xffffff88,0x6e,0xffffff9b,0xffffffca,0xffffffba,0x5c,0x37,0xffffffff,0x48,0xffffffd8,0x1f,0xffffffab,0xffffffa5]
f= open('key.txt')#过滤后的txt文本自增自减的直接格式改下
for bin f.readlines()[::-1]:
if b[3]=='+':
if'x'in b:
a[int(b[:2],16)]-= int(b[8:],16if'x'in b else10)
else:
a[int(b[:2],16)]-= int(b[6:],10)
if b[3]=='-':
if'x'in b:
a[int(b[:2],16)]+= int(b[8:],16)
else:
a[int(b[:2],16)]+= int(b[6:],10)
if b[3]=='^':
if'x'in b:
a[int(b[:2],16)]^= int(b[8:],16)
else:
a[int(b[:2],16)]^= int(b[6:],10)
flag=""
for iin a:
flag+= chr(i%256)
print flag
flag:nctf{th3_vM_w1th0ut_dAta}
- 南邮CTF逆向题第六道WxyV2解题思路
- 南邮CTF逆向题第二道ReadAsm2解题思路
- 南邮CTF逆向题第三道Py交易解题思路
- 南邮CTF逆向题第四道WxyVM解题思路
- 南邮CTF逆向题第五道maze解题思路
- 南邮CTF逆向题第一道Hello,RE!解题思路
- 看雪CTF 2017 第六题设计思路和解题思路
- 南邮ctf逆向最后一题
- 170707 逆向-南邮CTF逆向(WxyVM1)
- 170708 逆向-南邮CTF逆向(maze)
- WHCTF 2017 逆向题 CRACKME、BABYRE、EASYHOOK 的解题思路
- 170706 逆向-南邮CTF平台(1-3)
- 170818 逆向-南邮CTF(WxyVM2)
- 一道逆向CTF题-read asm详解
- 实验吧CTF逆向题1000writeup
- 逆向CTF (linux)
- CTF dotNet逆向分析
- 合天网安实验室CTF练习赛之逆向题
- 传输层 和网络层的区别
- 110.Minimum Path Sum
- 《机器学习实战》第十章
- Redis提供的持久化机制
- 人脸识别之人脸检测(十五)--改进版VJ人脸检测(LBP特征,VISAPP2017)
- 南邮CTF逆向题第六道WxyV2解题思路
- 学籍管理
- Unity3D批量修改纹理
- linux的常用命令
- 分析域名解析的过程
- java 开发模式之十一 : 組合模式
- java--变量比较
- 《剑指offer》在线编程题
- VS生成的C++项目常用目录设置