好友
阅读权限10
听众
最后登录1970-1-1
|
这个程序太弱了 无壳 无反调试 无花 算法垃圾到了极点 无p-code 所以分析起来 十分简单 十分适合我等菜鸟 爆破十分简单 今天简略分析下算法吧 字符串搜索 貌似还能找到搜索字符串的程序 很罕见啊 在字符串搜索里可以轻易找到重启验证的关键函数和注册按钮的消息响应函数 代码分析就可以了
算法流程 伪代码
char key[256]={1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,}; 输入的假码
for(i=;i<=0xf;i++)
{
if(key[i]=='W')[ebp-34] =FFFF
if(key[i]=='D') [ebp-38] =FFFF
if(key[i]=='8')[ebp-3c] =FFFF
if(key[i]=='6') [ebp-40]=FFFF
}
然后是分别和全局的4个字符串进行比较
跳转
然后就到了下面这里
00741E04 . 66:837D C4 FF cmp word ptr ss:[ebp-0x3C],0xFFFF
00741E09 . 0F85 B0030000 jnz PDFQNZH.007421BF ; 跳向失败
00741E0F . 66:837D CC FF cmp word ptr ss:[ebp-0x34],0xFFFF
00741E14 . 0F85 A5030000 jnz PDFQNZH.007421BF ; 跳向失败
00741E1A . 66:837D C0 FF cmp word ptr ss:[ebp-0x40],0xFFFF
00741E1F . 0F85 9A030000 jnz PDFQNZH.007421BF ; 跳向失败
00741E25 . 66:837D C8 FF cmp word ptr ss:[ebp-0x38],0xFFFF
00741E2A . 0F85 8F030000 jnz PDFQNZH.007421BF ; 跳向失败
上面跳转NOP 就注册成功了 重启后 也是注册成功的
因为在下面的代码 会写入数据到sound.dll中
重启验证机制 也就是读取sound.dll中末尾两个字符 是否等于"kk" 真就注册成功 否就未注册
注册输入64位只要每16位中包含WD86 (顺序无所谓)这4个字符就可以注册成功
例如:
WD86WD86WD86WD86WD86WD86WD86WD86WD86WD86WD86WD86WD86WD86WD86WD86
鄙人简略分析 尚有不足之处 还望高手赐教
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|