Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1063417
  • 博文数量: 284
  • 博客积分: 8223
  • 博客等级: 中将
  • 技术积分: 3188
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-01 13:26
文章分类

全部博文(284)

文章存档

2012年(18)

2011年(33)

2010年(83)

2009年(147)

2008年(3)

分类: C/C++

2009-07-09 20:04:58

    最近玩了个网游,感觉还是蛮有意思的,不过游戏中间很多繁琐的操作让人不爽。网游有句名言,就是我们玩游戏,网游公司玩我们。同样身为程序员的我,怎么能够忍受被游戏公司限制呢,于是想到外面风风火火的外挂技术。就让我diy一个属于自己的网游吧。
    考虑到外挂技术一般在三个方面延伸:修改本机内存影响本地客户端程序运行、利用客户服务器之间的网络连接伪造报文欺骗客户与服务器端、真正的黑客技术(修改服务器的内存数据);作为小小coder,要黑人家服务器、修改本机内存或者反编译本地程序似乎难度大了点,尤其是我玩的网游是基于flex技术的flash游戏,要说c、操作系统我还在行,可要我去研究javascripts、html似乎征途遥远了点(毕竟我不是绝影。。。)。俗话说的好,隔行如隔山,我还是老老实实抓本行的好。想来想去也只能研究研究游戏的网络报文了。
    于是从网上下载了“科来网络分析”,用来截取报文。你别说,也不知道是现在的网游公司门面太小,还是故意留点后门给我们同行娱乐,抑或是跟我们写代码一样为了偷懒,网络通讯居然使用明文。比如下面登录的这段报文:
00 03 00 00 00 01 00 04 6E 75 6C 6C 00 02 2F 34 00 00 01 2C 0A 00 00 00 01 11 0A 81 13 4F 66 6C 65 78 2E 6D 65 73 73 61 67 69 6E 67 2E 6D 65 73 73 61 67 65 73 2E 52 65 6D 6F 74 69 6E 67 4D 65 73 73 61 67 65 13 6F 70 65 72 61 74 69 6F 6E 0D 73 6F 75 72 63 65 11 63 6C 69 65 6E 74 49 64 15 74 69 6D 65 54 6F 4C 69 76 65 13 74 69 6D 65 73 74 61 6D 70 13 6D 65 73 73 61 67 65 49 64 17 64 65 73 74 69 6E 61 74 69 6F 6E 09 62 6F 64 79 0F 68 65 61 64 65 72 73 06 0F 64 6F 4C 6F 67 69 6E 06 0B 4C 6F 67 69 6E 06 49 30 38 42 30 46 36 32 46 2D 41 32 35 33 2D 36 30 32 38 2D 42 41 45 34 2D 30 30 30 30 34 36 43 36 30 44 32 30 04 00 04 00 06 49 41 38 46 46 38 42 31 32 2D 36 30 38 36 2D 36 32 46 44 2D 39 32 30 45 2D 35 46 32 31 44 43 31 36 41 36 33 35 06 0D 61 6D 66 70 68 70 09 03 01 09 0B 01 04 86 E4 74 04 00 06 09 34 33 39 39 06 13 63 6A 67 61 6D 65 62 6F 79 06 11 31 36 30 30 31 31 32 38 0A 0B 01 09 44 53 49 64 06 07 6E 69 6C 15 44 53 45 6E 64 70 6F 69 6E 74 01 01
 
如果使用UltraEdit的十六进制方式查看:
.....null./4..,
...
?Oflex.messaging.messages.RemotingMessageoperation
sourceclientIdtimeToLivetimestampmessageIddestination bodyheadersdoLogin LoginI08B0F62F-A253-6028-BAE4-000046C60D20..IA8FF8B12-6086-62FD-920E-5F21DC16A635
amfphp   嗕t. 4399从ccdb82113456
 DSIdnilDSEndpoint
 
   注意看红色部分,这里居然用明文写着我的登录名和密码。如此一来,我这个业余外挂枪手算是找到了方向。你想想,既然我能找到报文中的用户名和密码,那么我不就可以伪造报文使用自己的用户名和密码进行登录了嘛。不过,回头想想,亏好自己不是RMB玩家,要是自己玩游戏的时候,报文被人恶意截取,那岂不是。。。
   再往下分析,哈哈,居然找到了系统发出的资源清单,报文如下:
