NyaMisty / ipatool-py

IPATool-py: download ipa easily
https://drafts.misty.moe/ipatool-py-5848aa887aff4bc49fad6dc495a6578f
501 stars 126 forks source link

Suddenly facing this issue. Any help would be appreciated. IPTool is still working but not IPATool-py MZFinance #34

Closed iammanpreetsingh closed 10 months ago

iammanpreetsingh commented 11 months ago
[16:03:41] INFO     Looking up app in country US with BundleID       main.py:147
                    BundleID com.mixcloud.iphone                                
[16:03:42] INFO     Found app:                                       main.py:154
                            Name: Mixcloud - Music, Mixes & Live                
                            Version: 35.4.8                                     
                            bundleId: com.mixcloud.iphone                       
                            appId: 401206431                                    
           INFO     Logging into iTunes...                           main.py:197
[16:03:43] CRITICAL Store authenticate failed! Message:              main.py:205
Traceback (most recent call last):
  File "/Users/manpreet/ipatool-py/main.py", line 247, in handleDownload
    Store = self._get_StoreClient(args)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/manpreet/ipatool-py/main.py", line 199, in _get_StoreClient
    Store.authenticate(appleid, applepass)
  File "/Users/manpreet/ipatool-py/reqs/store.py", line 44, in authenticate
    raise StoreException("authenticate", resp.customerMessage, resp.failureType)
reqs.store.StoreException: Store authenticate error: 

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/manpreet/ipatool-py/main.py", line 325, in <module>
    main()
  File "/Users/manpreet/ipatool-py/main.py", line 323, in main
    tool.tool_main()
  File "/Users/manpreet/ipatool-py/main.py", line 131, in tool_main
    args.func(args)
  File "/Users/manpreet/ipatool-py/main.py", line 318, in handleDownload
    self._handleStoreException(e)
  File "/Users/manpreet/ipatool-py/main.py", line 206, in _handleStoreException
    logger.fatal("    Raw Response: %s" % (e.resp.as_dict()))
                                           ^^^^^^^^^^^^^^
AttributeError: 'str' object has no attribute 'as_dict'
davipt commented 10 months ago

`diff --git a/main.py b/main.py index f84175b..299e4b8 100755 --- a/main.py +++ b/main.py @@ -203,7 +203,7 @@ class IPATool(object): def _handleStoreException(self, _e): e = _e # type: StoreException logger.fatal("Store %s failed! Message: %s%s" % (e.req, e.errMsg, " (errorType %s)" % e.errType if e.errType else ''))

First I got the “you account is disabled” so I went to the web and reenabled it (enter security questions, set a new password), which made the response switch to the dreadful "Raw Response: MZFinance.BadLogin.Configurator_message”.

A day later I was able to login and download a test app, but the second login attempt failed again. The behavior is quite random for each of my accounts.

I have a piece of code that saves the login session and prevents having to login every time, which reduces the probability of getting the account locked, but that’s not the necessary solution at the moment when the login fails right away.

I’ll have a look at the latest changes on IPATool and see if there’s something that needs to be ported here to make it work again.

Clearly something changed on Apple’s side that either broke the login, or is more strict looking for non-legit logins.

iammanpreetsingh commented 10 months ago

I have a piece of code that saves the login session and prevents having to log in every time, which reduces the probability of getting the account locked, but that’s not the necessary solution at the moment when the login fails right away.

After changing as_dict() from line 206, I now get MZFinance.BadLogin.Configurator_message message error.

But one thing to point out! IPATool is working 100% fine for me. Only IPATool-py is having issues.

Can you try to fix this? NyaMisty isn't responding.

MikePendo commented 10 months ago

Having the same issue any insight?

iammanpreetsingh commented 10 months ago

Having the same issue any insight?

Nope! I did not try it anymore. The developer of this script isn't responding and I have 0 knowledge of coding so I can't do anything!

I can even pay to fix this! But they are not responding!

If you can't work on the issues then don't create projects.

MikePendo commented 10 months ago

@iammanpreetsingh I wouldn't accuse the people who made this project.(they still did a good job and might be busy) In any case you can always use the ipatool. https://github.com/majd/ipatool

easylyou commented 10 months ago
// in ipatool-py/reqs/store.py:22
    def __init__(self, sess: requests.Session, guid: str = '000C2941396B'):

I figured it out. Change the guid above to whatever you like but keep the length. The guid in fact is generated from your Mac addr of your network card. Now it works fine

iammanpreetsingh commented 10 months ago
// in ipatool-py/reqs/store.py:22
    def __init__(self, sess: requests.Session, guid: str = '000C2941396B'):

Change the guid above to whatever you like but keep the length. Thanks to https://github.com/NyaMisty/ipatool-py/issues/34#issuecomment-1853585227 for the resolution!

I may think this issue will come again but we will fix this again with the above resolution.

davipt commented 10 months ago

Hope some of my fixes can help https://github.com/NyaMisty/ipatool-py/pull/35/files

NyaMisty commented 9 months ago

Already merged @davipt

iammanpreetsingh commented 7 months ago

Old GUID: 000C2941567A