首页
学习
活动
专区
工具
TVP
发布

猛牛哥的博客

专栏作者
143
文章
227792
阅读量
47
订阅数
感谢此文,给了我解码某游戏封包数据编码的思路
最近在研究某游戏封包,里面的一个可变数据长度的数字值我没办法找到解码规律,他看起来像是使用protobuf序列化后的数据,但是根据protobuf规则解码,结果又不对。例如04 ce 25表示十进制的10021,而如果按照protobuf规律解码,应该是得到12ce,即4814。这个地方卡了我好几天,想破头也想不到思路。 后来看了这个文章https://blog.csdn.net/qq_38410730/article/details/103702827 ,里面提到了protobuf对于正数的编码采用varint,对于负数的编码采用ZigZag编码后的varint。,因为负数使用zigzag编码更节省字节数。我突然想到会不会这游戏把正数也是先zigzag再varint呢。验证后确定是先zigzag,然后是个不完整的varint过程,不完整处是他解码时不需要调整为大端序。 解码过程: CE25 => 11001110 00100101 第一个字节去掉首位的1,然后逆zigzag(右移1位),得到:100111 00100101 => 10021
用户2135432
2023-10-21
1660
aardio语言:process.popen函数运行的命令不支持管道符:|
|作为一个管道符号,意思是:将|前面命令的输出作为|后面命令的输入。 例如:netstat -ano | findstr 2000,这条命令会显示只含有2000字符的网络连接。 而使用aardio语言的process.popen()函数执行上面这条命令组合会出错。 解决方法:这个问题没办法解决,只能使用process.popen()函数执行netstat -ano这条命令,读取输出后,再使用aardio语言的字符串处理函数自行筛选结果。
用户2135432
2023-10-21
1820
通过数据分析得知某棋牌30秒游戏不能识别机器人和其他玩家下注情况
打算制作一款30秒游戏的机器人和其他玩家下注情况识别软件,遗憾的是,经过仔细分析,得知这个游戏的网络协议并不提供具体玩家下注的信息,而只提供每个区域的下注总额信息。这样就没办法做识别了。
用户2135432
2023-10-21
900
CE和OD配合找大闹天宫游戏基址
使用CE的传统方法找基址一般是先搜到内存地址以后,然后再查看是什么代码访问或者改写了该地址,再根据这行代码中的地址和偏移量一步步查找,例如我分析大闹天宫时,代表锁鱼类型的内存地址是:0x9BAFB28,然后查看改写这个地址的代码是:
用户2135432
2023-10-21
2780
某棋牌游戏大厅座位内存分析过程
目标:通过内存判断每个座位上是否有玩家。所以,要找到每个桌子、每个座位相关内存的排布规律及其内存基址。
用户2135432
2019-01-03
2.1K1
850棋牌计算机器码的研究
最近发现了850棋牌游戏计算客户电脑机器码的方法,但本人还不知道这个发现有没有什么用处,先把该技术储备起来了。有需要查询850棋牌机器码或者修改机器码的朋友,可以联系我。其他棋牌的机器码相关功能也可以付费研究。 以下是850棋牌游戏客户端登录保险箱时的代码: image.png 850棋牌查询银行信息 提交网络数据时,保险箱密码是MD5加密的。但这不是重点,目前没用。 下面的 00B8DAE3    FF15 0435BA00   call dword ptr ds:[<&ServiceCore.CW
用户2135432
2018-06-04
1.8K3
破解棋牌多开时遇到的一个问题:调试时大厅进程总是退出
今天破解一个棋牌游戏多开限制,把互斥体和窗口查找都解除以后,运行大厅程序最后还是会退出。后来发现,不管是不是多开,用OD调试该程序都是100%的退出。经过多番折腾,发现这个游戏的运行过程是这样的:启动大厅程序gameplaza.exe时,该进程会启动update.exe,然后自身退出,然后由update.exe进程再启动gameplaza.exe。用OD打开update.exe,然后下断点:bp CreateProcessW,发现该程序启动gameplaza.exe时带了UPDATED这个参数,这才恍然大悟
用户2135432
2018-06-04
1.2K0
写辰龙抢座挂遇到的问题
这几天给客户写一个辰龙棋牌的抢座挂,客户要求抢座位时需要给桌子设置密码。本来觉得是个比较简单的时,可能改改内存就可以了。经过分析,找到了保存桌子密码的内存地址。开始查看“什么代码访问了该地址”,奇怪的发现:进入桌子时,游戏并不会读这处内存,而只有在游戏房间里设置这个密码时才会读写。本人第一次做这种东西,没有经验,所以开始胡乱想象:难道是把密码保存在硬盘文件或者注册表了?经过各种分析、查找、监控,发现密码既没有写入文件,也没有写入注册表。最后经过各种折腾,发现这个棋牌游戏的房间设置是保存在游戏服务器的(真是坑
用户2135432
2018-06-04
6583
API获取窗口滚动条位置
以前都是找内存读取滚动条位置,后来遇到一个游戏客户端的滚动条内存基址怎么也找不到,做了很多努力都失败了,因为这个内存基址已经不属于程序领空。最后感觉这个滚动条应该是系统直接控制的, 和程序本身关系不大,所以直接调用系统的API应该可以获得。本人小白, API了解的不多,网上查了查资料才会用这个API了,现在回想起来,以前真是走了很多弯路,能直接用API获取的数据,我居然那么多次都去找内存、找基址。好在这次老办法遇到困难,才知道了这个简单办法。 下面是AAU(AARDIO)中获取窗口滚动条位置的API用法:
用户2135432
2018-06-04
1.7K0
OpenProcess在某些XP系统上打开进程失败的原因
最近用AAU写游戏外挂代码,结果几个客户的电脑上打开游戏进程失败,通过远程协助在客户电脑上鼓捣了好久都没有找到原因。最后想到以前用AU3写的同样功能的软件没有遇到过这种问题,所以就去分析这2个语言打开外部进程时有什么区别。通过对比,发现这两种语言打开外部进程都是调用的kernel32.dll的OpenProcess函数,新说这就好办了,如果他们两个的机制不同,就无法下手。再仔细对比,发现AU3调用OpenProcess时,参数DesiredAccess参数使用的0x1F0FFF,而AAU的process库调
用户2135432
2018-06-04
2.1K0
一招去掉所有网站的烦人游戏广告
现在很多网站都充斥着大量烦人的游戏广告,占用电脑资源不说,还浪费浏览者眼球,更主要的是,游戏害人啊。眼看这些广告越来越肆虐蔓延,真的忍不下去了,果断想办法屏蔽。 image.png 烦人的广告 看到广告右上角都有百度的图标,所以这些广告都是百度提供的,必然要用百度的域名,打开源码查看一下: image.png 百度广告的代码 看到主要是:http://cbjs.baidu.com/js/o.js这个地址,经过查找,这些广告还会用到:eclick.baidu.com pos.baidu.com这2个地
用户2135432
2018-06-04
2.1K0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档