掘安杯破解wp整理坑点记录

https://download.csdn.net/download/useror/11102888  IDB下载链接 

第二题

enflag=[0x62, 0x49, 0x77, 0x68, 0x72, 0x6F, 0x6F, 0x38, 0x63, 0x77,0x71, 0x67, 0x77, 0x72, 0x78, 0x75, 0x73, 0x69]

v1=[]
v2=[]
v3=[]
v7=18
flag=''

for i in range(0,len(enflag),3):
    v3.append((enflag[i]^v7)-6)
    v2.append((enflag[i+1]^v7)+6)
    v1.append(enflag[i+2]^v7^6)

print(v7/3)
for j in range((v7/3)):
    flag+=chr(v3[j])+chr(v2[j])+chr(v1[j])
    print(flag)

此处学到2个坑点

 

IDA使用快捷键Shift+E进行字符串提取的时候 在C下会默认提取到结束字符串‘0x00’ 在使用python进行字符串填充的时候要删掉

  Python2与Python3在操做除法的时候会有不同 Python3会默认为浮点型 需要注意版本的选择

第三题 Re_crypto

 在获取文件之后第一意识应该先去查看文件的格式信息,此处由于直接去丢到IDA里没有发型UPX壳 思考去混淆浪费了一定时间

52破解虚拟机里运行的时候不能运行程序,而且使用它的三款脱壳机脱出来的东西有问题,但使用UPX Shell搞出来的8KB文件没有问题。。

010文件对比显示两个脱壳有大量不一样,初步怀疑是由于脱壳引擎的版本不一样导致的。此处有时间需再研究

使用OD全手脱,不使用修复工具修复OD默认修复的文件大小是38KB IDA中可正常显示,此处也有问题。

计算首尾值 新建数组(选取数据不建立数组也可以) Shift+E提取字符串

  不可以乱改数组长度 会出现误会~~这里就出现了多了字节的情况

而且在伪c界面出现不识别

flag = ""

v4 = 0
while(1):
    v8 = b[2 * v4]
    if (v8 < 48 | v8 > 57):
        v9 = v8 - 87
    else:
        v9 = v8 - 48
    v10 = b[2 * v4+1]
    v11 = 16 * v9
    if ( v10 < 48 | v10 > 57 ):
        v12 = v10 - 87
    else:
        v12 = v10 - 48

    for v5 in range(0,127):     #v5从ASCII表中遍历取值爆破
        v6 = (v5 >> 4) % 16
        v7 = (16 * v5 >> 4) % 16
        if a[16 * v6 + v7] == (v11 + v12) ^ 0x19:
            flag += chr(v5)
            break

    v4 += 1

    if (v4 >= 35):
        break
print(flag)

   在IDA中可以通过选择 然后Shift+E来实现数据提取 不用添加修改数组也行

   

  这个就是个坑~

   

  

第6题

   

   手动添加数据快捷键Shift+Ctrl+I

猜你喜欢

转载自blog.csdn.net/useror/article/details/89083107
今日推荐