分析
通过行为分析,发现这个提示对话框应该是modal dialog性质的messagebox.在win32 api中,好像有doModalDialog和MessageBox的函数,由于界面相关操作的api...只有一个线程,看来它比对注册码应该也是这个线程里.
再仔细看一下栈:
0006fc7000407c8d 000d0226 0006fcac 005bc3dcUSER32!...00000002 Insight3+0x7ec5
而由windbg显示堆栈的第二列数据是返回地址,指向调用者函数的下一条指令可知,
0006feac00448c3c 0053e96c 00000001...在调用sub_448F37的地址00448BD9打断点,看一下sub_448F37的参数值是什么?
?
可以看到,sub_448F37确实是校验注册码的地方....通过对sub_448F37里面的一系列过程逆向,可以找出42万个注册码.有这样的特征:
SI3US-XXXXXX-YYYYY
其中X和Y可以是任意数字.必须有六个X,五个Y.