- UID
 - 901
 
 注册时间2005-4-13
阅读权限40
最后登录1970-1-1
独步武林 
   
 
 
 
TA的每日心情  | 奋斗 2024-10-30 21:11 | 
|---|
 
  签到天数: 453 天 [LV.9]以坛为家II  
 | 
 
 
发表于 2006-7-14 12:00:18
|
显示全部楼层
 
 
 
原帖由 saml 于 2006-5-4 19:00 发表 
請教前輩如何注冊,解壓到同一目錄,仍然不行,謝謝!   
测试一下,果然注册机是无效的!哈,网上怎么会流传一些未经测试成功的注册机呢?? 
不过你也不要担心,我提供一个方法: 
UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo 
Microsoft Visual Basic 5.0 / 6.0 
输入假注册码,即弹出:注册失败,请重新运行进行注册! 
脱壳之后,UPX壳很容易就脱了啦。 
我跟踪了一下这个软件,发现算法还蛮复杂的,可惜是明码比较!! 
开始的早候,依据C盘序列号生成机器码,然后依次取机器码…… 
如下: 
机器码:1641018648072878 
转换:49545249484956545256485550565556 
看看它们的对应关系。这其实是返回相应机器码的ASCII码(十六进制)的十进制形式,然后依次连接。 
机器码                 相应ASCII值              对应的十进制值 
1-------------------------31---------------------------49 
然后以这个长字符串进行了一个加密算法,太长,惨不忍睹! 
我得到: 
“5VK5U5407Z0S6CFN7XON0UZK4S94N6V19Z662ELCEB26H9C39JAW69X35YM81YF33BR01KJ99DSKRGI11B424FV3IRY948R37851" 
从这里再取字符并运算,不敢看了。 
得到真的注册码D50I1LE90MS87908,注册码为16位。 
 
你脱壳后,在0045A14D处下断,可以看到刚刚生成的真注册码。 
以下是比较真假过程: 
00462ADD    .  50                push eax                                          //真注册码压栈 
00462ADE    .  8B45 E4           mov eax,dword ptr ss:[ebp-1C]  //假注册码 
00462AE1    .  50                push eax                                          //假注册码压栈 
00462AE2    .  FF15 34114000     call dword ptr ds:[<&MSVBVM60.__v>;  MSVBVM60.__vbaStrCmp   //非常经典的VB比较函数 
 
本想用C++写个注册机,可是一看到VB就头疼!!不敢在上面耗时间了。 
再次声明,上面的注册机无效!!! 
再次声明,就不要发无效的注册机,误人子弟。 
否则会使我们的论坛失去民心。字缺勿滥! |   
 
 
 
 |