kueiwa
歪酷博客
日 历
网志文件夹
· 所有网志
搜 索
友 情 链 接
· 歪酷博客
· 管理我的Blog
· 红移

订阅 RSS

0003343

歪酷博客

看了dev365的blog,想着blog也真挺不错,所以弄个玩玩.
« 上一篇: mmm000的祈祷时间汇编 下一篇: 汇编指令 »
万千烦恼 @ 2004-11-28 16:28

blue发的NPC发红字广播汇编

选择在"@@buildguildnow"这段代码插入:
————————————————————————————————
* Possible StringData Ref from Code Obj ->"@@buildguildnow"
|
:004A3662 BA54374A00 mov edx, 004A3754
:004A3667 8B45F0 mov eax, dword ptr [ebp-10]
:004A366A E8D156F6FF call 00408D40
:004A366F 85C0 test eax, eax
:004A3671 750E jne 004A3681
:004A3673 8B4DEC mov ecx, dword ptr [ebp-14]
:004A3676 8B55F8 mov edx, dword ptr [ebp-08]
:004A3679 8B45FC mov eax, dword ptr [ebp-04]
:004A367C E8A3FAFFFF call 004A3124



* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004A3671(C)
|
:004A3681 E9CA8F0600 jmp 0050C650 --- 在这里跳,到我们的代码空间



* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0050C6B2(U)
|
:004A3686 8B45F0 mov eax, dword ptr [ebp-10]
。。。。。。。。。。。。。。。
————————————————————————————————



主要代码:
————————————————————————————————
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004A3681(U)
|
:0050C650 BACAC55000 mov edx, 0050C5CA --- 我修改的M2,这里是@@NPCTALK,似乎是废话
:0050C655 8B45F0 mov eax, dword ptr [ebp-10] --- 人
:0050C658 E8E3C6EFFF call 00408D40
:0050C65D 85C0 test eax, eax --- 典型的比较命令的语句
:0050C65F 754C jne 0050C6AD
:0050C661 8B4DEC mov ecx, dword ptr [ebp-14] --- 取 @@NPCTALK 后面带的字符,既要发广播的字
:0050C664 8B55F8 mov edx, dword ptr [ebp-08] --- 人
:0050C667 8B45FC mov eax, dword ptr [ebp-04]
:0050C66A E8C8FCFFFF call 0050C337 --- 这个就是实现NPC红字广播的子程序,最主要的了



* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0050C65F(C)
|



* Possible StringData Ref from Code Obj ->"@@guildwar"
|
:0050C6AD BA6C374A00 mov edx, 004A376C
:0050C6B2 E9CF6FF9FF jmp 004A3686 --- 上面的JMP截断了,这里写完NPC红字广播要跳回去
————————————————————————————————




————————————————————————————————
接上面的:0050C66A E8C8FCFFFF call 0050C337




:0050C320 FFFFFFFF BYTE 4 DUP(0ffh)
:0050C324 0D0000005B or eax, 5B000000
:0050C329 4E dec esi
:0050C32A 50 push eax
:0050C32B 43 inc ebx
:0050C32C B7A2 mov bh, A2
:0050C32E BBB0B2E2CA mov ebx, CAE2B2B0
:0050C333 D45D aam (base93)
:0050C335 0000 add byte ptr [eax], al



