自学逆向有段时间了,今天来一帖!直接进入正题:安装飞信,登录飞信,制造一点聊天记录。在 C:\Users\%用户名%\Documents\Fetion\"飞信号" 路径下发现了一个文件 V5_History.dat (可以在飞信设置里面点击打开历史记录文件位置直接过去)看名称就知道啦,飞信数据库文件就是这货。UE打开观察此文件,一看就知道肯定经过加密的。不做多的解释
[C++] 纯文本查看 复制代码
view source
print?
01
* - 将解密的数据库文件放入系统临时目录
02
*/
03
int IS_FetionV5History::DeCryptFetionDB()
04
{
05
HCRYPTPROV hProv = NULL;
06
HCRYPTHASH hHash = NULL;
07
LPCTSTR lpszPwd = (LPCTSTR)szFetionNum;//密码,飞信号
08
HCRYPTKEY hKey = NULL;
09
10
CryptAcquireContext(&hProv, 0, "Microsoft Enhanced Cryptographic Provider v1.0", 1, 0xF0000000);
11
CryptCreateHash(hProv,0x8004,0,0,&hHash);
12
CryptHashData(hHash,(const BYTE *)lpszPwd,strlen((const char *)lpszPwd),0);
13
CryptDeriveKey(hProv,0x6801,hHash,0,&hKey);
14
CryptDestroyHash(hHash);
15
16
/**************************************************************/
17
HANDLE pInFile,pOutFile;//文件句柄
18
DWORD dwReadLen = 0x400 ,dwReadSize ,dwWriteSize;//想要读取的数据长度;实际读取文件大小;实际写入数据
19
20
{//打开源文件
21
pInFile = ::CreateFile(strEvidencePath.c_str(), GENERIC_READ, 0, NULL, OPEN_EXISTING,
22
FILE_ATTRIBUTE_NORMAL | FILE_ATTRIBUTE_READONLY, NULL); //用这个函数比OpenFile好
23
if( pInFile == INVALID_HANDLE_VALUE)
24
{
25
CloseHandle(pInFile); //一定注意在函数退出之前对句柄进行释放。
26
return -1;
27
}
28
}
29
{//打开写入文件
30
pOutFile = ::CreateFile(strDstPath.c_str(), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,
31
FILE_ATTRIBUTE_NORMAL, NULL); //用这个函数比OpenFile好
32
if( pOutFile == INVALID_HANDLE_VALUE)
33
{
34
CloseHandle(pOutFile); //一定注意在函数退出之前对句柄进行释放。
35
return -1;
36
}
37
}
38
/**************************************************************/
39
BYTE szBuf[0x400 + 1] = {0}; //__in__out 输入加密内容,输出解密后内容
40
41
//循环读取文件
42
do
43
{
44
ReadFile(pInFile, szBuf, dwReadLen, &dwReadSize, NULL);
45
46
if (dwReadLen < dwReadSize)
47
CryptDecrypt(hKey,0,TRUE,0,szBuf,&dwReadLen);
48
else
49
CryptDecrypt(hKey,0,TRUE,0,szBuf,&dwReadSize);
50
//写入文件
51
WriteFile(pOutFile,szBuf,dwReadSize,&dwWriteSize,NULL);
52
53
memset(szBuf,0,0x400 + 1);
54
}while( dwReadSize == dwReadLen);
55
56
CloseHandle(pInFile);
57
CloseHandle(pOutFile);
58
return 0;
59
}//DeCryptFetionDB()
https://www.0xaa55.com/forum.php?mod=viewthread&tid=1787&extra=page%3D1
- 堆栈(顺序栈)的创建,栈满与栈空判断,入栈,出栈等操作(C语言)目录 一、堆栈的结构体定义 二、堆栈的操作 1.创建一个空栈 2.栈满与栈空判断 3.入栈操作 4.出栈操作 一、堆栈的结构体定义 //重命名,可根据...
- 茶树菇的做法美食天下 - 让吃更美好! 菜谱 · 食材 · 专题 · 关于我们 · 联系我们 · 服务声明 · 客户端 © 2004-2025 宁波小悦科技有限公司 保留所有权利 - 浙...
- 天地劫幽城再临:迷雾之渊限时挑战 活动名称:天地劫幽城再临:迷雾之渊限时挑战 活动时间:2025年7月9日 - 2025年8月8日 活动详情: 《天地劫幽城再临》是一款以中国古代神话为...
- 2024全国英语六级准考证号忘了怎么查(出分时间+查分入口)2024全国英语六级准考证号忘了怎么查 方法一:已支持“考生姓名+身份证件号码”的成绩查询方式,成绩查询结果中将有准考证号。 方法二: ...
- 《穿越火线》怎么切换武器?在《穿越火线》中,切换武器有以下几种常见的方法: 一、使用快捷键切换武器 Q键: 按下Q键可以切换到上一次使用的武器。例如,如果你当...
- 交管12123查违章怎么查?教会你几种方法!日常开车少不了对爱车了如指掌,作为车主手机里的 “必备神器”,交管 12123APP 早已成为处理交通事务的核心工具 —— 无论是处理违章罚单、...
- 浙中游戏-连连看2025年5月14日盛大开启,挑战你的眼力与手速!亲爱的玩家们,我们非常高兴地宣布,浙中游戏-连连看将于2025年5月14日正式启动一场激动人心的游戏活动!这是一场专为连连看爱好者设计的...
- 按照官方文档测试通过!在银河麒麟操作系统上安装字体 操作系统中常见字体文件分为OpenTypeFontdata类型(xxx.otf),TrueTypeFontdata类型(xxx.ttf或xxx.TTF)以及TrueTypeCollection(xxx.ttc)。 TTF是Apple公司和Micr...
- 代号47:出击之全球终极挑战赛活动名称:代号47:出击之全球终极挑战赛活动时间:2025年4月22日-2025年5月22日活动详情:《代号47:出击》是一款以近未来战争为背景的大型3D...
- 2025划爆大作战——指尖上的速度与激情 活动详情: 亲爱的玩家,备受期待的划爆大作战活动即将来袭!本次活动将于2025年4月8日正式开启,持续至2025年6月8日,为期两个月。这是一...