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

📄 disassembler.pas.bakup

📁 冒险岛吸怪源码UCE的制作材料 用于冒险岛游戏的外挂
💻 BAKUP
📖 第 1 页 / 共 5 页
字号:
           result:='EAX+EDX*2';
           last:=sibbyte+1;
         end;

   $51 : begin
           result:='ECX+EDX*2';
           last:=sibbyte+1;
         end;

   $52 : begin
           result:='EDX+EDX*2';
           last:=sibbyte+1;
         end;

   $53 : begin
           result:='EBX+EDX*2';
           last:=sibbyte+1;
         end;

   $54 : begin
           result:='ESP+EDX*2';
           last:=sibbyte+1;
         end;

   $55 : begin
            dwordptr:=@memory[sibbyte+1];

            case getmod(memory[sibbyte-1]) of
              0 : begin
                    last:=sibbyte+1;
                    result:='EDX*2+$'+IntToHex(dwordptr^,8);
                  end;

              1 : begin
                    last:=sibbyte+2;
                    result:='EBP+EDX*2';
                  end;

              2 : begin
                    last:=sibbyte+1;
                    result:='EBP+EDX*2';
                  end;

              3 : begin
                    result:='error';
                  end;
            end;
         end;

   $56 : begin
           result:='ESI+EDX*2';
           last:=sibbyte+1;
         end;

   $57 : begin
           result:='EDI+EDX*2';
           last:=sibbyte+1;
         end;
//58-5f
   $58 : begin
           result:='EAX+EBX*2';
           last:=sibbyte+1;
         end;

   $59 : begin
           result:='ECX+EBX*2';
           last:=sibbyte+1;
         end;

   $5a : begin
           result:='EDX+EBX*2';
           last:=sibbyte+1;
         end;

   $5b : begin
           result:='EBX+EBX*2';
           last:=sibbyte+1;
         end;

   $5c : begin
           result:='ESP+EBX*2';
           last:=sibbyte+1;
         end;

   $5d : begin
            dwordptr:=@memory[sibbyte+1];

            case getmod(memory[sibbyte-1]) of
              0 : begin
                    last:=sibbyte+1;
                    result:='EBX*2+$'+IntToHex(dwordptr^,8);
                  end;

              1 : begin
                    last:=sibbyte+2;
                    result:='EBP+EBX*2';
                  end;

              2 : begin
                    last:=sibbyte+1;
                    result:='EBP+EBX*2';
                  end;

              3 : begin
                    result:='error';
                  end;
            end;
         end;

   $5e : begin
           result:='ESI+EBX*2';
           last:=sibbyte+1;
         end;

   $5f : begin
           result:='EDI+EBX*2';
           last:=sibbyte+1;
         end;
//60-67 see 20-27
//68-6f
   $68 : begin
           result:='EAX+EBP*2';
           last:=sibbyte+1;
         end;

   $69 : begin
           result:='ECX+EBP*2';
           last:=sibbyte+1;
         end;

   $6a : begin
           result:='EDX+EBP*2';
           last:=sibbyte+1;
         end;

   $6b : begin
           result:='EBX+EBP*2';
           last:=sibbyte+1;
         end;

   $6c : begin
           result:='ESP+EBP*2';
           last:=sibbyte+1;
         end;

   $6d : begin
            dwordptr:=@memory[sibbyte+1];


            case getmod(memory[sibbyte-1]) of
              0 : begin
                    last:=sibbyte+1;
                    result:='EBP*2+$'+IntToHex(dwordptr^,8);
                  end;

              1 : begin
                    last:=sibbyte+2;
                    result:='EBP+EBP*2';
                  end;

              2 : begin
                    last:=sibbyte+1;
                    result:='EBP+EBP*2';
                  end;

              3 : begin
                    result:='error';
                  end;
            end;
         end;

   $6e : begin
           result:='ESI+EBP*2';
           last:=sibbyte+1;
         end;

   $6f : begin
           result:='EDI+EBP*2';
           last:=sibbyte+1;
         end;

//70-77
   $70 : begin
           result:='EAX+ESI*2';
           last:=sibbyte+1;
         end;

   $71 : begin
           result:='ECX+ESI*2';
           last:=sibbyte+1;
         end;

   $72 : begin
           result:='EDX+ESI*2';
           last:=sibbyte+1;
         end;

   $73 : begin
           result:='EBX+ESI*2';
           last:=sibbyte+1;
         end;

   $74 : begin
           result:='ESP+ESI*2';
           last:=sibbyte+1;
         end;

   $75 : begin
            dwordptr:=@memory[sibbyte+1];


            case getmod(memory[sibbyte-1]) of
              0 : begin
                    last:=sibbyte+1;
                    result:='ESI*2+$'+IntToHex(dwordptr^,8);
                  end;

              1 : begin
                    last:=sibbyte+2;
                    result:='EBP+ESI*2';
                  end;

              2 : begin
                    last:=sibbyte+1;
                    result:='EBP+ESI*2';
                  end;

              3 : begin
                    result:='error';
                  end;
            end;
         end;

   $76 : begin
           result:='ESI+ESI*2';
           last:=sibbyte+1;
         end;

   $77 : begin
           result:='EDI+ESI*2';
           last:=sibbyte+1;
         end;
//78-7f
   $78 : begin
           result:='EAX+EDI*2';
           last:=sibbyte+1;
         end;

   $79 : begin
           result:='ECX+EDI*2';
           last:=sibbyte+1;
         end;

   $7a : begin
           result:='EDX+EDI*2';
           last:=sibbyte+1;
         end;

   $7b : begin
           result:='EBX+EDI*2';
           last:=sibbyte+1;
         end;

   $7c : begin
           result:='ESP+EDI*2';
           last:=sibbyte+1;
         end;

   $7d : begin
            dwordptr:=@memory[sibbyte+1];


            case getmod(memory[sibbyte-1]) of
              0 : begin
                    last:=sibbyte+1;
                    result:='EDI*2+$'+IntToHex(dwordptr^,8);
                  end;

              1 : begin
                    last:=sibbyte+2;
                    result:='EBP+EDI*2';
                  end;

              2 : begin
                    last:=sibbyte+1;
                    result:='EBP+EDI*2';
                  end;

              3 : begin
                    result:='error';
                  end;
            end;
         end;

   $7e : begin
           result:='ESI+EDI*2';
           last:=sibbyte+1;
         end;

   $7f : begin
           result:='EDI+EDI*2';
           last:=sibbyte+1;
         end;
//-----------------
//------*4---------
//-----------------
//80-BF  (COPY PASTE FROM 40-7F) but now replace *2 wih *4  (hope it doesn't cause bugs)

   $80 : begin
           result:='EAX+EAX*4';
           last:=sibbyte+1;
         end;

   $81 : begin
           result:='ECX+EAX*4';
           last:=sibbyte+1;
         end;

   $82 : begin
           result:='EDX+EAX*4';
           last:=sibbyte+1;
         end;

   $83 : begin
           result:='EBX+EAX*4';
           last:=sibbyte+1;
         end;

   $84 : begin
           result:='ESP+EAX*4';
           last:=sibbyte+1;
         end;

   $85 : begin
            dwordptr:=@memory[sibbyte+1];


            case getmod(memory[sibbyte-1]) of
              0 : begin
                    last:=sibbyte+1;
                    result:='EAX*4+$'+IntToHex(dwordptr^,8);
                  end;

              1 : begin
                    last:=sibbyte+2;
                    result:='EBP+EAX*4';
                  end;

              2 : begin
                    last:=sibbyte+1;
                    result:='EBP+EAX*4';
                  end;

              3 : begin
                    result:='error';
                  end;
            end;
         end;

   $86 : begin
           result:='ESI+EAX*4';
           last:=sibbyte+1;
         end;

   $87 : begin
           result:='EDI+EAX*4';
           last:=sibbyte+1;
         end;
//88-8f
   $88 : begin
           result:='EAX+ECX*4';
           last:=sibbyte+1;
         end;

   $89 : begin
           result:='ECX+ECX*4';
           last:=sibbyte+1;
         end;

   $8a : begin
           result:='EDX+ECX*4';
           last:=sibbyte+1;
         end;

   $8b : begin
           result:='EBX+ECX*4';
           last:=sibbyte+1;
         end;

   $8c : begin
           result:='ESP+ECX*4';
           last:=sibbyte+1;
         end;

   $8d : begin
            dwordptr:=@memory[sibbyte+1];

            case getmod(memory[sibbyte-1]) of
              0 : begin
                    last:=sibbyte+1;
                    result:='ECX*4+$'+IntToHex(dwordptr^,8);
                  end;

              1 : begin
                    last:=sibbyte+2;
                    result:='EBP+ECX*4';
                  end;

              2 : begin
                    last:=sibbyte+1;
                    result:='EBP+ECX*4';
                  end;

              3 : begin
                    result:='error';
                  end;
            end;
         end;

   $8e : begin
           result:='ESI+ECX*4';
           last:=sibbyte+1;
         end;

   $8f : begin
           result:='EDI+ECX*4';
           last:=sibbyte+1;
         end;

//90-97
   $90 : begin
           result:='EAX+EDX*4';
           last:=sibbyte+1;
         end;

   $91 : begin
           result:='ECX+EDX*4';
           last:=sibbyte+1;
         end;

   $92 : begin
           result:='EDX+EDX*4';
           last:=sibbyte+1;
         end;

   $93 : begin
           result:='EBX+EDX*4';
           last:=sibbyte+1;
         end;

   $94 : begin
           result:='ESP+EDX*4';
           last:=sibbyte+1;
         end;

   $95 : begin
            dwordptr:=@memory[sibbyte+1];

            case getmod(memory[sibbyte-1]) of
              0 : begin
                    last:=sibbyte+1;
                    result:='EDX*4+$'+IntToHex(dwordptr^,8);
                  end;

              1 : begin
                    last:=sibbyte+2;
                    result:='EBP+EDX*4';
                  end;

              2 : begin
                    last:=sibbyte+1;
                    result:='EBP+EDX*4';
                  end;

              3 : begin
                    result:='error';
                  end;
            end;
         end;

   $96 : begin
           result:='ESI+EDX*4';
           last:=sibbyte+1;
         end;

   $97 : begin
           result:='EDI+EDX*4';
           last:=sibbyte+1;
         end;
//98-9f
   $98 : begin
           result:='EAX+EBX*4';
           last:=sibbyte+1;
         end;

   $99 : begin
           result:='ECX+EBX*4';
           last:=sibbyte+1;
         end;

   $9a : begin
           result:='EDX+EBX*4';

⌨️ 快捷键说明

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