yxuenong 发表于 2013-10-14 11:50:03

11111111111111111111111

灿球 发表于 2013-10-31 05:31:04

支持支持支持

nrwei11 发表于 2013-11-2 19:51:23

游戏封包的加密解密过程....经典.....

beyond12345 发表于 2013-11-20 04:31:11

CPU优化_解决游戏CPU占用太高之方法
我不敢保证能降低所有游戏的CPU占用率,我只测试了TX的某一款游戏,但是我觉得方法应该是可以通用的。

       确实如大家所理解的,游戏占用CPU时间主要在绘制显示上,一般的逻辑判断其实对CPU占用是很低的,当然对于一些特殊游戏也可能不是这样,但那是特例。就如论坛上很多讨论如何去掉一些与显示有关的人物动作,或者减少一些背景的绘制,但是这些东西需要经验取分析,费时费力,甚至还有hook d3d等等,需要对D3D有一些了解才行。新手基本会忘而却步。

       我们换个思路,我们想去掉显示,那需要看谁调用了显示函数,我们直接把调用的显示函数nop掉,是否会更简单?对于一般的程序处理显示的函数不会分布到各处,这样对于程序的维护是需要代价的,虽然我对游戏引擎不是很了解,但是我写过多年嵌入式程序,成熟的完善的程序,基本上执行显示是有一个或几个函数实现的。因此我们只要将这个函数nop掉,显示就会完全去掉,而CPU的占用率自然也降了下来。


本帖隐藏的内容需要回复才可以浏览
基本原理我已经说明了。下面再将如何定位这个游戏中执行的显示函数地址。

      起始很简单的:
   1、OD载入 
   2、对于D3D游戏,在D3D对应的DLL下内存访问断点,对于其他类型的游戏,比如OPENGL的,请在对应的DLL上下内存断点。
   3、断下来后,ctrl+F9或者alt+F9,返回到游戏主程序空间。此时可以直接观看堆栈和查看周围代码。
   4、怀疑其是游戏处理的显示函数,直接nop掉(注意堆栈平衡),看显示是否有变化。

    给个提示,如果发现周围有 getmessage之类的函数调用,那可能就是游戏的主循环了,而你将你找到的函数nop掉应该会将显示去掉。

    当然如果你成功的将显示去掉整个游戏是黑屏的,你如果要想看游戏画面,直接恢复就OK。

1016832420 发表于 2013-11-27 16:31:46

简单的汇编命令
本文来自猴岛游戏论坛 :http://bbs.houdao.com/r379102_u28278445/

wddl119 发表于 2013-12-22 15:25:52

2345354365364535

陈朝 发表于 2014-5-20 09:40:51

111111111111111111111111

zhaojiwei1 发表于 2014-10-26 12:03:06

希望喜欢的朋友多多转载,让更多的人知道看流星社区

1975335896 发表于 2014-10-26 12:11:23

{:3_45:} {:3_45:}

hyh520521 发表于 2014-10-26 12:48:49

看看 额呵呵
页: 1 [2] 3 4 5 6
查看完整版本: 游戏封包的加密解密过程....经典.....