* Referenced by a CALL at Address:
|:0050C66A ----- 实现NPC红字广播的子程序
|
:0050C337 55 push ebp
:0050C338 8BEC mov ebp, esp
:0050C33A 83C4EC add esp, FFFFFFEC
:0050C33D 53 push ebx
:0050C33E 33DB xor ebx, ebx
:0050C340 895DEC mov dword ptr [ebp-14], ebx
:0050C343 894DF4 mov dword ptr [ebp-0C], ecx
:0050C346 8955F8 mov dword ptr [ebp-08], edx
:0050C349 8945FC mov dword ptr [ebp-04], eax
:0050C34C 8B45F4 mov eax, dword ptr [ebp-0C]
:0050C34F E82C7DEFFF call 00404080
:0050C354 33C0 xor eax, eax
:0050C356 55 push ebp
:0050C357 68F6C35000 push 0050C3F6
:0050C35C 64FF30 push dword ptr fseax]
:0050C35F 648920 mov dword ptr fseax], esp
这小段是金币操作~~~~~~~
:0050C375 8B45F8 mov eax, dword ptr [ebp-08] --- 取人
:0050C378 81783030750000 cmp dword ptr [eax+30], 00007530 --- 有没30W金币?
:0050C37F 7C22 jl 0050C3A3 --- 没有,跳"你的金币不够了。"
:0050C381 BA30750000 mov edx, 00007530
:0050C386 8B45F8 mov eax, dword ptr [ebp-08]
:0050C389 E81A33FBFF call 004BF6A8
:0050C38E 8B45F8 mov eax, dword ptr [ebp-08]
:0050C391 E85E86FBFF call 004C49F4 --- >30W金币,从人物扣除30W金币
:0050C3A1 EB11 jmp 0050C3B4 --- 再跳主要发话的代码



* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0050C37F(C)
|
:0050C3A3 33C9 xor ecx, ecx



* Possible StringData Ref from Code Obj ->"你的金币不够了。"
|
:0050C3A5 BA40344A00 mov edx, 004A3440
:0050C3AA 8B45F8 mov eax, dword ptr [ebp-08]
:0050C3AD E8417D0100 call 005240F3
:0050C3B2 EB1D jmp 0050C3D1 --- 一个完成 "你的金币不够了。" 的操作



* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0050C3A1(U) 发话的代码
|
:0050C3B4 8D45EC lea eax, dword ptr [ebp-14] --- 取人物输入的字符的偏移地址
:0050C3B7 BAF4A64C00 mov edx, 0050C328
:0050C3BC 90 nop
:0050C3BD 8B4DF4 mov ecx, dword ptr [ebp-0C]
:0050C3C0 E8537BEFFF call 00403F18
:0050C3C5 8B55EC mov edx, dword ptr [ebp-14] --- 取字符串
:0050C3C8 E853000000 call 0050C420 --- 实现所有人都能看见字的,有如(*)
——————————————————————————————————




——————————————————————————————————
* Referenced by a CALL at Address:
|:0050C3C8
| 这个CALL实现所有人都能看见字的,有如(*)



:0050C420 A190A44E00 mov eax, dword ptr [004EA490]
:0050C425 8B00 mov eax, dword ptr [eax]
:0050C427 E8C426FAFF call 004AEAF0
:0050C42C A18CA74E00 mov eax, dword ptr [004EA78C]
:0050C439 50 push eax
:0050C43A 8B0D4CA64E00 mov ecx, dword ptr [004EA64C]
:0050C440 8B09 mov ecx, dword ptr [ecx]
:0050C442 A190A44E00 mov eax, dword ptr [004EA490]
:0050C447 8B00 mov eax, dword ptr [eax]
:0050C449 BACC000000 mov edx, 000000CC
:0050C44E E8D532FAFF call 004AF728
:0050C453 C3 ret


其中
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004A3681(U)
|
:0050C650 BACAC55000 mov edx, 0050C5CA --- 我修改的M2,这里是@@NPCTALK

这儿的@@NPCTALK是怎样添加的,需要怎么添加?

最新评论


蝶舞

2007-03-31 14:41

中电华通数据中心:www.chinaccnet.com

机房:温州,国家骨干节点,10G省网接入
ip段:60.190.114与60.190.118
防御:千M硬件防火墙8G syn攻击和20G肉鸡攻击防护
服务:技术人员365*24小时值班
测试:提供24小时免费试用

配置:PD2.8 1G 80G intel945GV主板
qq:101509676 320185283  TEL:021-51308777-656 张小姐

中电华通为您提供高性价比,高防御的服务器和虚拟主机.


评论 / 个人网页 / 扔小纸条
*昵称

已经注册过? 请登录

Email
网址
*评论