1625-5 王子昂 总结《2017年9月24日》 【连续第357天总结】
A. Reversing.kr-EasyCrack、EasyKeygen、EasyUnpack
B.
EasyCrack
打开程序发现是一个简单的只有文本框和按钮的程序
随便输入后点击按钮,弹窗”incorrect password”
先分析一波,发现无壳C++
拖入OD,断在用户领空后查找刚才显示的字符串
很明显,00401135是错误时的跳转目标,也就是说向上回溯找到几个判断跳转即可
GetDlgItemTextA这个API就是得到文本框内容的调用
下面可以看到进行了字符比较,还有一个call和循环,懒得慢慢跟了 直接IDA走起:
int __cdecl sub_401080(HWND hDlg)
{
int result; // eax@5
CHAR String; // [sp+4h] [bp-64h]@1
char v3; // [sp+5h] [bp-63h]@1
char v4; // [sp+6h] [bp-62h]@2
char v5; // [sp+8h] [bp-60h]@3
__int16 v6; // [sp+65h] [bp-3h]@1
char v7; // [sp+67h] [bp-1h]@1
String = 0;
memset(&v3, 0, 0x60u);
v6 = 0;
v7