能力值:
( LV2,RANK:10 )
|
-
-
2 楼
PWD……Password么。。。用户SA…
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
干嘛不直接把加密和解密的那个模块给找到。直接调用游戏自带的加解密函数不是更好吗?
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
貌似只有解密的 就是没找到 加密的....
我想改下密码 再 加密....
|
能力值:
( LV4,RANK:50 )
|
-
-
5 楼
这个算法逆回去还挺麻烦 直接HOOK读文件吧
|
能力值:
( LV8,RANK:130 )
|
-
-
6 楼
一看就是字符串编码,有可能是base64的变形
|
能力值:
( LV8,RANK:130 )
|
-
-
7 楼
倒
sub dl, 3B
6bit编码
|
能力值:
( LV8,RANK:130 )
|
-
-
8 楼
0040E150 编码函数
0040DFD0 解码函数返回值CString
自己把汇编取出来直接使用就是了,不用逆向成C语言
|
能力值:
( LV8,RANK:130 )
|
-
-
9 楼
倒,这东西有些乱,是四字节分组进行编码。
第一字节与四字节进行编码,然后是第二字节与三字节进行编码,编码后加上0x3B成为字符串
|
能力值:
( LV8,RANK:130 )
|
-
-
10 楼
弄出来了,费时30多分钟
果然是编码,不过这编码编得有些奇怪,估计是作者乱写的一个编码吧
#include "stdafx.h"
#include "windows.h"
int Decode( const char* input,char* ouput )
{
int len;
int out = 0;
BYTE b0,b1,b2,b3;
len = lstrlenA(input);
for( int i = 0;i<len/4;i++)
{
b3 = input[i*4+3]-0x3b;
b2 = input[i*4+2]-0x3b;
b1 = input[i*4+1]-0x3b;
b0 = input[i*4+0]-0x3b;
ouput[out++] = ((b0&3)|((b0&0xfc)<<2)|(b3&0x0c))^0xeb;
ouput[out++] = (((((b1^b3)&3)^b1)<<2)|(b1&3))^0xeb;
ouput[out++] = (b2 | (b3&0xf0)<<2)^0xeb;;
}
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
char lpBuffer[MAX_PATH] = {0};
Decode( "^`=i`]Tjq_Ua^nSa]`Xi]`Ky_]Tf`]TjqnB_[[Ea^mKo^]Zi]\\Ee_]Qv][Ce[a@bboygefQn_]KujgjfqqYoo\\XvrqJgqoH]]qMs]^Sz\\\\Vz]]Wv]pCjp[Ie\\rYu",lpBuffer);
return 0;
}
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
太牛了,这得怎么分析呀,有点崇拜的感觉
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
真牛!呵……。学习了
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
能帮忙 出个 加密的 就更好 了..
|
能力值:
( LV8,RANK:130 )
|
-
-
14 楼
倒,贪心不足,自己写去
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
|
能力值:
( LV12,RANK:200 )
|
-
-
16 楼
私服的登录器而已
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
这个是传奇世界的帐号网关。网上的N多的源代码,里面的加解密函数都可以用。EnCodeString和DeCodeString这两个函数就是了。
|
|
|