游客您好
  • 点击联系客服

    在线时间:8:30-18:00

    客服微信

    Wkr-3000y-kf

    电子邮件

    3000y@wenkeruan.com
  • 手机版

    随时掌握游戏动态

  • 扫一扫二维码

    添加微信客服

Lv.5 解脱境
277号会员,0活跃值,2022.10.27 加入
  • 207发帖
  • 173主题
  • 0关注
  • 0粉丝
这个人很懒,什么也没有留下。
独家推荐 更多>

[安全工具] 初步了解tgs插件的写法(一)

[复制链接]
快要发癫啦 发表于 2023-1-4 09:08:12 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
编写需求条件:
+ _) Z9 U6 l, D9 c- l
1 C" H6 W# Q4 Q; S$ g
    od工具(看雪论坛有下), 程序编写工具比如(delphi, vc++)
: c" Q0 L+ O0 F- d6 i$ ?, e

# s! m" p( q2 Z
, o7 l- [( L& n5 w' t. i
编写过程( a1 c/ j, p% |
1 c/ S9 c; r2 g; l. b
第1步:/ @: L/ D) I0 P9 [5 x8 I- d

# A( @  v$ M4 x
    用编程工具写一个注入程序, 可以dll注入到tgs1000.exe 里面3 g3 F4 y8 ?6 E2 R' x2 f: i

1 {* }; I% s4 m: L  i  ?/ q6 \

% a8 q5 `# H/ r# Z+ _, A9 }/ y
第2步:4 C) A% A& S5 e0 b4 {
* Z0 z( y% C! p+ V6 y) X1 n
    打开od工具, 调用菜单打开功能 读入tgs1000.exe F9运行程序7 A; E: A" q9 |- A/ s% U% M

/ `7 u( q  j2 V) c5 W( A5 F
    启动客户端进入游戏(后面要用客户端)+ [$ C9 d& W3 N" z+ J

1 G& d( ^! g6 {' ?3 B$ a
    调用 菜单->查看->可执行程序 看到列表里面 双击路径是tgs1000.exe
# W8 Q7 B( W; N0 ]4 V
& ]7 l) h/ ^/ n4 s7 y1 D
    在出现的界面上右键 菜单->查找->所有参考文本字符串  od 会扫描程序 " R; X: [4 F% r  V7 F% }; b- _
5 O: U- J$ D, Z4 y9 v
    提取出参考字符串, 然后右键 查找文本 输入 <system> 字符, 这时可以看到
$ x/ V/ o9 p3 B

" ^% b# I( w! I6 ]2 V% ]' n- ~7 b- ?
    od停在! [" d# n- Z* ~
6 S" q9 X8 r* G. p0 X: T
    0052A0C7 mov     edx, 0052FDD0   ASCII "<SYSTEM>: ") ~% N2 n3 v; B" l) o$ S. W
5 X5 I/ P2 R1 w4 P4 q% _8 j5 D
    双击这一行 再次看到od定位在汇编代码显示页面
# m4 l' Y! A; D5 Y
; j. {% U+ L! p: v7 A

( ^* G) T% \' j" Q& n7 L8 h7 Z
        0052A0C7   .  BA D0FD5200   mov     edx, 0052FDD0                    ;  ASCII "<SYSTEM>: " 2 F. |1 N1 Y& ^- K
        0052A0CC   .  E8 C7A5EDFF   call    00404698                                & Q; K* S5 G4 e- Z; `
        0052A0D1   .  8B95 ACDEFFFF mov     edx, dword ptr [ebp-2154]        ;  赋值edx 为中间屏幕显示的内容7 b; y* p5 U) p/ z3 ]2 J6 c
        0052A0D7   .  B9 03000000   mov     ecx, 3                             ;  这里是色彩的选项 后面会调用! T0 f6 i" w: W; D0 F- v* X- E
        0052A0DC   .  A1 70855600   mov     eax, dword ptr [568570]             ;  这个是UserList地址 参考侠中道代码可以知道        
3 N# p8 H9 x4 J, I) b4 Y" T
        0052A0E1   .  E8 D21A0100   call    0053BBB8                         ;  屏幕中间喊话的call 0053BBB87 D- J& ~; t4 Z7 V

0 o9 y* ~! K6 E' M
    定位在 0052A0C7这一行 在这里双击下断点, 在客户端用GM喊# ?????
& t3 O" A4 s6 {. E3 M* Q, Q9 K! M8 ?
    7 J1 r+ K1 e' }6 P+ O( X. O, v
    这时od会被中断, 断在刚才下的断点处, 这时按下F8
0 a' L( q3 x3 X0 b% Y- |" Y
, e/ _4 ~+ U2 R- U0 v. d
    到call 0053BBB8 部分 按F7 进入call里面 这里是根据ecx值 取得喊话色彩
, k5 S6 I8 b$ z8 C9 ^" B# s
9 o# I0 S8 L2 w+ s/ g) v
    同时发送数据给客户端) y% o& c9 i3 C' h. I# K" l8 h$ ^
1 A7 U' _( Z2 n2 D
   
) e# \' n3 k, _1 E: A8 m* P2 c( f7 x
    进入call之后 一路F8 到下面这里 这里的 eax 就是刚才ecx值 在上面部分已经交换过
) g: N! g" L7 q" q8 P1 c
  ; w0 M( p, C0 J# m6 H; o( k
        0053BBFC  |.  83F8 0F       cmp     eax, 0F                          ;  Switch (cases 0..F): y1 o5 ~* v, ]8 l
        0053BBFF  |.  0F87 41020000 ja      0053BE46
9 B5 I' {7 I$ B: N: w

$ f1 r: e: ~& H0 w
    eax 这里是3 一路F8比较下去到下面这里
3 m0 X3 u' m$ Q" v6 `  ~

7 L( E5 V' V, E5 K6 y
        0053BCD9  |> \66:B9 1F00    mov     cx, 1F                           ;  Case 3 of switch 0053BBFC5 j3 W7 t: K- Y: Y$ g4 `" X
        0053BCDD  |.  66:BA 1F00    mov     dx, 1F
. N, }2 d; W  T
        0053BCE1  |.  66:B8 1F00    mov     ax, 1F
# e- b& x3 v% U' z9 A2 [
        0053BCE5  |.  E8 EA54F2FF   call    004611D4! K" D$ p6 `. w

! }( }: p5 a3 D- T! M* v; b7 F
    这里的 cx, dx, ax 看到过侠中道代码的就知道是 Winrgb(r,g,b:word) 的3个参数 * _+ ^6 h$ k  j# m1 e$ c; H
    1 s5 @% n- p  ?' S3 g* X
    call    004611D4  就是调用 winrgb

8 W( X2 {6 [0 h8 ]' S" N' w
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

三千游戏官方客服

扫一扫二维码

添加qq客服

Powered by Discuz!X3.4 ©2001-2013 Comsenz Inc.闽公网安备 35099902000100号增值电信业务经营许可证 闽B2-20220593 闽ICP备2023014375号