Ransomware

1.丢入IDA分析

定位到关键函数DialogFunc,可以发现在这里对输入的密码进行判断并弹窗,这里首先判断输入长度是否为18,发现关键代码sub_401010对于输入参数内容进行比较

2.进入sub_401010

很简单的一个异或操作,对于每个字节都与0xCC进行异或,并于data段404000地址的数据进行比较,双击word_404000函数跟踪分析


这里便存储着相应数据

以十六进制显示内存数据

bingo,这就是我们的目标数字

3.poc

可以开始编写我们的脚本了



result = [0xFD,0x93,0xA8,0x83,0x93,0xA2,0xFC,0xB8,0x93,0xBB,0x8D,0xA2,0xA2,0xAD,0x93,0xAF,0xBE,0xB5]

print(result)

plain = ""

for index,item in enumerate(result):
    plain += chr((item ^ 0xCC) )

print(plain)

4.拿到flag

你可能感兴趣的:(Ransomware)