앗쌰뵹 ㅋㅋㅋ
이렇게 Javascript Injection 으로 점수 조작이 가능하다 ㅋㄷ;
# 인젝션 함수 실행 부분 Example
NSString *prefixUrl1 = @"https://appgame.okcashbag.com/game/2048/"; if([request.URL.absoluteString hasPrefix:prefixUrl1]) { [self performSelector:@selector(doInjection) withObject:nil afterDelay:5.0]; }
# Javascript 인젝션 함수 Example
- (void)doInjection { NSString *buildString = @"game2048_04210214"; NSString *scoreString = @"513842"; NSString *keyString = @"26gameState"; // 초기 값 확인 함 [self viewJson:keyString]; // 스코어 인젝션 NSString *game2048String = [[NSUserDefaults standardUserDefaults] objectForKey:buildString]; if ([game2048String isEqualToString:@"Y"] == NO) { [[NSUserDefaults standardUserDefaults] setObject:@"Y" forKey:buildString]; [self injectScore:scoreString key:keyString]; // 잘 됐는지 확인 함 [self viewJson:keyString]; } } - (void)viewJson:(NSString *)keyString { //NSString *result1 = [NSString stringWithFormat:@"localStorage.getItem('12gameState');"]; NSString *result1 = [NSString stringWithFormat:@"localStorage.getItem('%@');", keyString]; NSString *value1 = [_webView stringByEvaluatingJavaScriptFromString:result1]; NSLog(@"------> value1 : %@", value1); } - (void)injectScore:(NSString *)scoreString key:(NSString *)keyString { //NSString *keyString = @"12gameState"; //NSString *scoreString = @"460182"; //NSString *buildString = @"game2048_1127"; NSString *result0 = [NSString stringWithFormat:@"localStorage.setItem(\"%@\", JSON.stringify({\"grid\":{\"size\":4,\"cells\":[[{\"position\":{\"x\":0,\"y\":0},\"value\":2}, {\"position\":{\"x\":0,\"y\":1},\"value\":1024},{\"position\":{\"x\":0,\"y\":2},\"value\":8192}, {\"position\":{\"x\":0,\"y\":3},\"value\":64}],[{\"position\":{\"x\":1,\"y\":0},\"value\":512}, {\"position\":{\"x\":1,\"y\":1},\"value\":256},{\"position\":{\"x\":1,\"y\":2},\"value\":256}, {\"position\":{\"x\":1,\"y\":3},\"value\":128}],[{\"position\":{\"x\":2,\"y\":0},\"value\":1024}, {\"position\":{\"x\":2,\"y\":1},\"value\":4},{\"position\":{\"x\":2,\"y\":2},\"value\":2}, {\"position\":{\"x\":2,\"y\":3},\"value\":2048}],[{\"position\":{\"x\":3,\"y\":0},\"value\":1024}, null,null,null]]},\"score\":%@,\"over\":false,\"won\":false,\"keepPlaying\":false,\"started\":true}));", keyString, scoreString]; NSString *value0 = [_webView stringByEvaluatingJavaScriptFromString:result0]; NSLog(@"------> value0 : %@", value0); }
No. | Category | Subject | Author | Date | Views |
---|---|---|---|---|---|
81 | Develop |
논문에 들어갈 툴바 테스트 해볼 것..
![]() |
hooni | 2013.04.23 | 8013 |
80 | Develop | 다양한 방법으로 아주 큰 수(Big Number) 계산.. ㅋㅋ | hooni | 2013.04.23 | 8405 |
79 | Develop | 다운 받아서 테스트 해볼것.. | hooni | 2013.04.23 | 9171 |
78 | Develop |
도메인 관련 솔루션 분석할 거.. ㅋㄷ
![]() |
hooni | 2013.04.23 | 7053 |
77 | Algorithm | 디피헬만(Diffie-Hellman) 초간단 개념.. | hooni | 2013.04.23 | 81080 |
76 | System/OS |
라우팅 경로 결정 영향 요소 ㅋㅋ
![]() |
hooni | 2013.04.23 | 15942 |
75 | Develop | 라이브러리에 대한 설명 (static & dynamic library) | hooni | 2013.04.23 | 6967 |
74 | Algorithm | 러시아 페인트공 알고리즘에 대해.. | hooni | 2013.04.23 | 22971 |
73 | Develop |
레고 NXT 마인드스톰 밸런싱 로봇 ㅎㅎ
![]() |
hooni | 2013.04.23 | 57765 |
72 | Develop |
레고 마인드스톰 NXT 수도쿠, 큐브 소스코드..
20 ![]() |
hooni | 2013.04.23 | 81568 |
71 | Develop |
리팩토링 계획안
![]() |
hooni | 2017.05.15 | 867 |
70 | Develop |
링크들 보고 지울 내용
![]() |
hooni | 2019.11.21 | 0 |