나는 ipad를 위해 킹덤 게임 (Kingdom Age, v2.0)에서 모바일 해킹을 연습하고 있습니다.아이폰에서 모바일 해킹 게임
나는 게임 내에서 엄청난 돈을 벌고 싶지만, 나는 어디에도 가지 않는다. 플레이어는 클래스 CCPlayer에 정의되어 있으며 때로는 서버를 검사합니다.
그래서 CCGameInformation 클래스 내부의 데이터 중심에 도달하려고합니다. 함수 - (id) activePlayer는 많은 양의 callet (30 회/초)이므로 시작하기 좋은 곳이라고 생각했습니다. 단지 기본 클래스를 변경,
@interface CCPlayer:NSObject
{
NSString *townName;
NSString *rawLastUpdateEnergyTime;
NSString *rawLastUpdateStaminaTime;
NSString *rawExpansionTimeStarted;
NSString *rawBankUpgradeTimeStarted;
...
int gold;
int level;
int attack;
...
@end
가 실제로 전체를 포함 :
CCPlayer이
@interface CCPlayer : FZPlayer <NSCoding>
{
NSString *townName;
NSString *rawLastUpdateEnergyTime;
NSString *rawLastUpdateStaminaTime;
NSString *rawExpansionTimeStarted;
NSString *rawBankUpgradeTimeStarted;
...
int gold;
int level;
int attack;
...
@end
로 (포함 파일에) 정의 I는 다음과 같이 Tweaks.xm에 선언했다. 내가
@interface CCGameInformation : NSObject
{
CCPlayer *user_;
}
@end
로 Tweaks.xm에 정의 그리고 내 후크의 모습
@interface CCGameInformation : _ACFacebookAppIdKey
{
CCPlayer *user_;
CCLevel *userLevel_;
....
}
:로
CCGameInformation 정의된다
%hook CCGameInformation
- (id)activePlayer
{
CCPlayer* player = (CCPlayer*)%orig;
MSHookIvar<int>(player, "energy") = 10;
NSLog(@"Energy:%d\n",MSHookIvar<int>(player, "energy"));
return player;
}
그러나 그것은 작동하지 않습니다 모든. 예상대로 "Energy : 10"을 인쇄하지만 게임 내 에너지는 변하지 않습니다.
후킹 프로세스와 감속을 올바르게 사용하고 있습니까? 그렇지 않으면 게임이 더 잘 보호되고 있습니까?
감사합니다.
http://twodayslate.wordpress.com/2013/09/23/how-to-properly-hook-into-an- 인스턴스 변수와 함께 theos / – twodayslate