本文最后更新于337 天前,其中的信息可能已经过时,如有错误可以直接在文章下留言
是一道攻防世界里面的Reverse方向的题目,打开压缩包给的.exe可执行文件,然后提示脱壳,如图
那就直接脱壳,脱壳如图
再用IDA打开,在Strings window看到了一部分的flag,显示是f_part2
应该还有part1,在IDA用Alt+T查找part,找到part1
进入汇编代码阶段,用R把数字数据转化为字符串,如图
汇编语言暂时还没学完,不过这里很明显字符串反过来就是flag{UPX
注意后面的’n4_’应该也是flag的一部分
所以flag应该为flag{UPX_4nd_0n3_4nd_tw0}
这里为什么字符串会反过来估计是涉及一个小端序存储(Little Endian)
看这篇文章
数据存储:小端模式和大端模式——终于搞明白了!!!_小端读取-CSDN博客
其实学了汇编语言的栈段也会更好的理解这个。
小端序存储就是低位对应低地址,高位对应高地址