流沙枫 发表于 2013-1-13 21:59:07

这代码是用什么加密的?[已解决]

本帖最后由 流沙枫 于 2013-1-14 15:56 编辑

反谝怎么解密.....AAAAAAAAAADA1gJIAAAAAABoAQAAAAAAQzpcV0lORE9XU1xzeXN0ZW0zMlx0aW1lZGF0ZS5jcGwA

netegg 发表于 2013-1-13 22:08:53

什么都有可能

流沙枫 发表于 2013-1-13 22:10:03

回复 2# netegg


    谢谢啊,虽然等于没说...

zch11230 发表于 2013-1-14 00:18:24

解密需要密钥吧没密钥至少需要多组明文和密文来猜测密钥吧。单独一串文本双非大众的加密方式,当然看不出来了。

annybaby 发表于 2013-1-14 01:01:37

这都看得出,比神仙还牛了~~
更何况,密文和明文也只是相对的,比如说:上面完全有可能是一个密码的明文~

pusofalse 发表于 2013-1-14 04:29:11

很明显这是用base64加密出来的,解密不需要密钥。解密出来的数据,实际长度是0x39个字节。
按ascii显示:
018A000000 00 00 00 00 00 00 00 C0 D6 02 48 00 00 00 00........乐H....
018A001000 68 01 00 00 00 00 00 43 3A 5C 57 49 4E 44 4F.h.....C:\WINDO
018A002057 53 5C 73 79 73 74 65 6D 33 32 5C 74 69 6D 65WS\system32\time
018A003064 61 74 65 2E 63 70 6C 00 00 00 00 00 00 00 00date.cpl........其中的0x4802D6C0很关键,类似这种奇怪的数值,它既不可能是字符串,也不可能是指针或句柄,最有可能的是某段数据的校验和,或者IPv4的地址,再者是GUID,GUID由4个DWORD组成,而每个DWORD都几乎不可能是0。根据数据中有C:\WINDOWS\system32\timedate.cpl字符串,并且根据以往查看PE文件结构时经常看到时间戳标志是0x4XXXXXXX的经验, 所以推断0x4802D6C0是一个时间戳,它和之后的0x00000000,共同组成了一个FILETIME结构,调用FileTimeToSystemTime函数转换为UTC格式后,所显示的日期/时间是1601/1/1 00:02:00.814,星期一。年月日、时分秒、微妙,都符合这个函数的规范,并且1601年1月1日是Windows NT系统开始的计时时间,而且确实是星期一,所以几乎可以肯定这就是正确答案。前面的8个字节全是0,没办法猜解。而0x00016800,对于指针来说它太低了,倒像是一个句柄或是由多个标志位构成的。

haijie1223 发表于 2013-1-14 07:41:54

回复 6# pusofalse


    p侠,这些东西你都怎么学会的?

流沙枫 发表于 2013-1-14 12:59:32

很明显这是用base64加密出来的,解密不需要密钥。解密出来的数据,实际长度是0x39个字节。
按ascii显示:其 ...
pusofalse 发表于 2013-1-14 04:29 http://www.autoitx.com/images/common/back.gif


    大神,谢谢啊....

流沙枫 发表于 2013-1-14 13:08:51

回复 6# pusofalse

1601/1/1 00:02:00.814

全用这个时间做校验,好像这加密也太不安全吧?

流沙枫 发表于 2013-1-14 13:50:28

很明显这是用base64加密出来的,解密不需要密钥。解密出来的数据,实际长度是0x39个字节。
按ascii显示:其 ...
pusofalse 发表于 2013-1-14 04:29 http://www.autoitx.com/images/common/back.gif


FileTimeToSystemTime(__inCONST FILETIME *lpFileTime,__out LPSYSTEMTIME lpSystemTime)

HANDLE hFind;

WIN32_FIND_DATAW wfd; //用于存储文件的相关信息

//wfd变量必须定义,否则当文件存在时,
//将因为没有存储的位置而出现异常
hFind = FindFirstFile(fileName, &wfd);

SYSTEMTIME systemTime;
char systemTimeBuf;
wchar_t wsystemTimeBuf;
FileTimeToSystemTime(&(wfd.ftLastWriteTime), &systemTime);
systemTime.wHour = (systemTime.wHour 8) % 24;   //记着对24取模
sprintf(systemTimeBuf, "%d-%d-%d d:%d:%d", systemTime.wYear, systemTime.wMonth, systemTime.wDay, systemTime.wHour, systemTime.wMinute, systemTime.wSecond);
MultiByteToWideChar(CP_ACP, 0, systemTimeBuf, strlen(systemTimeBuf) 1, wsystemTimeBuf, sizeof(wsystemTimeBuf)/sizeof(wsystemTimeBuf));
::MessageBox(NULL, wsystemTimeBuf, L"末次访问时间", MB_OK);

在au3里可以直接用FileTimeToSystemTime函数?

pusofalse 发表于 2013-1-14 14:07:48

回复 10# 流沙枫


    可以,参考Date.au3。

回复 9# 流沙枫


    用base64加密任何数据都不安全,除非你用它加密一串类似MD5这样不可逆的hash,但已经用了MD5,就没有必要再用base64了。

流沙枫 发表于 2013-1-14 15:14:23

回复流沙枫


    可以,参考Date.au3。

回复流沙枫


    用base64加密任何数据都不安全, ...
pusofalse 发表于 2013-1-14 14:07 http://www.autoitx.com/images/common/back.gif


    再次谢谢大神了....

pusofalse 发表于 2013-1-14 15:28:23

回复 12# 流沙枫


    你别那样叫我。

流沙枫 发表于 2013-1-14 15:56:16

回复流沙枫


    你别那样叫我。
pusofalse 发表于 2013-1-14 15:28 http://www.autoitx.com/images/common/back.gif

呵呵,那叫版主?

webberliuwei 发表于 2013-1-15 17:05:49

牛人.......................
页: [1] 2
查看完整版本: 这代码是用什么加密的?[已解决]