2013-08-28 56 views
0

我正在練習手機上的黑客入侵遊戲王國時代(v2.0)的ipad。iPhone上的MobileSubstrate遊戲黑客攻擊

我只是想賺一大筆遊戲裏的錢,但是我無處可去。玩家在一個類CCPlayer中定義,有時候會被服務器檢查。

所以我試圖去CCGameInformation類中的數據的核心。函數 - (id)activePlayer是callet很多(像每秒30次),所以我認爲這是一個很好的開始。

CCPlayer定義(在包括文件)作爲

@interface CCPlayer : FZPlayer <NSCoding> 
{ 
NSString *townName; 
NSString *rawLastUpdateEnergyTime; 
NSString *rawLastUpdateStaminaTime; 
NSString *rawExpansionTimeStarted; 
NSString *rawBankUpgradeTimeStarted; 
... 
int gold; 
int level; 
int attack; 
... 
@end 

我宣佈它在Tweaks.xm爲:

@interface CCPlayer:NSObject 
{ 
NSString *townName; 
NSString *rawLastUpdateEnergyTime; 
NSString *rawLastUpdateStaminaTime; 
NSString *rawExpansionTimeStarted; 
NSString *rawBankUpgradeTimeStarted; 
... 
int gold; 
int level; 
int attack; 
... 
@end 

我實際上包含了整個事情,只是改變了基類。

CCGameInformation被定義爲:

@interface CCGameInformation : _ACFacebookAppIdKey 
{ 
CCPlayer *user_; 
CCLevel *userLevel_; 
.... 
} 

我Tweaks.xm將它定義爲

@interface CCGameInformation : NSObject 
{ 
CCPlayer *user_; 
} 
@end 

和我掛鉤的樣子:

%hook CCGameInformation 
- (id)activePlayer 
{ 
    CCPlayer* player = (CCPlayer*)%orig; 
    MSHookIvar<int>(player, "energy") = 10; 
    NSLog(@"Energy:%d\n",MSHookIvar<int>(player, "energy")); 
    return player; 
} 

但它不工作所有。它按預期打印出「能量:10」,但遊戲中的能量不會改變。

我是否正確使用掛鉤過程和減速,或者遊戲只是更保護,然後我期望?

謝謝。

+0

http://twodayslate.wordpress.com/2013/09/23/how-to-properly-hook-into-an-實例變量與 - THEOS / – twodayslate

回答

0

遊戲實際上可能會將所有用戶數據存儲在服務器上。這在具有應用內購買功能的遊戲中更爲突出。不幸的是,在這種情況下可以做的事情很少。如果您想進一步考慮這種方法,例如:

%hook CCPlayer 

-(int)gold 
{ 
    return 1000;  //amount of gold. 
} 
%end