能力值:
( LV13,RANK:970 )
|
-
-
[原创]调试引擎(第一次修正)
不用那么麻烦的,虽然说是以页为单位设置断点,但如果中断以后可以获取到具体哪个地址被读写,判断一下就行了。即使是同一个页内的多个断点,只对该页进行一次设置就够的。
|
能力值:
( LV13,RANK:970 )
|
-
-
|
能力值:
( LV13,RANK:970 )
|
-
-
[原创]调试引擎(第一次修正)
建议对内存断点能不能增加功能,现在OD里对内存断点的处理是,对目标地址所在的0x1000处的代码段进行调试属性设置,然后一旦有读写操作就马上中断下来,我觉得首先是不够精确,其次是只能下一个内存断点,不知道你能不能在你的调试器里对这2个问题改进下,谢谢!
|
能力值:
( LV13,RANK:970 )
|
-
-
|
能力值:
( LV13,RANK:970 )
|
-
-
|
能力值:
( LV13,RANK:970 )
|
-
-
[原创]对韩国原装X游戏的服务器端及客户端加固
看明白你的意思了。就是说有时候你不想对原代码进行跳转了,直接修改原来的汇编码,可能空间不够,你需要把代码上下挪动下腾出来些空间。对我来说碰到这种情况会直接把那段代码jmp到其他的位置,然后修补完再跳回来。不过对你来说,有你那个自动化工具,你这种方式很适合自身情况的。 谢谢!
|
能力值:
( LV13,RANK:970 )
|
-
-
|
能力值:
( LV13,RANK:970 )
|
-
-
|
能力值:
( LV13,RANK:970 )
|
-
-
[原创]对韩国原装X游戏的服务器端及客户端加固
给PE文件增加大小,网上很多工具,我5年前用汇编写过一个,你需要的话我给你翻翻老文件。
大体思路就是首先用 SetEndOfFile 函数在文件最后面添加需要的空字节数,然后根据添加的字节内容,修改相应的PE节区。修改节区的时候,可以新增一个节区信息,也可以修改以前节区属性。
不过这都是传统思路,对你这种讲究效率的高手来说,用你的UE打开文件,进入16进制编辑模式,转到文件最后,手工输入00,想输多少输多少,然后保存,关闭,搞定!
linux下的文件没研究过,不过原理应该差不多。虽然说server有np保护,但考虑到你都任意在文件里进行优化了,我也就不说np下修改文件的问题了。
|
能力值:
( LV13,RANK:970 )
|
-
-
[原创]对韩国原装X游戏的服务器端及客户端加固
不可否认您的做法大大改善了我们的思维,拓展了我们的视野,犹如雪地里的一颗奇芭明亮了我的双眼。但你仍然没说这么做的必要性,宁肯在文件里改300处,也不多加一个section或一个dll,难道彪悍的人生是这么诠释的么?
|
能力值:
( LV13,RANK:970 )
|
-
-
|
能力值:
( LV13,RANK:970 )
|
-
-
|
能力值:
( LV13,RANK:970 )
|
-
-
[原创]对韩国原装X游戏的服务器端及客户端加固
你说你改改汇编码就完成那些问题了,我觉得还是有点诡异。
别的不说,光说那个穿墙加速吧。
穿墙加速问题的处理肯定在服务器,客户端是没用的。
要对付穿墙,你肯定要检测障碍,检测障碍首先就是个麻烦事,理想情况下,你要读取障碍图,对获取到的移动坐标点进行障碍判断,如果是3D地图,更麻烦了,不过你的xw貌似是2D的,这倒问题不大。你就算不采用检测数据流的办法,也要去读取数据库,也是个麻烦事;
其次是加速,判断加速要判断移动距离和时间,考虑到网络间隔,几个不同时段的数据会同时涌入的情况,你要加大时间间隔判断,这也是麻烦事。
这些东西我不是说无法实现或者是实现多复杂,但你说的改改二进制就行了,也太诡异了,调试一周+修改一周搞出来,再处理bug,我觉得光这个功能就起码半个月。你说你用工具改改几下就行了,是不是有点夸大其辞了?
|
能力值:
( LV13,RANK:970 )
|
-
-
|
能力值:
( LV13,RANK:970 )
|
-
-
|
能力值:
( LV13,RANK:970 )
|
-
-
[原创]对韩国原装X游戏的服务器端及客户端加固
轻则受到攻击后Server崩溃,重则被精心构造的ShellCode执行了恶意操作,例如添加个超级用户之类的,死都不知道是怎么死的。 我觉得黑客拿不到server,应该不会构造这么彪悍的溢出;
其次LZ为什么留QQ呢? 看楼主的做法是优化原exe程序,空出来的多余空间添加你自己的汇编代码,达到zeroadd,这样没什么意义吧?服务器硬盘又不是手机卡,省那点空间没啥意义的,何况你的“优化”可能会导致原程序出问题;
游戏server都加np了,我感觉这没什么必要,既然server已经往外传了(你都能拿到),我觉得你可以建议游戏公司在server端去掉np,一方面节省费用,一方面提高资源利用率;
你目前的工作貌似只解决了第6个问题,个人感觉前面的“致命问题”如果都这么处理,显然任重道远。个人提出以下思路: 前提:
在server端写个dll注入进去,方便对其进行修改,即比你修改反汇编简单,又能直接上高级语言; 问题1处理方法:
可以找到server处理recv数据的地方,如果有明显的bug,直接修复之;如果找不到此类所在,在自己的dll中提前对数据长度进行检测,发现异常数据直接丢弃;
问题2处理方法:
反外挂问题不是简单几步能搞好的,你有以下选择:1、找到成熟可靠的反外挂套路,放弃np,用新套路;2、在np基础上进行反外挂。分析外挂数据与正常游戏的不同,可以在服务器检测异常数据; 问题3处理方法:
客户端的保护是无法防止游戏穿墙的,你所做的只有一条道路:在server处检测客户端数据流,对所有走路数据进行检查坐标点,发现异常则清退。这可能会有很大的资源消耗,所以我建议检测不必是实时检测,每隔一定时间查一次,可以极大减低资源消耗;
问题4处理方法:
可以对你说的那个标记进行同步,也可以对server的装备处理加锁,防止同时修改数据。不过这要看服务器的具体实现了;
问题5处理方法:
网络容错能力差一般在于2点:1、可能是心跳同步数据太频繁;2、异常数据检测太严,每个数据包内可能都有校验值,一旦发现校验出错马上断开。如果是第一种情况,可以降低心跳频率,实在不行去掉心跳,用connect断开作为掉线检测;如果是第二种情况,把每个封包内的数据校验去掉,或者作为掉线辅助判断。
|
能力值:
( LV13,RANK:970 )
|
-
-
[原创]Pediy“瑞星”实现快速禁用
管他校验不校验,能杀毒能用不就行么。
楼主调试瑞星碰到反调试么?我用OD无法调试,你用sice碰到无法调试的情况么?
我用一个版本的瑞星,卸载卸不掉,每次卸掉后,过阵子他又偷偷安装了,这个你碰到么?
谢谢!
|