分类分类
关注+2004-10-15作者:蓝点
注册形式:序列号/用户名/注册码
限制:试用一百次左右,未注册版最多可记录五十次交易记录
难度点评:初级、变态形
声 明:偶不是搞汉化的那个、注册名一大一小(Yy)搞汉化的那谓两个大大(YY)别弄错嘎!
对本解析的惊喜打击~~~概不负责
=======================================================================================
东东用ASProtect_1.2X加壳、可自动或手动脱掉、运行跳出个窗口说有毒~~~靠~~~有呕像味
把 42DA91 的 7434 改为 EB34 运行、又跳出个数据库密码登陆窗口~~~再靠一下、Cancel掉
再出个什么鸟就不搞了~~~倒~~~注册提示窗口、进去、发现加载后主窗口的内容少了点东东
这个东东算法重点在重启验证、软件注册那里、取硬盘型号、硬盘ID、转换为序列号、并判断注册码形式及位数、把相关的信息写入注册表 注册码形式是这样 ****-****-****
=======================================================================================
***算法解析***重启验证***
=======================================================================================
这个东东比较烦、反复调用变态MD5算算算、对付的办法就是在变态MD5初始化那里设断、想看的信息会随着程序的流程显现出来、只要弄懂前后的变换算法就能搞定。
---------------------------------------------------------------------------------------
***注册码变换算法***(填入注册码 => 1234-ABCD-5678)
-----------------------------------------------------
3412 CDAB 7856 => 0097FBC8 34 12 CD AB 78 56
3412<<=1;==6825
12cd<<=1;==259b
cdab<<=1;==9b56
ab78<<=1;==56f0
7856<<=1;==f0ac
5634<<=1;==AC68
6825 9B56 F0AC => 0097F9A0 68 25 9B 56 F0 AC
=> 0097FBC8 68 25 9B 56 F0 AC
6825<<=1;==d04a
259B<<=1;==4b36
9B56<<=1;==36ac
56F0<<=1;==ade0
F0AC<<=1;==e158
AC68<<=1;==58d0
<= 逆运算密文 3 2 1 逆推回去得出注册码
D04B AD36 E158 => 0097FBC8 D0 4B 36 AD E1 58
调用变态MD5算出三组最终注册码密文 <= 不可逆
=======================================================================================
序列号 变换算法 =>
====================
00420A30 <= 取硬盘型号、取硬盘ID
1:取硬盘型号调用算法1 算出硬件代码计算常量前四位
2:取硬盘 ID 调用算法1 算出硬件代码计算常量后四位
3:硬件代码计算常量 => 0x564B9D85 => 转换为系列号
0x564B9D85^=0x12345678;==0x447FCBFD
0097F640 FD CB 7F 44
FDCB<<=1;==fb96
CB7F<<=1;==96fe
7F44<<=1;==fe89
44FD<<=1;==89FB
0097F344 FB 96 FE 89 <= 系列号
系列号 <=> 硬件代码计算常量 <= 互逆
~~~什么、逆不回去!那就在下面的点位设断 =>
004210C8 . 8B45 98 MOV EAX,DWORD PTR SS:[EBP-68] <= 硬件代码计算常量
004210CB . 8945 9C MOV DWORD PTR SS:[EBP-64],EAX <= 硬件代码计算常量
==========================-------------------------------------------------------------
序列号+用户名 变换算法 =>
===========================
1:用户名转换为大写
2:硬件代码计算常量+用户名 调用 变态MD5+128位转换得出逆运算密文1
0097FA2C 85 9D 4B 56 00 59 59 5B 43 43 47 5D <= 厺KV.YY[CCG]
变态MD5运算结果 =>
0097FA14 |3906DB74
0097FA18 |02CDEF80
0097FA1C |3DDDBF94
0097FA20 |8898E7D3
128位转换 => 0097FB66 0A 92 <= 逆运算密文1
---------------------------------------------------------------------------------------
3:用户名+硬件代码计算常量 调用 变态MD5+128位转换得出逆运算密文2
0097FA2C 59 59 5B 43 43 47 5D 00 85 9D 4B 56 <= YY[CCG].厺KV
变态MD5运算结果 =>
0097FA6C 0226F32C
0097FA70 F79858DA
0097FA74 45813EE3
0097FA78 78E64F34
128位转换 => 0097FB66 F0 29 <= 逆运算密文2
---------------------------------------------------------------------------------------
4:逆运算密文1+逆运算密文2 调用 变态MD5+128位转换得出逆运算密文3
0097FB74 0A 92 F0 29
变态MD5运算结果 =>
0097FA14 |3B48F5D4
0097FA18 |5A8C4FCD
0097FA1C |5B7BBC47
0097FA20 |93BBDD1C
128位转换 => 0097FB66 1B 64 <= 逆运算密文3
---------------------------------------------------------------------------------------
5:逆运算密文 1 2 3 调用 变态MD5算出三组最终硬件密文 <= 不可逆
---------------------------------------------------------------------------------------
6:最终硬件密文 和 最终注册码密文 对比后得出注册结果
=======================================================================================
***算法描述***
=======================================================================================
算法 => 1:(128位转换、硬盘型号转换、硬盘ID转换)
-------------------------------------------------
h1(*p)
{
把p[]=“E7D0C697F6F28CDA434DDAD160244AB8” 转换为这样 =>
t[]={E7 D0 C6 97 F6 F2 8C DA 43 4D DA D1 60 24 4A B8};
***(硬盘型号转换、硬盘ID转换)不用上面的转换***
k=0xffffffff;
t1=0x00000000;
for(i=0;i<strlen(t)或者用strlen(p);i++)
{
t2=0x00000080;
t1=t[i];或者用t1=p[i];
for(;t2!=0;)
{
k1=k;
k1&=0x8000;
k+=k;
t4=t1&t2;
if(t4==0x0) t3=0x00000000,k|=t3;
else t3=0x00000001,k|=t3;
if(k1==0x0) t2>>=1;
else k^=0x1021,t2>>=1;
}}
return (k);}
=============--------------------------------------------------------------------------
变态MD5设置
=============
MD5算法 网上搜噎吓就是一堆 (略)
A=0x76543210;B=0xFEDCBA98;C=0x89ABCDEF;D=0x01234567;
第四轮对换第一轮相应的参数对换掉、其它的接着按顺序调换(4=>1;1=>2;2=>3;3=>4;)
========================================================================================
算法总结:
========================================================================================
1:用户名转换为大写、序列号转换为硬件代码计算常量
2:硬件代码计算常量+用户名 调用 变态MD5+128位转换得出逆运算密文1
3:用户名+硬件代码计算常量 调用 变态MD5+128位转换得出逆运算密文2
4:逆运算密文1+逆运算密文2 调用 变态MD5+128位转换得出逆运算密文3
5:逆运算密文 3 2 1 用注册码变换算法的逆运算反推回去得出注册码
========================================================================================
--------------------------
用户名 <= Yy[CCG]
--------------------------
系列号 <= 89FE96FB
--------------------------
注册码 <= A402-0ABC-D946
--------------------------
========================================================================================
---------------
注册机:(略)
---------------
----------------------------------------------------------------------------------------
如你写出注册机勿大肆传播、哪怕你觉得偶写的这堆东东如同香烟盒上吸烟有害健康的广告、那在你行动之前先考虑清楚~~~
----------------------------------------------------------------------------------------
========================================================================================
====================
--------------------
Yy
--------------------
China Cracking Group
--------------------===========-----------
2002.12.1
-----------
==========================================
相关文章
更多+相同厂商
热门推荐
点击查看更多
点击查看更多
点击查看更多
说两句网友评论