或与运算以及安全整数(数的影子)

小微 科技或与运算以及安全整数(数的影子)已关闭评论123字数 2943阅读模式
摘要八门神器是安卓、iOS、塞班平台上通用的游戏修改工具,可以修改内存中的数值和参数。在游戏运行时,内存和处理器都会对于游戏进行非常复杂的数据交换和变更。因为游戏有很多的数据,例如金钱...

八门神器是安卓、iOS、塞班平台上通用的游戏修改工具,可以修改内存中的数值以及参数。在游戏运行时,内存以及处理器都会对于游戏进行无比繁杂的数据交流以及变更。由于游戏有不少的数据,例如金钱、HP值、等级、袭击力、防御力、战役力等数据,特别是PVE战役在客户端进行。服务器校验缺失等。而这些数据,就在内存以及处理器的各个地址之中,玩家只需要在八门神器中搜寻相关的数据值,八门神器就会将搜寻出记录此数据的各个地址显示,玩家进行屡次的数据变更后再次搜寻,到最后就会肯定此地址究竟是哪个,然后将此地址的数值进行修改,回到游戏中,相关的数据也会变化,八门神器的原理就如金山游侠、整人专家、游戏修改巨匠等类型的修改软件,只无非八门神器只可以在智能手机中使用而已。

对于八门神器在修改游戏时产生没法修改或没法保留修改后的数据等情况,是由于游戏自身经由特殊处理。安全整型。主要用来内存寄存功能。避免八门神器等外挂篡改。依据外挂机制可以在游戏开发中内存整形的简单加密。也就是真实值A暗藏。内存中值只是A的影子而已。具体原理就是或与运算的奇妙利用。文章源自微观生活(93wg.com)微观生活-https://93wg.com/11152.html

或运算原理文章源自微观生活(93wg.com)微观生活-https://93wg.com/11152.html

1.常数A或变量=常数B。变量或常数A=常数B。常数A:383391203常数B:34603266分析:散布转换成二进制得出结论公式10110110110100001010111100011&0X01X00X10X0XXXX0X0X1000XXX10等于:00010000100000000000100000010结论:变量有规律,其中X可以是0或者1则12个X可以取值个数为:1<<13=8192个数例如:?383391203&34867974;00010000101000000101100000110?383391203&34867978;00010000101000000101100001010?383391203&34867982;00010000101000000101100001110

与运算原理文章源自微观生活(93wg.com)微观生活-https://93wg.com/11152.html

2.常数A与变量=常数B。变量与常数A=常数B常数A:383391203常数B:1459600891分析:散布转换成二进制得出结论公式0010110110110100001010111100011|10X0XX0XX1XX1X1101X1X0XXXX110XX等于:1010110111111111011110111111011例如:?383391203|1076739384;1000000001011011011110100111000?383391203|1076210840;1000000001001011010110010011000?383391203|1076209688;1000000001001011010100000011000?383391203|1076210168;1000000001001011010100111111000

得出结论。发散思惟。推行利用。文章源自微观生活(93wg.com)微观生活-https://93wg.com/11152.html

最后结论是把32位整形拆分:每一位分解成两个整数表示:算法便可得出参照SaftInt类XXX0X01X 00X10X0X XXX0X0X1 000XXX10010X0XX0 XX1XX1X1 101X1X0X XXX110XX拓展:把整数对应位分别去除了来利用推行: 怎么一个整数A可以以及此外一个变量互转。 有了这个根据则可以用于游戏开发中内存整形的简单加密。 也就是真实值A暗藏。内存中值只是A的影子而已。

Gk8SafeInt.cs文章源自微观生活(93wg.com)微观生活-https://93wg.com/11152.html

using System.Collections;​/** * 安全整型:用主要用来内存寄存功能。避免八门神器外挂等 * @Thinker **/public class Gk8SafeInt{ private int m_nInt1; //内放整型1 private int m_nInt2; //内放整型2 //private int m_nMaskRnd; //随机掩码 //XXX0X01X 00X10X0X XXX0X0X1 000XXX10 //010X0XX0 XX1XX1X1 101X1X0X XXX110XX //取对应位 static int g_nMaskBit1=383391203; static int g_nMaskBit2=-383391204; //合并 static int g_nUionBit1=1076209688; static int g_nUionBit2=34603266;​ public override string ToString { return GetInt.ToString ; } private void MakeInt { //m_nMaskRnd=383391203; m_nInt1=g_nMaskBit1&nValue|g_nUionBit1; m_nInt2=g_nMaskBit2&nValue|g_nUionBit2; }​ private int GetInt { return +; }​ public Gk8SafeInt { MakeInt; } public Gk8SafeInt { MakeInt; }​ public static explicit operator Gk8SafeInt { return new Gk8SafeInt; } public static implicit operator int { return iSafeInt.GetInt; } //重载加减乘除了 public static Gk8SafeInt operator + { int n=iSafeInt.GetInt; n+=nValue; return new Gk8SafeInt; } public static Gk8SafeInt operator - { int n=iSafeInt.GetInt; n-=nValue; return new Gk8SafeInt; } public static Gk8SafeInt operator * { int n=iSafeInt.GetInt; n*=nValue; return new Gk8SafeInt; } public static Gk8SafeInt operator / { int n=iSafeInt.GetInt; n/=nValue; return new Gk8SafeInt; } //重载比较操作 public static bool operator < { if< nValue) return true; return false; } public static bool operator <= { if<= nValue) return true; return false; } public static bool operator == { if==nValue) return true; return false; } public static bool operator != { if!=nValue) return true; return false; } public static bool operator >= { if>=nValue) return true; return false; } public static bool operator > { if>nValue) return true; return false; }}

以上就是微观生活(93wg.com)关于“或与运算以及安全整数(数的影子)”的详细内容,希望对大家有所帮助!文章源自微观生活(93wg.com)微观生活-https://93wg.com/11152.html 文章源自微观生活(93wg.com)微观生活-https://93wg.com/11152.html

继续阅读
 
小微
  • 版权声明: 本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们(管理员邮箱:81118366@qq.com),情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!
  • 转载请务必保留本文链接:https://93wg.com/11152.html