南邮wp(一)

南邮wp

 南邮ctf

1.Hello,RE!

用IDA打开,f5反编译,可见变量都是一些数字


选中数字,按R键,转换为字符串,可发现v5是flag的倒序,把剩下的变量用r键转换为字母,得到flag{Welcome_To_RE_World!}

2.ReadAsm2

打开func,读


注意点:

1.4004e6: 55                    push   rbp

   4004e7: 48 89 e5              mov    rbp,rsp

两句话是用来保存栈环境,方便在当前调用的函数返回后返回之前的函数

2.X86_64环境中,默认rdi,esi存储第一、二个参数,第三、四句把寄存器里的参数存到内存里,存到当前栈空间

3.(1)PTR 指针(pointer)

没有寄存器名时, X ptr 指明内存单元的长度,X 在汇编指令中可以为word 或 byte 。

(2)movsxd 指令

将32位的寄存器和内存操作数符号扩展到64位的寄存器

(3)逻辑异或运算指令XOR

XOR OPRD1,OPRD2 实现两个操作数按位‘异或’(异为真,相同为假)运算,结果送至目的操作数中.

OPRD1 <-- OPRD1 XOR OPRD2

(4)JLE   小于等于时转移

func函数部分进行的操作是

遍历数组,将一个值和该值索引号异或


3.py交易

在线pyc文件逆向

逆向后代码

注:x = ord(i) ^32                  #将输入的字符串中每个字符ascii码都与32进行异或运算

所以将correct解码后,减16,ascii码与32位异或运算得出flag


结果

flag是nctf{d3c0mpil1n9_PyC}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 13.4.7 HTML5事件 DOM规范没有涵盖所有浏览器支持的所有事件。很多浏览器处于不同的目的一一满足用户需求...
    kathyever阅读 3,382评论 0 0
  • js的基本语法,流控制语句,通过js来控制网页中的元素,如何与浏览器窗口进行交互 js基础 了解什么是js js是...
    7183阅读 906评论 0 0
  • 【摩西将这话告诉以色列人,只是他们因苦工愁烦,不肯听他的话。(出埃及记 6:9)】 1.认知:耶和华晓谕摩西要带领...
    麦子没熟阅读 8,398评论 0 0
  • 这是一天中最惬意的时刻,疲惫的身躯沉浸在柔软舒适的大床上,枕边飘荡着悦耳的音乐,电台主持人还会用富有磁性的声音读一...
    法棍老人阅读 4,411评论 0 11

友情链接更多精彩内容