希望各位高手进来,将这个段代码转换成AU3,造福网通用户。(已解决)
本帖最后由 gzh888666 于 2011-1-10 12:00 编辑好不容易才找到的
联通(原网通)宽带我世界ADSL账号加密算法c++
PHP代码
function CNCMAXEncode($input)
{
$DicStr = "9012345678abcdeABCDEFGHIJKLMNfghijklmnUVWXYZxyzuvwopqrstOPQRST";
$DicB = 0x11;
$DicB = 0x34;
$DicB = 0xC9;
$DicB = 0x23;
$DicB = 0x75;
$DicB = 0x18;
$DicB = 0xD7;
$DicB = 0xE2;
$DicB = 0x12;
$DicB = 0x35;
$DicB = 0x29;
$DicB = 0x2B;
$DicB = 0xEC;
$DicB = 0xB6;
$DicB = 0x23;
$DicB = 0x19;
$num4 = 0x25;
$di = $var2 = $index = $var3 = 0;
$outstr = "";
for($i=0; $i<strlen($input ); $i++)
{
for($j=0; $j<strlen($DicStr); $j++)
{
if($input[$i] == $DicStr[$j])
{
if($i>=0x10)
{
$di = $DicB[$i % 0x10];
}
else
{
$di = $DicB[$i ];
}
$var2 = $num4 * 3;
$index = ((($di ^ $var2) ^ $var3) + $j) % 0x3e;
$outstr[$i] = $DicStr[$index];
$var2 = $index;
$num4 = $num4 ^ ($var2 + 0x24d9);
}
}
if (empty($outstr[$i])) $outstr[$i ] = $input[$i];
$var3 = $var3 + 5;
}
$out = "";
for($j=0; $j<sizeof($outstr); $j++)
{
$out = $out.$outstr[$j];
}
return "1:".$out;
} 这个是做啥用啊, 我是网通宽带, 不知道这玩意能有什么作用。 该代码换成AU3貌似难度不大,不过不知道能干啥… 回复 3# fhp2009
这东西转成AU3能干什么呢???....{:face (87):} 干什么用的? 这个是网通的加密原理,破解出来以后就可以知道真正的用户名了! 这个是网通的加密原理,破解出来以后就可以知道真正的用户名了! 自己顶一下别沉了! ^ 是位运算中的“相异”符号,对应AU3中的BitXOR函数。% 是取余符号,对应AU3的Mod函数。其余的都一样了,自己转换吧。 本帖最后由 gzh888666 于 2011-1-6 22:28 编辑
回复 9# pusofalse
}
欢迎P版来!
}这个是干什么的?实在是没有一点C++的基础!自己转比较困难呀! 你现在到底是要加密还是解密? 我想你要的应该是解密吧? 是的!解密。网通的用户名都是加密了的! 解密的话应该贴解密的函数 你贴的是加密的函数 没测试 你自己测试下
Func CNCMAXEncode($input)
$DicStr = "9012345678abcdeABCDEFGHIJKLMNfghijklmnUVWXYZxyzuvwopqrstOPQRST"
Dim $DicB
$DicB = 0x11
$DicB = 0x34
$DicB = 0xC9
$DicB = 0x23
$DicB = 0x75
$DicB = 0x18
$DicB = 0xD7
$DicB = 0xE2
$DicB = 0x12
$DicB = 0x35
$DicB = 0x29
$DicB = 0x2B
$DicB = 0xEC
$DicB = 0xB6
$DicB = 0x23
$DicB = 0x19
$num4 = 0x25
$di = $var2 = $index = $var3 = 0
Dim $outstr
$outstr = ""
For $i = 0 To StringLen($input) - 1
For $j = 0 To StringLen($DicStr) - 1
If $input[$i] == StringMid($DicStr,$j+1,1) Then
If $i >= 0x10 Then
$di = $DicB
Else
$di = $DicB[$i]
EndIf
$var2 = $num4 * 3
$index = Mod((BitXOR(BitXOR($di, $var2), $var3) + $j), 0x3e)
$outstr[$i] = StringMid($DicStr,$index+1,1)
$var2 = $index
$num4 = BitXOR($num4, $var2 + 0x24d9)
EndIf
Next
If $i >= UBound($outstr) Then
ReDim $outstr[$i]
$outstr[$i] = $input[$i]
EndIf
$var3 = $var3 + 5
Next
$out = ""
For $k = 0 To UBound($outstr) - 1
$out = $out & $outstr[$k]
Next
Return "1:" & $out
EndFunc ;==>CNCMAXEncode
Func CNCMAXDecode($string)
$src_temp = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
If StringMid($string, 1, 2) = "2:" Then $string = StringMid($string, 3)
$TempString = $TempString1 = ""
For $j = 0 To StringLen($string)
For $i = 0 To 61
$TempString = $TempString1 & StringMid($src_temp, $i + 1, 1)
If CNCMAXEncode($TempString) = StringMid($string, 1, $j) Then
$TempString1 = $TempString
ExitLoop
EndIf
Next
Next
Return $TempString1
代码学习一下....
页:
[1]
2