HackPluto's Blog

Traceme动态分析与静态分析

字数统计: 259阅读时长: 1 min
2019/08/06 Share

对Traceme.exe进行分析,我用两种方法分析,动态分析和静态分析

静态分析

首先进入winmain入口函数,然后进入DialogFunc函数,这个函数应该就是这个程序的主体了。

将两个strcpy的内容转成字符串,可以得出要输入的字符要大于长度4。

现在要找出程序对于输入的用户名和序列号是如何处理的,

1
v5 = GetDlgItemTextA(hWnd, 110, &String, 81);

找到了这句话,看到GetDlgItemTextA这个函数就知道他是在获得对话框的内容向数组里存东西,所以可以判断这两个函数是在存储用户名和序列号

进入sub_401340

这个函数就是在将用户名经过加密再和序列号比较
算法也很好看懂,写出python脚本解密

1
2
3
4
5
6
7
8
v2 = [0xC,0xA,0x13,0x9,0x0C,0x0B,0x0A]
passwd = 0
username = "hello"
i = 0
for v3 in range(3,5):
passwd += int(v2[i]) * ord(username[v3])
i += 1
print(passwd)

破解成功

动态分析

使用OD进行动态调试

CATALOG
  1. 1. 静态分析
  2. 2. 动态分析