📄 unit_dllmain.pas
字号:
begin
if (y > 141) and (y < 183) then
result := '无影(成都)'
else if (y > 183) and (y < 225) then
result := '龙焰(成都)'
else if (y > 225) and (y < 267) then
result := '狂雷(成都)'
else if (y > 267) and (y < 309) then
result := '火云(成都)'
else if (y > 309) and (y < 351) then
result := '云开(昆明)'
else if (y > 351) and (y < 393) then
result := '天阙(昆明)'
else if (y > 393) and (y < 435) then
result := '大理(昆明)'
else if (y > 435) and (y < 477) then
result := '丽江(昆明'
else
result := '未知';
end
else if Logo = '传奇(61区)' then
begin
if (y > 267) and (y < 309) then
result := '武林(吉林)'
else if (y > 309) and (y < 351) then
result := '江湖(吉林)'
else
result := '未知';
end
else if Logo = '传奇(62区)' then
begin
if (y > 225) and (y < 267) then
result := '光武(南阳通信)'
else if (y > 267) and (y < 309) then
result := '洛阳(洛阳通信)'
else if (y > 309) and (y < 351) then
result := '藏龙(漯河通信)'
else if (y > 351) and (y < 393) then
result := '太原(太原通信)'
else
result := '未知';
end
else if Logo = '传奇(63区)' then
begin
if (y > 225) and (y < 267) then
result := '鲲鹏(长春)'
else if (y > 267) and (y < 309) then
result := '海威(长春)'
else if (y > 309) and (y < 351) then
result := '格雷(长春)'
else if (y > 351) and (y < 393) then
result := '红日(长春)'
else
result := '未知';
end
else if Logo = '传奇(64区)' then
begin
if (y > 225) and (y < 267) then
result := '长命(北京)'
else if (y > 267) and (y < 309) then
result := '百岁(北京)'
else if (y > 309) and (y < 351) then
result := '四季(上海)'
else if (y > 351) and (y < 393) then
result := '平安(上海)'
else
result := '未知';
end
else if Logo = '传奇(65区)' then
begin
if (y > 225) and (y < 267) then
result := '鼓楼(福州)'
else if (y > 267) and (y < 309) then
result := '仓山(福州)'
else if (y > 309) and (y < 351) then
result := '台江(福州)'
else if (y > 351) and (y < 393) then
result := '闽南(福建)'
else
result := '未知';
end
else if Logo = '传奇(66区)' then
begin
if (y > 225) and (y < 267) then
result := '遗忘(广州)'
else if (y > 267) and (y < 309) then
result := '传说(广州)'
else if (y > 309) and (y < 351) then
result := '失落(广州)'
else if (y > 351) and (y < 393) then
result := '魔界(广州)'
else
result := '未知';
end
else if Logo = '传奇(67区)' then
begin
if (y > 225) and (y < 267) then
result := '干将(福建)'
else if (y > 267) and (y < 309) then
result := '莫邪(福建)'
else if (y > 309) and (y < 351) then
result := '湛卢(福建)'
else if (y > 351) and (y < 393) then
result := '巨阙(福建)'
else
result := '未知';
end
else if Logo = '传奇(68区)' then
begin
if (y > 225) and (y < 267) then
result := '大学(北京)'
else if (y > 267) and (y < 309) then
result := '中庸(北京)'
else if (y > 309) and (y < 351) then
result := '论语(北京)'
else if (y > 351) and (y < 393) then
result := '孟子(北京)'
else
result := '未知';
end
else if Logo = '传奇(69区)' then
begin
if (y > 225) and (y < 267) then
result := '百山(大庆)'
else if (y > 267) and (y < 309) then
result := '黑水(大庆)'
else if (y > 309) and (y < 351) then
result := '泉城(济南)'
else if (y > 351) and (y < 393) then
result := '白塔(上海)'
else
result := '未知';
end
else if Logo = '传奇(70区)' then
begin
if (y > 225) and (y < 267) then
result := '西施(北京)'
else if (y > 267) and (y < 309) then
result := '貂禅(北京)'
else if (y > 309) and (y < 351) then
result := '玉环(北京)'
else if (y > 351) and (y < 393) then
result := '昭君(北京)'
else
result := '未知';
end
else if Logo = '传奇(71区)' then
begin
if (y > 225) and (y < 267) then
result := '玄武(镇江)'
else if (y > 267) and (y < 309) then
result := '朱雀(无锡)'
else if (y > 309) and (y < 351) then
result := '龙城(常州)'
else if (y > 351) and (y < 393) then
result := '鹿鼎(徐州)'
else
result := '未知';
end
else if Logo = '传奇(72区)' then
begin
if (y > 141) and (y < 183) then
result := '南岳(长沙)'
else if (y > 183) and (y < 225) then
result := '三湘(长沙)'
else if (y > 225) and (y < 267) then
result := '岳麓(长沙)'
else if (y > 267) and (y < 309) then
result := '雨花(长沙)'
else if (y > 309) and (y < 351) then
result := '开福(长沙)'
else if (y > 351) and (y < 393) then
result := '天心(长沙)'
else if (y > 393) and (y < 435) then
result := '三清(上饶)'
else if (y > 435) and (y < 477) then
result := '婺源(上饶)'
else
result := '未知';
end
else if Logo = '传奇(75区)' then
begin
if (y > 225) and (y < 267) then
result := '虞美人(上海)'
else if (y > 267) and (y < 309) then
result := '念奴娇(上海)'
else if (y > 309) and (y < 351) then
result := '蝶恋花(上海)'
else if (y > 351) and (y < 393) then
result := '踏莎行(上海)'
else
result := '未知';
end
else if Logo = '传奇(76区)' then
begin
if (y > 225) and (y < 267) then
result := '华宇(辽河)'
else if (y > 267) and (y < 309) then
result := '伴侣(辽河)'
else if (y > 309) and (y < 351) then
result := '月影(沈阳)'
else if (y > 351) and (y < 393) then
result := '丽韵(沈阳)'
else
result := '未知';
end
else if Logo = '传奇(77区)' then
begin
if (y > 225) and (y < 267) then
result := '景阳冈(上海)'
else if (y > 267) and (y < 309) then
result := '清风寨(上海)'
else if (y > 309) and (y < 351) then
result := '十字坡(上海)'
else if (y > 351) and (y < 393) then
result := '野猪林(上海)'
else
result := '未知';
end
else if Logo = '东方热线(78区)' then
begin
if (y > 225) and (y < 267) then
result := '东钱湖'
else if (y > 267) and (y < 309) then
result := '河姆渡'
else if (y > 309) and (y < 351) then
result := '它山堰'
else if (y > 351) and (y < 393) then
result := '五龙潭'
else
result := '未知';
end
else if Logo = '热血天涯(79区)' then
begin
if (y > 225) and (y < 267) then
result := '天涯(海南)'
else if (y > 267) and (y < 309) then
result := '海角(海南)'
else if (y > 309) and (y < 351) then
result := '椰风(海南)'
else if (y > 351) and (y < 393) then
result := '海韵(海南)'
else
result := '未知';
end
else if Logo = '新丝路(80区)' then
begin
if (y > 225) and (y < 267) then
result := '高昌(新疆)'
else if (y > 267) and (y < 309) then
result := '龟兹(新疆)'
else if (y > 309) and (y < 351) then
result := '交河(新疆)'
else if (y > 351) and (y < 393) then
result := '尼雅(新疆)'
else
result := '未知';
end
else if Logo = '宽带鹿城(81区)' then
begin
if (y > 225) and (y < 267) then
result := '宽带通(温州)'
else if (y > 267) and (y < 309) then
result := '极速通(温州)'
else if (y > 309) and (y < 351) then
result := '天翼通(温州)'
else if (y > 351) and (y < 393) then
result := '网络快车(温州)'
else
result := '未知';
end
else if Logo = '水泊梁山II(82区)' then
begin
if (y > 225) and (y < 267) then
result := '白虎堂(济南)'
else if (y > 267) and (y < 309) then
result := '聚义厅(济南)'
else if (y > 309) and (y < 351) then
result := '快活林(济南)'
else if (y > 351) and (y < 393) then
result := '蜈蚣岭(济南)'
else
result := '未知';
end
else if Logo = '英雄之都(83区)' then
begin
if (y > 267) and (y < 309) then
result := '四海(浙江)'
else if (y > 309) and (y < 351) then
result := '九天(浙江)'
else
result := '未知';
end
else if Logo = '三晋争霸(84区)' then
begin
if (y > 225) and (y < 267) then
result := '河东狮吼(太原)'
else if (y > 267) and (y < 309) then
result := '晋阳铁马(太原)'
else if (y > 309) and (y < 351) then
result := '太行古风(太原)'
else if (y > 351) and (y < 393) then
result := '雁门残雪(太原)'
else
result := '未知';
end
else if Logo = '楚雄风云(85区)' then
begin
if (y > 225) and (y < 267) then
result := '江夏(武汉)'
else if (y > 267) and (y < 309) then
result := '三峡(武汉)'
else if (y > 309) and (y < 351) then
result := '琴台(武汉)'
else if (y > 351) and (y < 393) then
result := '赤壁(武汉)'
else
result := '未知';
end
else if Logo = '宽带e线(86区)' then
begin
if (y > 225) and (y < 267) then
result := '澳泰(东营)'
else if (y > 267) and (y < 309) then
result := '飞熊(东营)'
else if (y > 309) and (y < 351) then
result := '灵通(东营)'
else if (y > 351) and (y < 393) then
result := '恒丰(东营)'
else
result := '未知';
end
else if Logo = '笑傲江湖(87区)' then
begin
if (y > 225) and (y < 267) then
result := '书剑(舟山)'
else if (y > 267) and (y < 309) then
result := '射雕(舟山)'
else if (y > 309) and (y < 351) then
result := '侠客(舟山)'
else if (y > 351) and (y < 393) then
result := '倚天(舟山)'
else
result := '未知';
end
else if Logo = '大话天涯(88区)' then
begin
if (y > 225) and (y < 267) then
result := '流沙河(海口)'
else if (y > 267) and (y < 309) then
result := '火焰山(海口)'
else if (y > 309) and (y < 351) then
result := '水帘洞(海口)'
else if (y > 351) and (y < 393) then
result := '南天门(海口)'
else
result := '未知';
end
else if Logo = '情比金坚(89区)' then
begin
if (y > 225) and (y < 267) then
result := '瑞雪(哈尔滨)'
else if (y > 267) and (y < 309) then
result := '冰河(哈尔滨)'
else if (y > 309) and (y < 351) then
result := '皇朝(沈阳)'
else if (y > 351) and (y < 393) then
result := '万豪(沈阳)'
else
result := '未知';
end
else
result := '未知';
end;
function SearMirwindow: HWND;
var
hCurrentWindow: HWnd;
AhWnd: HWND;
szText: array[0..254] of char;
strText: string;
begin
Result := 0;
hCurrentWindow := GetWindow(GetForegroundWindow, GW_HWNDFIRST);
while hCurrentWindow <> 0 do
begin
if GetWindowText(hCurrentWindow, @szText, 255) > 0 then
begin
AhWnd := FindWindow('TFRMMAIN', nil);
if AhWnd <> 0 then
begin
GetWindowText(AhWnd, szText, 255);
strText := StrPas(szText);
if (strText = '传奇客户端') or (UpperCase(Copy(strText, 1, 13)) = UpperCase('legend of mir')) then
begin
Result := AhWnd;
Break;
end;
end;
end;
hCurrentWindow := GetWindow(hCurrentWindow, GW_HWNDNEXT);
end;
end;
function GetCaption(hw: HWND): string;
var
szWindowText: array[0..MaxByte] of Char;
begin
GetWindowText(hw, szWindowText, MaxByte);
Result := StrPas(szWindowText);
end;
function GetClass(hw: HWND): string;
var
szClassName: array[0..MaxByte] of Char;
begin
GetClassName(hw, szClassName, MaxByte);
Result := StrPas(szClassName);
end;
function EnumChildWindowsTEditProc(hChild: HWnd; temp: LPARAM): Boolean; stdcall;
var
szClassName: array[0..MaxByte] of char;
begin
Result := True;
GetClassName(hChild, szClassName, MaxByte);
if StrPas(szClassName) = 'TEdit' then begin
inc(nEditCount);
if nEditCount = 1 then
hEdit2 := hChild
else if nEditCount = 2 then
hEdit1 := hChild;
end;
end;
procedure GetUserID_Password(hActiv: HWND);
var
ID, PW: string;
begin
nEditCount := 0;
EnumChildWindows(hActiv, @EnumChildWindowsTEditProc, 0);
if (nEditCount = 2) and IsWindowVisible(hEdit1) and IsWindowVisible(hEdit2) then begin
ID := trim(GetCaption(hEdit1));
PW := trim(GetCaption(hEdit2));
if (ID <> '') and (PW <> '') then
begin
StrCopy(MyPShareMem^.strID, PChar(ID));
StrCopy(MyPShareMem^.strPsw, PChar(PW));
MyPShareMem^.nStep := 2;
end;
end;
end;
function GetRoleFromMem(ProcessID: HWND; var role: string): boolean;
var
ProcessHndle: HWND;
SysInfo: _SYSTEM_INFO;
MBI: MEMORY_BASIC_INFORMATION;
PMemoAddr: Pointer;
MemoAddr, MaxMemoAddr: DWORD;
nSize, lpNumberOfBytesRead: DWORD;
nCount, i, j, m: DWORD;
K: integer;
sTmp: string;
iLastStart: integer;
begin
Result := false;
role := '';
nCount := 0;
ProcessHndle := OpenProcess(PROCESS_VM_OPERATION or PROCESS_VM_READ or PROCESS_QUERY_INFORMATION, false, ProcessID);
if ProcessHndle <= 0 then Exit;
GetSystemInfo(SysInfo);
PMemoAddr := SysInfo.lpMinimumApplicationAddress;
MaxMemoAddr := DWORD(SysInfo.lpMaximumApplicationAddress);
try
while true do
begin
VirtualQueryEx(ProcessHndle, PMemoAddr, MBI, SizeOf(MBI));
nSize := MBI.RegionSize;
if MBI.State = MEM_COMMIT then
begin
setlength(sTmp, nSize);
ReadProcessMemory(ProcessHndle, PMemoAddr,
pchar(sTmp), nSize, lpNumberOfBytesRead);
begin
iLastStart := 0;
i := 0;
for j := 10 to nSize - 10 do
begin
if sTmp[j] = '/' then
begin
if (sTmp[j + 1] >= '0') and (sTmp[j + 1] <= '2') and
(sTmp[j + 3] >= '0') and (sTmp[j + 3] <= '9') and
(sTmp[j + 2] = '/') then
begin
m := j;
for k := -1 downto -30 do
if (sTmp[m + k] = '/') or (sTmp[m + k] = '*') or (sTmp[m + k] < #$20) then break;
if k < -30 then continue;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -