결제크랙 만들기
안녕하세요 오랬만에 글올려봅니다.
린포럼에는 보안담당자분들이 많으셔서 글올리는게 조심스럽더군요.
오늘은 요즘은 뜸한 결제크랙에관한내용입니다.
먼저 게임상에 결제관련부분을 파악해봅니다.
$99 딸라를 결제하면 모든 무기를 지급하는 올인원 팩을 확인.
게임내 확인이 끝났으니 클래스와 메소드를 이잡듯 뒤져 이녀석에 관련된 구매 메소드를 찾았습니다.
UnlockAllGunBtn 클래스의 OnClickBuyBtn 메소드를 발견.
이녀석을 클릭하는순간/ 언락올건버튼의 OnClickBuyBtn() 메소드가 실행되는것같습니다.
실제 어떤 코드가 들어있는지 확인해봅니다.
코드를 쭈욱 훑어보다보니 메소드 마지막에
PurchaseManager클래스의BuyProduct 메소드로 연결되는것이 확인됩니다.
이 PurchaseManager라는곳이 뭘하는곳인지 냄새가 풀풀나니 어떤 메소드들이 있는지 염탐하러갑니다.
PurchaseManager(구매담당매니저)클래스에는
이니셜라이즈를 비롯
구매 실패 및 구매프로세스에 관련 메소드들이 있는것들을 확인할수 있습니다
OnPurchaseFailed - 구매실패
ProcessPurchase - 구매 프로세스
일단 다시 게임으로 돌아가서
이 버튼을 누르면 BuyProduct 로 연결되는지 확인해봅니다.
버튼(OnClickBuyBtn)을 누르니 13만원짜리($99달라) 결제창(BuyProduct)으로 연결되는것이 확인됩니다.
이제 이 BuyProduct(결제) 에서 연결되는곳을 찾아봅니다.
찾다보니 매우의심스러운 냄새가 진동하는
UnlockALLGunBtn 클래스의OnCostMoneySuccess 라는
'모든총 언락버튼' 이라는 클래스에 '현금지불성공' 이라는 메소드가 보입니다.
이 '현금지불성공' 이라는 메소드의 내용물을 훑어보니,
WeaponManager 클래스의 UnlockAllGuns
웨폰매니저 클래스의 언락올건즈 메소드로 연결되거나,
GamePlayData 클래스의 SaveCloudData
게임플레이데이터 클래스의 클라우드서버저장 메소드로 연결된것이 확인됩니다.
이제 볼장 다봤으니
결과물을 만들어내야할시간입니다.
결제크랙의 최종목표는
모든무기언락팩99$ 버튼클릭 -> 모든무기 언락성공이니
UnlockAllGunBtn(99달라짜리 구매버튼을 누르는순간) -
BuyProduct(결제창)이뜨는게아닌,
OnCostMoneySucces(구매완료 메소드)로 연결되게끔 작업해줍니다.
적용후 제대로 결제크랙이 작동하나 확인해봅니다.
이제 $99달라 모든무기 결제버튼을 누르고 게임에 입장해보니 모든 무기를 사용할수있는것이 확인됩니다.
예전 앱짱에서 눈치안보고 활동할당시가 그립네요^^;
오늘도 즐겜하세요
아 두통.. 저는 프리스타일2 플라잉덩크 하러 이만..ㅎㅎ;
과외문의 카카오톡ID : codemod
홈페이지 : https://www.monkeycheat.com