标签: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}
标签:get res com 硬件 his 技术 长度 img ida
原文地址:https://www.cnblogs.com/chuxinbubian/p/11232651.html