做游戏加速的那些事

一开始以为只要hook一个  gettimeofday就可以了 但是发现 在到他传奇里居然不行的  按钮点不进去了  但是效果是有的

而后发现需要同时hook  gettimeofday和clock_time两个函数才行的

原理就是 】

一个起始的时间值   ,假设1000开始

  1000 

   1100      1100 - 1000然后乘以倍数2  就变成了   200  加上起始值  此时的时间为1200  就是加速了   本来过了100ms  现在变成了200毫秒

 之后因为SO已经被注入到进程了  相当于独立了已经  那么此时需要在这个SO文件中设置一个变量来修改速度

 用了mmap发现需要不停的分配虚拟内存很快就挂掉了    之所以不用其他的read fread是考虑到了效率  

一开始放在微妙的hook函数里来读取时间文件  这样就变成了毫秒级的修改文件,肯定会死掉 

之后用了延迟从文件定时读取   这样子就可以了 

但是不稳定 没多久就挂了  之后发现是mmap读取一阵子文件就不能读取了

最后换成了简单的read 和write来修改 

脱脱的

   

 最开始是在一个 activity中的animation来做测试的

发现只能加速不能减速,并且用了注入dex的方式来加载,因为考虑到想chaczhushou那样子  启动游戏则显示 其他时候不显示

但是发现只可以加速不可以减速  蛋疼   后来猜想应该是animation采用的不是gettimeofday  clocktime  而游戏是opengl来绘制的

 

 

strncpy效率低于sprintf低于memcpy

转载于:https://www.cnblogs.com/xxaing/p/5234462.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值