南邮CTF逆向题第六道WxyV2解题思路
2017-12-24 11:42
507 查看
如题
看提示应该与第四道题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 b
in 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 i
in a:
flag
+= chr(i%256)
print flag
flag:nctf{th3_vM_w1th0ut_dAta}
看提示应该与第四道题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 b
in 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 i
in a:
flag
+= chr(i%256)
print flag
flag:nctf{th3_vM_w1th0ut_dAta}
相关文章推荐
- 南邮CTF逆向题第三道Py交易解题思路
- 南邮CTF逆向题第一道Hello,RE!解题思路
- 南邮CTF逆向题第四道WxyVM解题思路
- 南邮CTF逆向题第五道maze解题思路
- 南邮CTF逆向题第二道ReadAsm2解题思路
- 浙大PAT 2-09. 装箱问题模拟 (解题思路)
- 【HDU4313】 - Matrix - 树状DP Version 思路+解题报告+AC代码【0.4%达成】
- 人见人爱A^B之解题思路
- leetcode解题笔记:backtracking类型解题思路
- 解题思路
- leetCode 13.Roman to Integer (罗马数字转整形) 解题思路和方法
- leetCode 50.Pow(x, n) (x的n次方) 解题思路和方法
- leetCode 55.Jump Game(跳跃游戏) 解题思路和方法
- leetCode 61.Rotate List (旋转链表) 解题思路和方法
- leetCode 66.Plus One (+1问题) 解题思路和方法
- securityoverridehacking challenge 解题思路汇总——Steganography
- 【LeetCode-动态规划】Climbing Stairs【较重要:含dp解题思路套路】
- leetCode 64.Minimum Path Sum (最短路) 解题思路和方法
- 解题思路
- leetCode 75.Sort Colors (颜色排序) 解题思路和方法