6C 65 06 05 37 37 1B 6D 6F 72 61 6C 65 5F 73 74 61 62 6C 65 06 78 13 63 6F 6D 70 6C 61 69 6E 74 06 20 07 74 61 78 06 78 09 77 6F 6F 64 06 21 39 33 35 39 2E 30 31 31 38 35 30 37 39 37 33 38 11 77 6F 6F 64 5F 61 64 64 06 19 31 37 31 31 36 2E 38 38 32 38 31 32 11 77 6F 6F 64 5F 6D 61 78 06 0D 38 38 32 35 30 30 09 72 6F 63 6B 06 21 31 34 34 33 33 33 2E 32 35 30 34 32 39 35 31 31 11 72 6F 63 6B 5F 61 64 64 06 15 39 31 39 34 2E 32 32 31 36 38 11 72 6F 63 6B 5F 6D 61 78 06 0D 35 30 32 35 30 30 09 69 72 6F 6E 06 21 38 35 32 30 38 2E 37 30 38 38 34 37 36 30 30 37 11 69 72 6F 6E 5F 61 64 64 06 17 39 34 30 36 2E 36 30 36 34 34 35 11 69 72 6F 6E 5F 6D 61 78 06 0D 35 34 32 35 30 30 09 66 6F 6F 64 06 21 33 33 36 33 30 2E 39 34 38 33 35 39 34 30 33 34 11 66 6F 6F 64 5F 61 64 64 06 13 31 30 32 30 38 2E 36 32 35 1B 66 6F 6F 64 5F 61 72 6D 79 5F 75 73 65 06 09 32 32 38 30 11 66 6F 6F 64 5F 6D 61 78 06 0D 34 39 32 35 30 30 09 67 6F 6C 64 06 21 31 36 38 35 33 2E 33 33 30 30 30 30 30 30 30 31 11 68 65 72 6F 5F 66 65 65 06 07 33 36 30 11 67 6F 6C 64 5F 6D 61 78 06 11 31 30 30 30 30 30 30 30 13 67 6F 6C 64 5F 72 61 74 65 06 07 31 30 30 0D 70 65 6F 70 6C 65 06 0B 31 30 35 33 31 1B 70 65 6F 70 6C 65 5F 73 74 61 62 6C 65 06 0B 31 30 32 34 31 1D 70 65 6F 70 6C 65 5F 77 6F 72 6B 69 6E 67 06 09 33 36 35 35 1F 70 65 6F 70 6C 65 5F 62 75 69 6C 64 69 6E 67 06 07 34 30 36 15 70 65 6F 70 6C 65 5F 6D 61 78 06 0B 31 33 33 30 30 1B 63 68 69 65 66 5F 6C 6F 79 61 6C 74 79 06 05 39 30 11 63 68 61 6E 67 69 6E 67 06 20 15 6C 61 73 74 75 70 64 61 74 65 06 15 31 32 34 37 31 33 36 35 36 30 11 76 61 63 61 74 69 6F 6E 06 20 13 66 6F 72 62 69 64 64 65 6E 06 20 01 09 05 01 0A 0B 01 07 68 69 64 06 34 16 06 18 1A 06 19 E5 A4 8F E4 BE AF E5 BC BA E7 A6 8F 0B 6E 70 63 69 64 06 20 42 06 2C 44 06 09 31 30 34 38 12 06 14 22 06 03 37 0B 6C 65 76 65 6C 06 05 31 30 07 65 78 70 06 0B 33 34 31 36 30 19 63 6F 6D 6D 61 6E 64 5F 62 61 73 65 06 20 1D 63 6F 6D 6D 61 6E 64 5F 61 64 64 5F 6F 6E 06 20 19 61 66 66 61 69 72 73 5F 62 61 73 65 06 05 33 38 19 62 72 61 76 65 72 79 5F 62 61 73 65 06 05 33 35 17 77 69 73 64 6F 6D 5F 62 61 73 65 06 05 32 36 17 61 66 66 61 69 72 73 5F 61 64 64 06 03 39 17 62 72 61 76 65 72 79 5F 61 64 64 06 2C 15 77 69 73 64 6F 6D 5F 61 64 64 06 20 1D 61 66 66 61 69 72 73 5F 61 64 64 5F 6F 6E 06 20 1D 62 72 61 76 65 72 79 5F 61 64 64 5F 6F 6E 06 20 1B 77 69 73 64 6F 6D 5F 61 64 64 5F 6F 6E 06 20 21 66 6F 72 63 65 5F 6D 61 78 5F 61 64 64 5F 6F 6E 06 20 23 65 6E 65 72 67 79 5F 6D 61 78 5F 61 64 64 5F 6F 6E 06 20 19 73 70 65 65 64 5F 61 64 64 5F 6F 6E 06 20 1B 61 74 74 61 63 6B 5F 61 64 64 5F 6F 6E 06 20 1D 64 65 66 65 6E 63 65 5F 61 64 64 5F 6F 6E 06 20 0F 6C 6F 79 61 6C 74 79 06 81 5E 11 68 65 72 6F 74 79 70 65 06 20 0B 66 6F 72 63 65 06 07 31 31 34 13 66 6F 72 63 65 5F 6D 61 78 06 82 2A 0D 65 6E 65 72 67 79 06 07 31 31 30 15 65 6E 65 72 67 79 5F 6D 61 78 06 82 30 01 0A 0B 01 81 6A 06 28 16 06 18 1A 06 13 E5 A5 9A E4 BF A1 E6 89 BF 81 6E 06 20 42 06 2C 44 06 09 31 30 35 33 12 06 14 22 06 2C 81 74 06 03 38 81 78 06 0B 32 30 32 32 33 81 7C 06 20 81 7E 06 20 82 00 06 05 34 39 82 04 06 05 35 34 82 08 06 05 34 33 82 0C 06 82 38 82 10 06 20 82 12 06 20 82 14 06 20 82 16 06 20 82 18 06 20 82 1A 06 20 82 1C 06 20 82 1E 06 20 82 20 06 20 82 22 06 20 82 24 06 05 37 32 82 26 06 20 82 28 06 07 31 31 39 82 2C 06 82 44 82 2E 06 07 31 31 35 82 32 06 82 46 01 09 0B 01 0A 0B 01 12 06 14 07 73 69 64 06 2C 0B 63 6F 75 6E 74 06 81 76 01 0A 0B 01 12 06 14 82 48 06 24 82 4A 06 05 32 30 01 0A 0B 01 12 06 14 82 48 06 03 33 82 4A 06 82 4C 01 0A 0B 01 12 06 14 82 48 06 5C 82 4A 06 07 31 30 35 01 0A 0B 01 12 06 14 82 48 06 03 35 82 4A 06 07 32 31 30 01 09 05 01 0A 0B 01 12 06 14 07 64 69 64 06 2C 82 4A 06 81 46 01 0A 0B 01 12 06 14 82 56 06 24 82 4A 06 81 46 01 0A 0B 01 16 06 18 0D 74 72 6F 6F 70 73 06 20 0B 65 6E 65 6D 79 06 20 0D 72 65 70 6F 72 74 06 20 09 6D 61 69 6C 06 20 0D 66 72 69 65 6E 64 06 20 09 74 61 73 6B 06 2C 01 09 5F 01 0A 0B 01 05 69 64 06 0F 31 37 31 39 34 35 36 12 06 14 05 78 79 06 81 76 07 62 69 64 06 82 4E 81 74 06 81 72 22 06 20 1F 73 74 61 74 65 5F 73 74 61 72 74 74 69 6D 65 06 15 31 32 34 37 30 32 35 37 31 31 1B 73 74 61 74 65 5F 65 6E 64 74 69 6D 65 06 15 31 32 34 37 30 33 33 32 31 34 0B 62 6E 61 6D 65 06 13 E9 87 87 E7 9F B3 E5 9C BA 27 62 75 69 6C 64 69 6E 67 44 65 73 63 72 69 70 74 69 6F 6E 06 81 4D E9 87 87 E7 9F B3 E5 9C BA E4 B8 AD E5 87 BA
使用工具查看二进制:
le77morale_stablexcomplaint taxx wood!9359.01185079738wood_add17116.882812wood_max
882500 rock!144333.250429511rock_add9194.22168rock_max
502500 iron!85208.7088476007iron_add9406.606445iron_max
542500 food!33630.9483594034food_add10208.625food_army_use 2280food_max
492500 gold!16853.3300000001hero_fee360gold_max10000000gold_rate100
people 10531people_stable 10241people_working 3655people_building406people_max 13300chief_loyalty90changing lastupdate1247136560vacation
forbidden  
hid4澶忎警寮虹? npcid B,D 1048"7 level10exp 34160command_base command_add_on affairs_base38bravery_base35wisdom_base26affairs_add9bravery_add,wisdom_add affairs_add_on bravery_add_on wisdom_add_on !force_max_add_on #energy_max_add_on speed_add_on attack_add_on defence_add_on loyalty乛herotype force114force_max?
energy110energy_max?
乯(濂氫俊鎵縼n B,D 1053",乼8亁 20223亅 亊 ?49?54?43??? ? ? ? ? ? ? ? ? ? ?72? ?119?侱?115?侳  
sid, count乿
侶$侸20
侶3侸侺
侶\侸105
侶5侸210 
did,侸丗
俈$侸丗

troops enemy
report  mail
friend  task, _
id1719456xy乿bid侼乼乺" state_starttime1247025711state_endtime1247033214 bname閲囩煶鍦?buildingDescription丮閲囩煶鍦轰腑鍑
  看到了没,上面红色部分提示, wood!9359.01185079738wood_add17116.882812wood_max
882500 。
也就是说木头:9359,木头每周期增加:17116,木头最大存储:882500;可以看到,根据上面的报文,我完全可以制作自己的客户端,虽然图像肯定做不到网游公司的水平,但是游戏的自动化和操作性肯定能够提高,这样,在别人认认真真的等待建筑周期的时候,我就可以美美的睡上一觉,让我DIY的客户端去帮我完成那些琐碎的操作啦。
阅读(1020) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~