Hacking [release] FunKiiU 2.0 - complete content + ticket python tool

Pajar0

Active Member
Newcomer
Joined
Oct 24, 2016
Messages
29
Trophies
0
Age
104
XP
87
Country
Barbados
what tmd? you mean for 000500001010a700, super metroid?
you are using the latest version?
it works perfectly for me, with that game.
https://github.com/llakssz/FunKiiU/releases/latest

python FunKiiU.py -title 000500001010a700 -onlinekeys


@cearp Yes I iam using version 2.0.2
I always get that error, I tried 3 games always the same error.
I referred to the TDM cause @NWPlayer123 said that, but i think the problem is the blank character as the folders created contain a bland character before and after the underscore, also cause the invalid literal error showing a blanc char.
Any idea what the problem can be?
Code:
ls install/
000500001010a700 _ Super Metroid

Thank you.
 

cearp

瓜老外
OP
Developer
Joined
May 26, 2008
Messages
8,744
Trophies
2
XP
8,593
Country
Tuvalu
@Pajar0 - so this really happens using both python 2 and 3?
and on linux... hmmm.
very strange.

if there any content that works? or for everything, on your system, this happens?

Code:
python2.7 FunKiiU.py -title 000500001010a700 -onlinetickets
*******
FunKiiU by cearp and the cerea1killer
*******

Downloading/updating data from xxxx.xxxxx.xxx
Downloaded data OK!
Downloading TMD...
Downloading Contents...
Traceback (most recent call last):
File "FunKiiU.py", line 392, in <module>
patch_dlc=arguments.patch_dlc)
File "FunKiiU.py", line 365, in main
process_title_id(title_id, title_key, name, output_dir, retry_count, onlinetickets, patch_demo, patch_dlc)
File "FunKiiU.py", line 275, in process_title_id
total_size += int(binascii.hexlify(tmd[c_offs + 0x08:c_offs + 0x10]), 16)
ValueError: invalid literal for int() with base 16: ''
strange that the line with 'total_size +=...' seems to have an error, yet, basically the same line of 'content_count = ...' is ok for you...

i would say there is something wrong with your system because this problem is not happening to anyone else... :(
 
Last edited by cearp,

Pajar0

Active Member
Newcomer
Joined
Oct 24, 2016
Messages
29
Trophies
0
Age
104
XP
87
Country
Barbados
@Pajar0 - so this really happens using both python 2 and 3?
and on linux... hmmm.
very strange.

if there any content that works? or for everything, on your system, this happens?


strange that the line with 'total_size +=...' seems to have an error, yet, basically the same line of 'content_count = ...' is ok for you...

i would say there is something wrong with your system because this problem is not happening to anyone else... :(

@cearp
Yes it is happening with python2.7 and 3.5
As shell I am using GNU bash, version 4.4.0(1)-release (x86_64-pc-linux-gnu) in case it can help
I tried three games using onlinetickets and manually providing it
If you want me to test something else, please let me know.

Thank you
 

cearp

瓜老外
OP
Developer
Joined
May 26, 2008
Messages
8,744
Trophies
2
XP
8,593
Country
Tuvalu
@cearp
Yes it is happening with python2.7 and 3.5
As shell I am using GNU bash, version 4.4.0(1)-release (x86_64-pc-linux-gnu) in case it can help
I tried three games using onlinetickets and manually providing it
If you want me to test something else, please let me know.

Thank you
i'm not a python or unix expert... so i can't really help sorry.
maybe the thing that @NWPlayer123 suggested, the struct way would fix something? but i'm not sure, really i'm confused why only you are having this problem.

are you confident with code/python, maybe comment/delete these lines and see what happens for you.
Code:
    total_size = 0
    for i in range(content_count):
        c_offs = 0xB04 + (0x30 * i)
        total_size += int(binascii.hexlify(tmd[c_offs + 0x08:c_offs + 0x10]), 16)
    print('Total size is {}'.format(bytes2human(total_size)))
 

Pajar0

Active Member
Newcomer
Joined
Oct 24, 2016
Messages
29
Trophies
0
Age
104
XP
87
Country
Barbados
i'm not a python or unix expert... so i can't really help sorry.
maybe the thing that @NWPlayer123 suggested, the struct way would fix something? but i'm not sure, really i'm confused why only you are having this problem.

are you confident with code/python, maybe comment/delete these lines and see what happens for you.
Code:
    total_size = 0
    for i in range(content_count):
        c_offs = 0xB04 + (0x30 * i)
        total_size += int(binascii.hexlify(tmd[c_offs + 0x08:c_offs + 0x10]), 16)
    print('Total size is {}'.format(bytes2human(total_size)))

Hi I don't think it is a problem with my system. I have just tried FunKiiU in my laptop, which is running a different distro and a different bash version (4.3.42) and I go the same error.
Not sure if more people has tested this on Linux.

I tried to comment those lines and now the download nearly starts. However, it seems total_size is used later in the code to validate the size of the content to download, thus aborting the execution
Code:
*******
FunKiiU by cearp and the cerea1killer
*******

Downloading/updating data from xxx,xxx,xxxxx
Downloaded data OK!
Downloading TMD...
Downloading Contents...
Downloading 1 of 29743.
Content download not correct size

*Attempt 2 of 4
Content download not correct size

*Attempt 3 of 4
Content download not correct size

*Attempt 4 of 4
Content download not correct size

ERROR: Could not download content file... Skipping title

@NWPlayer123 @cerea1killer can you help with this please?

Thank you
 
Last edited by Pajar0,

jmrodrigues

Well-Known Member
Member
Joined
Feb 13, 2016
Messages
183
Trophies
0
Age
46
XP
1,022
Country
Portugal
I doubt it's program related. It's working fine on Macosx, which is also unix based. Do you have dual boot machine? Have tried on windows? To see if it's network problem?
 

RandomUser

Rosalina in Plush Form
Member
Joined
May 9, 2010
Messages
967
Trophies
1
XP
1,042
Country
United States
For some reason when using either commands: -onlineticket and -onlinekey, it will fail to download all the time, regardless if the keysite has the key or not. However when inputting the keys manually by using -key command, it works. Even the DLC stuff fails to download when using -onlinekey, however I manually inputted the key, it works?
 

Phantisy

Well-Known Member
Newcomer
Joined
Feb 12, 2016
Messages
90
Trophies
0
XP
134
Country
United States
I have used this tool down download games and install them. The only one I cannot get to work is Pokken Tournament. I get the error:

Install of title 00000000-00000000 failed
Error: MCP_InstallGetInfo 0xFFFBF3E2
Confirm complete WUP files are in the folder. Try power down.

I have installed other games like Zelda TP, Mario Maker, Mighty #9, and other without any issues with wup installer mod y1.
 

cearp

瓜老外
OP
Developer
Joined
May 26, 2008
Messages
8,744
Trophies
2
XP
8,593
Country
Tuvalu
You were right the problem was I was blocking Nintendo update servers on the router.
Now it is working :D
Thank you for your help
jesus christ... we have had this 'bug' before, but usually it doesn't go on that long until the user realizes.
i always forget about it though.
very very annoying, i will keep this in mind for ANYTHING even remotely similar... noobs look out.
although good it is working for you.
is there more then source
sorry? you want to see the source? it's python, it is the source.
About the last part, is that really an option to download everything? How big would that be? Nintendo is gonna bust.
we used to have '-all', but replaced it with '-region', and you used it like this:
FunKiiU.py -onlinetickets/-onlinekeys -region USA, or
FunKiiU.py -onlinetickets/-onlinekeys -region JPN EUR
and that will download all from those regions

The only one I cannot get to work is Pokken Tournament..
no idea... :( you are using sigpatches?
For some reason when using either commands: -onlineticket and -onlinekey, it will fail to download all the time, regardless if the keysite has the key or not. However when inputting the keys manually by using -key command, it works. Even the DLC stuff fails to download when using -onlinekey, however I manually inputted the key, it works?
strange... i am not sure.
i have fixed a few bugs, quite a few actually, and i will make a new release in a few minutes.
so, try that new version i put out and tell me if that happens also for you.
 

Pajar0

Active Member
Newcomer
Joined
Oct 24, 2016
Messages
29
Trophies
0
Age
104
XP
87
Country
Barbados
i have fixed a few bugs, quite a few actually, and i will make a new release in a few minutes.
so, try that new version i put out and tell me if that happens also for you.

It would be good if the script tries to connect to Nin servers and if it fails catches an exception telling the user that failed maybe due to servers blocked or unavailable.
 
  • Like
Reactions: pelago

cearp

瓜老外
OP
Developer
Joined
May 26, 2008
Messages
8,744
Trophies
2
XP
8,593
Country
Tuvalu
It would be good if the script tries to connect to Nin servers and if it fails catches an exception telling the user that failed maybe due to servers blocked or unavailable.
very good idea, thanks :) but you didn't seem to get an error message about 'tmd not downloaded' so, i'm not sure why not.
 

cearp

瓜老外
OP
Developer
Joined
May 26, 2008
Messages
8,744
Trophies
2
XP
8,593
Country
Tuvalu
ok 2.2 is out :)
https://github.com/llakssz/FunKiiU/releases/latest

It's even better this time!
  • Some bug fixes of course.
  • Files that already exist are skipped! Cool. Later this might be optional (but default), so let you overwrite if you want.
  • '-all' was dropped (used to get all content from the keysite)
    Instead, we now have '-region', use it with EUR, JPN, USA to get all things from that region, from the keysite.
    python FunKiiU.py -onlinetickets -region USA
    python FunKiiU.py -onlinekeys -region EUR JPN
  • I forget if it is in the previous release or not, but if the data exists in the json file from the titlekeysite, the name and region will be used to create the folder name the data is saved into.
  • There is a -ticketsonly mode, that will not download any game content, it will only get/generate the ticket (along with the tmd and cert, they are useful too.)
    python FunKiiU.py -onlinetickets -region EUR -ticketsonly
  • And a -simulate option, it will show you what would happen, where files would get saved etc, if you run the program with whatever commands you give it.
    python FunKiiU.py -onlinekeys -region JPN -simulate
  • If getting an update, no matter if using -keys or -onlinekeys or -onlinetickets, the ticket will be download from Big N because they have legit tickets 'public' for all Wii U updates. (not the case for 3ds)
    I reckon there is no reason anyone would want a update/ticket that is NOT legit, so... I'm forcing it.
 

dojafoja

life elevated
Member
Joined
Jan 2, 2014
Messages
696
Trophies
1
XP
2,613
Country
ok 2.2 is out :)
https://github.com/llakssz/FunKiiU/releases/latest

It's even better this time!
  • Some bug fixes of course.
  • Files that already exist are skipped! Cool. Later this might be optional (but default), so let you overwrite if you want.
  • '-all' was dropped (used to get all content from the keysite)
    Instead, we now have '-region', use it with EUR, JPN, USA to get all things from that region, from the keysite.
    python FunKiiU.py -onlinetickets -region USA
    python FunKiiU.py -onlinekeys -region EUR JPN
  • I forget if it is in the previous release or not, but if the data exists in the json file from the titlekeysite, the name and region will be used to create the folder name the data is saved into.
  • There is a -ticketsonly mode, that will not download any game content, it will only get/generate the ticket (along with the tmd and cert, they are useful too.)
    python FunKiiU.py -onlinetickets -region EUR -ticketsonly
  • And a -simulate option, it will show you what would happen, where files would get saved etc, if you run the program with whatever commands you give it.
    python FunKiiU.py -onlinekeys -region JPN -simulate
  • If getting an update, no matter if using -keys or -onlinekeys or -onlinetickets, the ticket will be download from Big N because they have legit tickets 'public' for all Wii U updates. (not the case for 3ds)
    I reckon there is no reason anyone would want a update/ticket that is NOT legit, so... I'm forcing it.
New GUI should drop today or tomorrow. Some kinda cool new features like a dropdown selection of titles parsed from titlekeys.json and hopefully auto updates too. Did you guys add the __VERSION__ attribute? I haven't taken a look at it yet. Still at work.
 
  • Like
Reactions: cearp and hudhair

cearp

瓜老外
OP
Developer
Joined
May 26, 2008
Messages
8,744
Trophies
2
XP
8,593
Country
Tuvalu
New GUI should drop today or tomorrow. Some kinda cool new features like a dropdown selection of titles parsed from titlekeys.json and hopefully auto updates too. Did you guys add the __VERSION__ attribute? I haven't taken a look at it yet. Still at work.
i tried to... i'm not sure if it is as simple as what i did :D
 

dojafoja

life elevated
Member
Joined
Jan 2, 2014
Messages
696
Trophies
1
XP
2,613
Country
i tried to... i'm not sure if it is as simple as what i did :D
I just looked at it and its right. But I think the python convention for version naming says it should be a string. Not that I care because my python is mediocre at best lol.
It will work either way and I have updates basically fully working but I want to see if I can restart both scripts in place instead of needing to restart manually.
 
  • Like
Reactions: cearp

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: Atleast online