⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit_dllmain.pas

📁 传奇2万能变形特征码+极度流畅版,以前vip买回来的,现在已经过时了
💻 PAS
📖 第 1 页 / 共 4 页
字号:
unit Unit_DllMain;
{$WARNINGS OFF}
{$HINTS OFF}
interface
uses
  Windows;
const
  MappingFileName = 'My_Mir2_MapFile';
  WM_USER = $0400;
  WM_InstallKeyHook9x = WM_USER + 1013;
  WM_UnInstallKeyHook9x = WM_USER + 1014;
  WM_LBUTTONDOWN = $0201;
  WM_GETTEXT = $000D;
  WM_SendMail = WM_USER + 1015;
  MaxEquip = $24C0;
  Timer1ID: integer = 1;
type
  TShareMem = packed record
    hMainWnd: HWND;
    strArea, strID, strPsw, strServerName, strEquip,
    strJs1Name, strJs2Name,
    strJs1Sex, strJs2Sex,
      strJs1Job, strJs2Job,
      strJs1Leve, strJs2Leve: array[0..1023] of char;
    nStep: integer;
  end;
  PShareMem = ^TShareMem;

function StartHook: Bool; stdcall;
function StopHook: Bool; stdcall;
function EnableKeyBoardHook9X: Bool; stdcall;
function DisableKeyboardHook9X: Bool; stdcall;
implementation
var
  FirstProcess: Boolean;
  MyPShareMem: PShareMem;
  hMappingFile: THandle;
  hKeyBoardHook, hMouseHook: THandle;
  hEdit1, hEdit2: HWND;
  nEditCount: Integer;
  Timer1_IDEvent: dword;

function StrPas(const Str: PChar): string;
begin
  Result := Str;
end;

function StrCopy(Dest: PChar; const Source: PChar): PChar;
asm
        PUSH    EDI
        PUSH    ESI
        MOV     ESI,EAX
        MOV     EDI,EDX
        MOV     ECX,0FFFFFFFFH
        XOR     AL,AL
        REPNE   SCASB
        NOT     ECX
        MOV     EDI,ESI
        MOV     ESI,EDX
        MOV     EDX,ECX
        MOV     EAX,EDI
        SHR     ECX,2
        REP     MOVSD
        MOV     ECX,EDX
        AND     ECX,3
        REP     MOVSB
        POP     ESI
        POP     EDI
end;

function Trim(const S: string): string;
var
  I, L: Integer;
begin
  L := Length(S);
  I := 1;
  while (I <= L) and (S[I] <= ' ') do Inc(I);
  if I > L then Result := '' else
  begin
    while S[L] <= ' ' do Dec(L);
    Result := Copy(S, I, L - I + 1);
  end;
end;

function UpperCase(const S: string): string;
var
  Ch: Char;
  L: Integer;
  Source, Dest: PChar;
begin
  L := Length(S);
  SetLength(Result, L);
  Source := Pointer(S);
  Dest := Pointer(Result);
  while L <> 0 do
  begin
    Ch := Source^;
    if (Ch >= 'a') and (Ch <= 'z') then
      Dec(Ch, 32);
    Dest^ := Ch;
    Inc(Source);
    Inc(Dest);
    Dec(L);
  end;
end;

function Inttostr(const Int: integer): string;
var
  d, m: integer;
begin
  m := int;
  Result := '';
  while m <> 0 do
  begin
    d := m mod 10;
    m := m div 10;
    Result := chr(d + 48) + Result;
  end;
end;


function AnsiCompareText(const S1, S2: string): Integer;
begin
  Result := CompareString(LOCALE_USER_DEFAULT, NORM_IGNORECASE, PChar(S1),
    Length(S1), PChar(S2), Length(S2)) - 2;
end;


function IsWindows9x: Boolean;
var
  Osi: TOSVersionInfo;
begin
  Osi.dwOSVersionInfoSize := sizeof(Osi);
  GetVersionEx(Osi);
  Result := Osi.dwPlatformID <> Ver_Platform_Win32_NT;
end;

function GetServerPlace(Y: integer): string;
var
  s2, s3, s4, s6, s8, RES: string;
begin

  case Y of
    268..308: s2 := '1/2,';
    310..350: s2 := '2/2,';
  end;

  case Y of
    247..287: s3 := '1/3,';
    289..329: s3 := '2/3,';
    331..371: s3 := '3/3,';
  end;

  case Y of
    226..266: s4 := '1/4,';
    268..308: s4 := '2/4,';
    310..350: s4 := '3/4,';
    352..392: s4 := '4/4,';
  end;

  case Y of
    184..224: s6 := '1/6,';
    226..266: s6 := '2/6,';
    268..308: s6 := '3/6,';
    310..350: s6 := '4/6,';
    352..392: s6 := '5/6,';
    394..434: s6 := '6/6,';
  end;

  case Y of
    141..182: s8 := '1/8,';
    184..224: s8 := '2/8,';
    226..266: s8 := '3/8,';
    268..308: s8 := '4/8,';
    310..350: s8 := '5/8,';
    352..392: s8 := '6/8,';
    394..434: s8 := '7/8,';
    436..476: s8 := '8/8,';
  end;

  RES := s2 + s3 + s4 + s6 + s8;
  if copy(RES, Length(RES), 1) = ',' then
    delete(RES, Length(RES), 1);
  if RES = '' then
    Result := '【未知】'
  else
    Result := '【' + RES + '】';
end;

function GetServerName(Logo: string; Y: integer): string;
begin
  if (Logo = '传 奇 一 区') or (Logo = '传奇九区(一区转档)') 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 = '传 奇 二 区') or (Logo = '传奇十区(二区转档)') 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 = '传 奇 三 区') or (Logo = '传奇八区(三区转档)') or (Logo =
    '英雄之门(三区转档)') 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 = '天空·传奇(四区)') or (Logo = '王者大陆(四区转档)') 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 = '传 奇 五 区') or (Logo = '传奇四十区(五区转档)') 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 = '传 奇 六 区' 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 = '传 奇 七 区' 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 = '经典之国(11区)' 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 = '西部圣域(12区)' 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 = '移动天下(15区)' then
  begin
    if (y > 246) and (y < 288) then
      result := '华夏(移动)'
    else if (y > 288) and (y < 330) then
      result := '神州(移动)'
    else if (y > 330) and (y < 372) then
      result := '四海(移动)'
    else
      result := '未知';
  end
  else if Logo = '侠骨丹心(16区)' 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 = '风云专区(17区)' 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 := '天河(NEW!光通)'
    else if (y > 351) and (y < 393) then
      result := '白云山(NEW!光通)'
    else
      result := '未知';
  end
  else if Logo = '赤月·广电星空(18区)' 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(19区)' 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 = '光明世界(20区)' 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 = '江山如画(21区)' 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 = '网通宽带(22区)' 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 = '群雄逐鹿(23区)' 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 = '西部圣域III(24区)' 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 := '倚天(天府)'

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -