? 八門神器是安卓、iOS、塞班平臺上通用的游戲修改工具,可以修改內(nèi)存中的數(shù)值和參數(shù)。在游戲運(yùn)行時,內(nèi)存和處理器都會對于游戲進(jìn)行非常復(fù)雜的數(shù)據(jù)交換和變更。因為游戲有很多的數(shù)據(jù),例如金錢、HP值、等級、攻擊力、防御力、戰(zhàn)斗力等數(shù)據(jù),尤其是PVE戰(zhàn)斗在客戶端進(jìn)行。服務(wù)器校驗缺失等。而這些數(shù)據(jù),就在內(nèi)存和處理器的各個地址當(dāng)中,玩家只需要在八門神器中搜索相關(guān)的數(shù)據(jù)值,八門神器就會將搜索出記錄此數(shù)據(jù)的各個地址顯示,玩家進(jìn)行多次的數(shù)據(jù)變更后再次搜索,到最后就會確定此地址到底是哪一個,然后將此地址的數(shù)值進(jìn)行修改,回到游戲中,相關(guān)的數(shù)據(jù)也會變化,八門神器的原理就如金山游俠、整人專家、游戲修改大師等類型的修改軟件,只不過八門神器只可以在智能手機(jī)中使用而已。
成都創(chuàng)新互聯(lián)專注于雙牌企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),成都商城網(wǎng)站開發(fā)。雙牌網(wǎng)站建設(shè)公司,為雙牌等地區(qū)提供建站服務(wù)。全流程按需策劃設(shè)計,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
? 對于八門神器在修改游戲時發(fā)生無法修改或無法保存修改后的數(shù)據(jù)等情況,是因為游戲本身經(jīng)過特殊處理。安全整型。主要用來內(nèi)存存放功能。防止八門神器等外掛篡改。根據(jù)外掛機(jī)制可以在游戲開發(fā)中內(nèi)存整形的簡單加密。也就是真實值A(chǔ)隱藏。內(nèi)存中值只是A的影子而已。具體原理就是或與運(yùn)算的巧妙應(yīng)用。
或運(yùn)算原理
1.常數(shù)A或變量=常數(shù)B。變量或常數(shù)A=常數(shù)B。
常數(shù)A:383391203
常數(shù)B:34603266
分析:分布轉(zhuǎn)換成二進(jìn)制得出結(jié)論公式
10110110110100001010111100011
&
0X01X00X10X0XXXX0X0X1000XXX10
等于:
00010000100000000000100000010
結(jié)論:變量有規(guī)律,其中X可以是0或者1
則12個X可以取值個數(shù)為:1<<13=8192個數(shù)
例如:
?383391203&34867974;
00010000101000000101100000110
?383391203&34867978;
00010000101000000101100001010
?383391203&34867982;
00010000101000000101100001110
與運(yùn)算原理
2.常數(shù)A與變量=常數(shù)B。變量與常數(shù)A=常數(shù)B
常數(shù)A:383391203
常數(shù)B:1459600891
分析:分布轉(zhuǎn)換成二進(jìn)制得出結(jié)論公式
0010110110110100001010111100011
|
10X0XX0XX1XX1X1101X1X0XXXX110XX
等于:
1010110111111111011110111111011
例如:
?383391203|1076739384;
1000000001011011011110100111000
?383391203|1076210840;
1000000001001011010110010011000
?383391203|1076209688;
1000000001001011010100000011000
?383391203|1076210168;
1000000001001011010100111111000
得出結(jié)論。發(fā)散思維。推廣應(yīng)用。
最后結(jié)論是把32位整形拆分:每位分解成兩個整數(shù)表示:算法即可得出參照SaftInt類
XXX0X01X 00X10X0X XXX0X0X1 000XXX10
010X0XX0 XX1XX1X1 101X1X0X XXX110XX
拓展:把整數(shù)對應(yīng)位分別去除來
應(yīng)用推廣:
如何一個整數(shù)A可以和另外一個變量互轉(zhuǎn)。
有了這個依據(jù)則可以用于游戲開發(fā)中內(nèi)存整形的簡單加密。
也就是真實值A(chǔ)隱藏。內(nèi)存中值只是A的影子而已。
Gk8SafeInt.cs
using System.Collections;
/**
* 安全整型:用主要用來內(nèi)存存放功能。防止八門神器外掛等
* @Thinker
**/
public class Gk8SafeInt
{
private int m_nInt1; //內(nèi)放整型1
private int m_nInt2; //內(nèi)放整型2
//private int m_nMaskRnd; //隨機(jī)掩碼
//XXX0X01X 00X10X0X XXX0X0X1 000XXX10
//010X0XX0 XX1XX1X1 101X1X0X XXX110XX
//取對應(yīng)位
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(int nValue)
{
//m_nMaskRnd=383391203;
m_nInt1=g_nMaskBit1&nValue|g_nUionBit1;
m_nInt2=g_nMaskBit2&nValue|g_nUionBit2;
}
private int GetInt()
{
return (m_nInt1&g_nMaskBit1)+(m_nInt2&g_nMaskBit2);
}
public Gk8SafeInt()
{
MakeInt(0);
}
public Gk8SafeInt(int nValue)
{
MakeInt(nValue);
}
public static explicit operator Gk8SafeInt(int nValue)
{
return new Gk8SafeInt(nValue);
}
public static implicit operator int(Gk8SafeInt iSafeInt)
{
return iSafeInt.GetInt();
}
//重載加減乘除
public static Gk8SafeInt operator + (Gk8SafeInt iSafeInt,int nValue)
{
int n=iSafeInt.GetInt();
n+=nValue;
return new Gk8SafeInt(n);
}
public static Gk8SafeInt operator - (Gk8SafeInt iSafeInt,int nValue)
{
int n=iSafeInt.GetInt();
n-=nValue;
return new Gk8SafeInt(n);
}
public static Gk8SafeInt operator * (Gk8SafeInt iSafeInt,int nValue)
{
int n=iSafeInt.GetInt();
n*=nValue;
return new Gk8SafeInt(n);
}
public static Gk8SafeInt operator / (Gk8SafeInt iSafeInt,int nValue)
{
int n=iSafeInt.GetInt();
n/=nValue;
return new Gk8SafeInt(n);
}
//重載比較操作
public static bool operator < (Gk8SafeInt iSafeInt,int nValue)
{
if(iSafeInt.GetInt()< nValue) return true;
return false;
}
public static bool operator <= (Gk8SafeInt iSafeInt,int nValue)
{
if(iSafeInt.GetInt()<= nValue) return true;
return false;
}
public static bool operator == (Gk8SafeInt iSafeInt,int nValue)
{
if(iSafeInt.GetInt()==nValue) return true;
return false;
}
public static bool operator != (Gk8SafeInt iSafeInt,int nValue)
{
if(iSafeInt.GetInt()!=nValue) return true;
return false;
}
public static bool operator >= (Gk8SafeInt iSafeInt,int nValue)
{
if(iSafeInt.GetInt()>=nValue) return true;
return false;
}
public static bool operator > (Gk8SafeInt iSafeInt,int nValue)
{
if(iSafeInt.GetInt()>nValue) return true;
return false;
}
}
網(wǎng)頁標(biāo)題:或與運(yùn)算和安全整數(shù)(數(shù)的影子)
文章源于:http://bm7419.com/article38/jjcipp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、靜態(tài)網(wǎng)站、網(wǎng)站設(shè)計、云服務(wù)器、品牌網(wǎng)站建設(shè)、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)