码迷,mamicode.com
首页 > 其他好文 > 详细

crackme---攻防世界

时间:2019-07-23 17:12:19      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:get   res   com   硬件   his   技术   长度   img   ida   

首先下载附件之后,查壳

技术图片

虽然什么也没有发现,但是看一下区段就知道,这个是北斗的壳。所以我们首先载入od开始把壳脱掉

技术图片

这里面也可以看到pushfd和pushad是北斗壳的特征

这里面我使用是esp定律脱壳,当然也可以使用f8单步,或者镜像法,这里要说一下北斗的壳可以直接下断点at Getversion直接找到OEP

接下来开始脱壳

技术图片

技术图片

技术图片

F9运行到这里,删除硬件断点,之后就可以dump这里要说的是od自带的脱壳工具有的时候不太好用,也可以自己添加,这里就不说了

技术图片

 

 技术图片

脱壳完成继续向下分析,载入ida F12查看

技术图片

交叉引用看一下基本的结构

技术图片

技术图片

技术图片

技术图片

F5看一下

技术图片

这里可以看到我们要输入42 长度的字符串,

技术图片

先对输入的字符串长度进行检测是否是42,接着对输入的字符串进行操作,用python如下

技术图片

serial_1 = "this_is_not_flag"
serial_2 = [0x12,4,8,0x14,0x24,0x5c,0x4a,0x3d,0x56,0xa,0x10,0x67,0,0x41,0,1,0x46,0x5a,0x44,0x42,0x6e,0x0c,0x44,0x72,0x0c,0x0d,0x40,0x3e,0x4b,0x5f,2,1,0x4c,0x5e,0x5b,0x17,0x6e,0xc,0x16,0x68,0x5b,0x12,0x48,0x0e]
result = ""
for i in range(42):
    result += chr(serial_2[i] ^ ord(serial_1[i%16]))
    print(result)

这里的flag为flag{59b8ed8f-af22-11e7-bb4a-3cf862d1ee75}

 

crackme---攻防世界

标签:get   res   com   硬件   his   技术   长度   img   ida   

原文地址:https://www.cnblogs.com/chuxinbubian/p/11232651.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!