关灯
开启左侧

[端游] 【千年服务端】初步了解tgs插件的写法(二)

[复制链接]
admin实名认证 发表于 3 天前 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
初步了解tgs插件的写法()
上面部分已经初步了解色彩设定的方式, 这个时候为了增加我们自定义色彩显示, 就需要在

    dll里面进行内存地址读写

    我是在
   
    0053BBFF  |. /0F87 41020000    ja      0053BE46

    在这个地址进行拦截 在delphi里面 可能可以dll初始化时这样写

    procedure InitDll();
    var
      p: Dword;
    begin
      p := $0053BBFF + 1;
      PDword(p)^ := Dword(@proc_0053BBFF);
    end;

    在自己的代码里面写一个色彩增加的函数判断比如

    delphi代码:

    var
      EndAddr1_0053BBFF : Dword = $004F470C;
      EndAddr2_0053BBFF : Dword = $004F44CB;
      EndAddr3_0053BBFF : Dword = $004F4736;   //色彩彩赋值结束跳转

   CallAddr1_0053BBFF : Dword = $004611D4;
      CallAddr2_0053BBFF : Dword = $004611D4;

    procedure proc_0053BBFF();
    asm
      cmp     eax, $10                      //与预先设定的 最大17比较
      JLE      @OldCor                      //小于就跳转到默认16种色彩赋值

      cmp     eax, $10                      //比较是否等于16
      jnz     @Seventh                      //不等于就跳转到第17种色彩判断部分

      mov     cx, $A      //字色或背景色? 没有去详细了解请自己测试
      mov     dx, $A                        // 可以通过修改赋值给ax, cx, dx的值 不超过$FF
      mov     ax, $A
      call    CallAddr1_0053BBFF
      mov     edx, dword ptr [ebp-$14]
      mov     word ptr [edx+1], ax

      mov     cx, $10      //字色或背景色? 没有去详细了解请自己测试
      mov     dx, $10      // 可以通过修改赋值给ax, cx, dx的值 不超过$FF
      mov     ax, $10
      call    CallAddr2_0053BBFF
      mov     edx, dword ptr [ebp-$14]
      mov     word ptr [edx+3], ax
      jmp     EndAddr3_0053BBFF              //色彩赋值结束跳转到tgs

    @Seventh:
      cmp     eax, $11                      //比较是否等于17
      jnz     @out                          //不等于就跳转到默认部分

      mov     cx, $A      //字色或背景色? 没有去详细了解请自己测试
      mov     dx, $A                        // 可以通过修改赋值给ax, cx, dx的值 不超过$FF
      mov     ax, $A
      call    CallAddr1_0053BBFF
      mov     edx, dword ptr [ebp-$14]
      mov     word ptr [edx+1], ax

      mov     cx, $10      //字色或背景色? 没有去详细了解请自己测试
      mov     dx, $10      // 可以通过修改赋值给ax, cx, dx的值 不超过$FF
      mov     ax, $10
      call    CallAddr2_0053BBFF
      mov     edx, dword ptr [ebp-$14]
      mov     word ptr [edx+3], ax
      jmp     EndAddr3_0053BBFF              //色彩赋值结束跳转到tgs
                                             //
    @out:
      jmp     EndAddr1_0053BBFF              //这个是跳转到默认的点

    @OldCor:
      jmp     EndAddr2_0053BBFF              // 跳转到原来16种色彩赋值
    end

 
VIP介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 最佳新人

    注册账号后积极发帖的会员
  • 活跃会员

    经常参与各类话题的讨论,发帖内容较有主见
  • 热心会员

    经常帮助其他会员答疑
  • 推广达人

    积极宣传本站,为本站带来更多注册会员
  • 宣传达人

    积极宣传本站,为本站带来更多的用户访问量
  • 灌水之王

    经常在论坛发帖,且发帖量较大
  • 突出贡献

    长期对论坛的繁荣而不断努力,或多次提出建设性意见
  • 优秀版主

    活跃且尽责职守的版主
  • 荣誉管理

    曾经为论坛做出突出贡献目前已离职的版主
  • 论坛元老

    为论坛做出突出贡献的会员

0关注

6粉丝

3645帖子

排行榜
作者专栏

QQ交流群&&微信订阅号

QQ交流群

微信订阅号

吾爱尚玩资源基地永久域名:

Www.523Play.Com

在线管理员QQ:1589479632

邮箱:Email@523play.com

QQ交流群:558936238

Copyright   ©2015-2116  吾爱尚玩资源基地|523play.comPowered by©523Pplay.Com技术支持:吾爱尚玩资源基地