(十二)、Crackme

Crackme

攻防世界第40题

 

一、查壳,运行

 

 

NsPack,北斗壳

 

二、脱壳

Esp定律法后单步到这里即是oep

 

 

Dump的话用od插件就可以了,甚至不用自己修复IAT表

 

再次查壳

 

脱壳完成

 

三、IDA静态分析

直接F5大法

 

注意这里:

 

点开byte_402130数组

 

这样一来,思路十分清晰了

一个简单的加密运算罢了

 

四、写出解密脚本

1、提取数组

定义数组->shift + e ->提取数组

 

2、解密脚本

 

byte_402130 = 'this_is_not_flag'

var = [
  0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x08, 0x00,
  0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00,
  0x5C, 0x00, 0x00, 0x00, 0x4A, 0x00, 0x00, 0x00, 0x3D, 0x00,
  0x00, 0x00, 0x56, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00,
  0x10, 0x00, 0x00, 0x00, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  0x01, 0x00, 0x00, 0x00, 0x46, 0x00, 0x00, 0x00, 0x5A, 0x00,
  0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x42, 0x00, 0x00, 0x00,
  0x6E, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x44, 0x00,
  0x00, 0x00, 0x72, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00,
  0x0D, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x3E, 0x00,
  0x00, 0x00, 0x4B, 0x00, 0x00, 0x00, 0x5F, 0x00, 0x00, 0x00,
  0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x4C, 0x00,
  0x00, 0x00, 0x5E, 0x00, 0x00, 0x00, 0x5B, 0x00, 0x00, 0x00,
  0x17, 0x00, 0x00, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x0C, 0x00,
  0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x00,
  0x5B, 0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00
]
flag = ''
for i in range(42):
  flag += chr(var[i*4] ^ ord(byte_402130[i % 16]))

print(flag)

 

五、拿到flag

flag{59b8ed8f-af22-11e7-bb4a-3cf862d1ee75}

 

posted @ 2022-01-28 23:19  TLSN  阅读(12)  评论(0)    收藏  举报