Page 1 of 2 12 LastLast
Results 1 to 10 of 13

Thread: [Python] Ghoul Catchers API

  1. #1
    Squirtle's Avatar
    Joined
    Feb 2013
    Posts
    129
    Pronouns
    he/him
    Userbars
    16
    Thanks
    199
    Thanked
    346/86
    DL/UL
    547/9
    Mentioned
    47 times
    Time Online
    82d 19h 49m
    Avg. Time Online
    29m

    [Python] Ghoul Catchers API

    This is purely a showoff. I feel like public access to this could hurt the neopets economy if used on multiple accounts.



    Last night I decided to sit down and work out how to automatically send scores for ghoul catchers without any emulator/GUI.
    Safe to say this was pretty successful, anyone that has worked on creating APIs for mobile games will have no trouble at all with getting this done.

    Some key points:
    - The secret key is static
    - The api key is static
    - The app uses triple DES encryption (pretty poor choice imo)
    - Almost all of the encrypted data is encoded with both utf-16 & base64 before the data is encrypted with triple DES
    - Decryption of the data requires hashing a plain-text key they use then getting the bytes of the key
    - Encryption method uses (you need an account to see links)
    - Gives you the ability of getting the daily 50k np within roughly 10 seconds
    - Gives you the ability to clear every stage in the game in less than 2 minutes
    - Possibility of an NP gen
    - Possibility of a ghoul catchers exclusive item gen (rewards)

    A while back I saw a thread asking if they track IPs on the ghoul catchers app, they definitely do track that.

    Even though the title says python, if anyone feels like attempting this I'd recommend using C# since you wont need to create some of your own classes for this.

  2. The Following 11 Users Say Thank You to Squirtle For This Useful Post:

    |2eap (05-12-2020),986uwhje4u (09-20-2020),Bat (05-11-2020),Daviid (05-13-2020),hiddenblink (05-13-2020),Lolaloveloki (05-23-2020),Midas (05-10-2020),Pinecone (05-11-2020),Tenko (05-14-2020),Timmy101 (07-25-2020),Unown (05-12-2020)

  3. #2
    Unown's Avatar
    Joined
    Mar 2020
    Posts
    1,771
    Pronouns
    he/him
    Userbars
    51
    Thanks
    1,672
    Thanked
    5,274/1,194
    DL/UL
    65/2
    Mentioned
    264 times
    Time Online
    44d 2h 44m
    Avg. Time Online
    43m
    Quote Originally Posted by Majin View Post
    This is purely a showoff. I feel like public access to this could hurt the neopets economy if used on multiple accounts.



    Last night I decided to sit down and work out how to automatically send scores for ghoul catchers without any emulator/GUI.
    Safe to say this was pretty successful, anyone that has worked on creating APIs for mobile games will have no trouble at all with getting this done.

    Some key points:
    - The secret key is static
    - The api key is static
    - The app uses triple DES encryption (pretty poor choice imo)
    - Almost all of the encrypted data is encoded with both utf-16 & base64 before the data is encrypted with triple DES
    - Decryption of the data requires hashing a plain-text key they use then getting the bytes of the key
    - Encryption method uses (you need an account to see links)
    - Gives you the ability of getting the daily 50k np within roughly 10 seconds
    - Gives you the ability to clear every stage in the game in less than 2 minutes
    - Possibility of an NP gen
    - Possibility of a ghoul catchers exclusive item gen (rewards)

    A while back I saw a thread asking if they track IPs on the ghoul catchers app, they definitely do track that.

    Even though the title says python, if anyone feels like attempting this I'd recommend using C# since you wont need to create some of your own classes for this.
    Wow this is really amazing.

    So you mean it totally bypasses all the playing and just submits the scores to the server?

    Though - we can't get the final prize for clearing level 120 so that's a big bummer.

  4. #3
    Squirtle's Avatar
    Joined
    Feb 2013
    Posts
    129
    Pronouns
    he/him
    Userbars
    16
    Thanks
    199
    Thanked
    346/86
    DL/UL
    547/9
    Mentioned
    47 times
    Time Online
    82d 19h 49m
    Avg. Time Online
    29m
    Quote Originally Posted by Unown View Post
    Wow this is really amazing.

    So you mean it totally bypasses all the playing and just submits the scores to the server?

    Though - we can't get the final prize for clearing level 120 so that's a big bummer.
    Yep, that’s correct! The entire process from logging into an account and sending scores to reach the daily neopoint cap is near instant.

  5. #4
    Unown's Avatar
    Joined
    Mar 2020
    Posts
    1,771
    Pronouns
    he/him
    Userbars
    51
    Thanks
    1,672
    Thanked
    5,274/1,194
    DL/UL
    65/2
    Mentioned
    264 times
    Time Online
    44d 2h 44m
    Avg. Time Online
    43m
    Quote Originally Posted by Majin View Post
    Yep, that’s correct! The entire process from logging into an account and sending scores to reach the daily neopoint cap is near instant.
    Damn.. if only I could code apps xD
    But yeah you're right, if there was public access to this the economy might just get screwed.

    Congrats on the milestone though!

    Any idea why the prizes for level 120 isn't given out? JN says that the prizes are sometimes given out but sometimes not on all platforms. Not sure if there's a fix for that.

    Sending in a ticket doesn't get it to happen either.

  6. #5
    Squirtle's Avatar
    Joined
    Feb 2013
    Posts
    129
    Pronouns
    he/him
    Userbars
    16
    Thanks
    199
    Thanked
    346/86
    DL/UL
    547/9
    Mentioned
    47 times
    Time Online
    82d 19h 49m
    Avg. Time Online
    29m
    Quote Originally Posted by Unown View Post
    Damn.. if only I could code apps xD
    But yeah you're right, if there was public access to this the economy might just get screwed.

    Congrats on the milestone though!

    Any idea why the prizes for level 120 isn't given out? JN says that the prizes are sometimes given out but sometimes not on all platforms. Not sure if there's a fix for that.

    Sending in a ticket doesn't get it to happen either.
    I had a look into this for you and it seems that it's an issue on the neopets server. When I create a brand new account and sign up for ghoul catchers, or use an existing one, regardless of how many levels are completed, including the 10k registration bonus nothing will happen. I've had a look at the data that gets sent and that all seems like it's sending it correctly. I'm assuming this is another screw up on neos side again. There's nothing any user(s) cant do to get prizes at the moment.

  7. The Following User Says Thank You to Squirtle For This Useful Post:

    Unown (05-12-2020)

  8. #6
    Unown's Avatar
    Joined
    Mar 2020
    Posts
    1,771
    Pronouns
    he/him
    Userbars
    51
    Thanks
    1,672
    Thanked
    5,274/1,194
    DL/UL
    65/2
    Mentioned
    264 times
    Time Online
    44d 2h 44m
    Avg. Time Online
    43m
    Quote Originally Posted by Majin View Post
    I had a look into this for you and it seems that it's an issue on the neopets server. When I create a brand new account and sign up for ghoul catchers, or use an existing one, regardless of how many levels are completed, including the 10k registration bonus nothing will happen. I've had a look at the data that gets sent and that all seems like it's sending it correctly. I'm assuming this is another screw up on neos side again. There's nothing any user(s) cant do to get prizes at the moment.
    Thanks for looking into it for me, Majin!

    Yeah I guess it's something they just screwed up again xD

  9. #7
    Peanutface's Avatar
    Joined
    Sep 2015
    Posts
    1,441
    Userbars
    76
    Thanks
    712
    Thanked
    2,515/835
    DL/UL
    84/0
    Mentioned
    196 times
    Time Online
    94d 15h 24m
    Avg. Time Online
    43m
    Well I play daily for the 50K. Takes about 20/30 minutes. Instant is better


    Cashew
    Hatched: 11-14-2020

    Thank you (you need an account to see links) for the adoptables!

  10. #8


    hiddenblink's Avatar
    Joined
    Jul 2017
    Posts
    108
    Userbars
    6
    Thanks
    89
    Thanked
    65/34
    DL/UL
    15/0
    Mentioned
    14 times
    Time Online
    3d 1h 46m
    Avg. Time Online
    1m
    How I would love to be able to code stuff like this myself...not that it would do much good. My game is convinced I've reached the NP limit despite my having played only two rounds today.
    all that we see or seem is but a dream within a (you need an account to see links).

  11. #9
    Squirtle's Avatar
    Joined
    Feb 2013
    Posts
    129
    Pronouns
    he/him
    Userbars
    16
    Thanks
    199
    Thanked
    346/86
    DL/UL
    547/9
    Mentioned
    47 times
    Time Online
    82d 19h 49m
    Avg. Time Online
    29m
    Quote Originally Posted by hiddenblink View Post
    How I would love to be able to code stuff like this myself...not that it would do much good. My game is convinced I've reached the NP limit despite my having played only two rounds today.
    I’d recommend playing the game to see if your neopoints change regardless of the message it displays. It’s a common bug in the game where the text displays that you’ve reached the daily limit, even though you’ll still receive the neopoints for the next 50k worth of scores sent.
    I looked into this bug the other day, it happens on some accounts because the server at times doesn't properly reset the point value back to 0 on a new day. The only value that really matters for being reset is the "LastNeopointsGivenTime" value.

    For example:
    This variable controls the text in game that you'll see, either a success message or the daily limit has been reached message:

    <Pair>
    <PairKey>NeopointsMoney</PairKey>
    <PairValue>50000</PairValue>
    <UpdateDate>2020-05-13T05:51:49.26</UpdateDate>
    <UserInventoryId>0</UserInventoryId>
    </Pair>

    Sometimes this doesn't get reset back to 0, which causes the visual bug saying you've already reached your daily limit. Though it's only visual and you'll still receive the neopoints until you've hit 50k again for that day.
    What really matters is the following:

    <Pair>
    <PairKey>LastNeopointsGivenTime</PairKey>
    <PairValue>05/13/2020 05:51:48</PairValue>
    <UpdateDate>2020-05-13T05:51:49.147</UpdateDate>
    <UserInventoryId>0</UserInventoryId>
    </Pair>

    This is what puts a "stop" on you gaining more than 50k neopoints a day. As long as it's been 24 hours from the last time you sent a score you'll always be able to receive 50k neopoints for the given day.

  12. The Following 2 Users Say Thank You to Squirtle For This Useful Post:

    hiddenblink (05-13-2020),Pinecone (05-13-2020)

  13. #10
    Jesedmoga's Avatar
    Joined
    Jan 2012
    Posts
    258
    Userbars
    24
    Thanks
    185
    Thanked
    297/116
    DL/UL
    127/0
    Mentioned
    54 times
    Time Online
    17d 20h 37m
    Avg. Time Online
    6m
    Quote Originally Posted by Unown View Post
    Damn.. if only I could code apps xD
    But yeah you're right, if there was public access to this the economy might just get screwed.

    Congrats on the milestone though!

    Any idea why the prizes for level 120 isn't given out? JN says that the prizes are sometimes given out but sometimes not on all platforms. Not sure if there's a fix for that.

    Sending in a ticket doesn't get it to happen either.
    So, I have no idea on programming at all but I did receive the prizes once a couple months ago. The game bugged so much all my data was erased after playing the first level again but I received the charm that I never got by beating the last level.
    It somehow made sense to me because everytime I "earned" a new prize I had to beat the next level to actually receive it, so the game must have overflowed and taken the tutorial as level 121 instead of 0 or something.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •