Ni No Kuni (US) Save Modification

I wanted to report my findings and get a thread going to see if other people are interested in the inner workings of Ni No Kuni. Ever since dabbling with Pokemon I've been fascinated by save file editing and what you can do. In this thread I will talk about what I've figured out on my own and hopefully there are others out there willing to pitch in to figure out the structure of the Ni No Kuni save files.

To begin, let me acknowledge that this requires absolutely no modifications to the PS3, or other third party products. It has been done on my completely vanilla set up with a fair amount of ease. I will be as detailed as possible so it's easy to follow.

Requirements
  • Ni No Kuni: Wrath of the White Witch (Should work on NA and EU versions)
  • FAT32 formatted USB drive for transffering saves
  • A PC running Windows (I have not found software that works on other systems)
  • Bruteforce Save Data 2.3.4
  • Basic knowledge of hex editing
  • Make sure to create back ups of your save so you have something to fall back on if things go wrong
Downloads
I have only used one program in editing my save, and that is the wonderful Bruteforce Save Data found on Aldostools. Get the latest version from their site here, or download the version I'm using via this mediafire mirror (only doing this for posterity in case in the future the tool is hard to find.)

Note about installing Bruteforce Save Data: When you unpack the rar containing the installer, it will have a warning below the installer saying something like, "IMPORTANT - You must add your console_id to global.conf". You can safely ignore this for the purposes of this guide, decrypting should work either way.​

Getting the Save Ready
Step 1. Get your saves on the PC for editing. This is done very easily, as long as you have a FAT32 formatted thumb drive for your PS3. As I found out, PS3s apparently don't read NTFS thumb drives - I could be wrong, but formatting it to FAT32 fixed this for me, so you're going to need to make sure you have one properly set up or you're out of luck.

Plug your thumb drive into your PS3, go to Games > Saved Data Unity on XMB, select your Ni No Kuni save and hit Triangle, then go to Copy and from there select your USB drive. Once finished, eject your USB drive and plug it in to your computer.

Step 2. Your save should be located within PS3 > SAVEDATA inside a folder that looks something like BLUS30947_0000X. We're going to need the entire BLUS30947_0000X folder, so copy it. Make a back up of it for safe keeping somewhere far away from your working folder. Once backed up, paste the save into an empty folder on your computer. For reference, my hierarchy looks like this:

UDWrMDI.png


Step 3. Load up Bruteforce Save Data, and point it to your working folder.

NsiZOKa.png


Now we need to get the Key for the save file. To do this, right click the save and go to 'Bruteforce...'

VWakeUJ.png


From here, we need to decrypt the save file to make it editable, so select your save, then go to Decrypt PFD > Decrypt All Files

7iE2MX5.png


Click 'Yes' if prompted. The area on the lower left should now be green, this means that it's ready to go.

Step 4. To edit the file, double click on SYS-DATA in the green box.

4MS2ZQR.png


This should open the file for editing in a portable version of HxD. If you prefer to use your own hex editor, you can open SYS-DATA in that program now. Otherwise, if you haven't already, follow the prompts to allow HxD to run as a portable application. When finished you should be presented with the HEX to edit.
Making Changes

I haven't done much poking around yet, I will update this thread as I learn more. For now, here are some pointers and structures I've worked out (forgive me if the information is presented in a novice fashion).

Note about offsets: Offsets are not always static. The following should be taken as loose pointers and NOT absolute offsets. It's best to have some knowledge about hex editing before proceeding.​
Save Structure

The save structure is set up in blocks. The blocks begin with the hex delimiter 0xFFFE, followed by a unique one byte identifier that determines what the block contains, and end at 0xFEFF. The blocks are sometimes nested within each other.

The first block begins immediately at 0x00, and all followed blocks are nested within this one. After the first block there appears to be a bunch of junk that I haven't figured out the significance of yet.

I haven't discerned each block type yet, but here's what I know so far:
  • 1B - Inventory
  • 0A - Non-Familiar Character
  • 0D - Familiar
  • 04 - Not entirely sure, but contains Guilders
Guilders

The guilders offset starts 24 bytes before the sequence FE FF FF FE 80. To find it, do a search that looks like this:

rFaWZG5.png

Hitting OK should take you to the sequence. This sequence should only appear once, so it's a safe bet to look for it. You should now be looking at this:

ZB80Oau.png

From here, count 24 bytes backward. Note: Length is in hex, so 18 is actually 24 in hex.

LfCeSPg.png
The next 4 bytes are your guilders, as highlighted below:

EaNsjfD.png
Guilders is 4 bytes long, capping at 05F5E0FF (99999999G).



Oliver-Related

Oliver's Name: 0x00017D35
Oliver's Level: 0x00017D5A (byte)
Oliver's Experience: 0x00017D55 (4 bytes - I believe)
Oliver Current HP: 0x00017D5B (2 bytes)
Oliver Max HP: 0x00017D5D (2 bytes)
Oliver Current MP: 0x00017D5F (2 bytes)
Oliver Max MP: 0x00017D61 (2 bytes)
Oliver Attack: 0x00017D64 (byte)
Oliver Defense: 0x00017D66 (byte)

Note about experience: Experience is reset to 0 on level up. If you set your experience to something really high, you'll only ever level up one level at the end of a battle. You'll still get the experience from the battle, but the excess experience you had before vanishes.​

Character Structure

For lack of a better name, the character structure is what holds information on non-familiars. They are stored in 846 byte structures (not including block begin/end delimiters). More appear to be added to the save as the game progresses, not all the characters are available in the save immediately.

0x00 - Block ID (always 0A for character)​
0x0E-0x11 - Character ID​
0x12-? - Name (not entirely sure how long at the moment, null terminated)​
0x32-0x35 - Experience Points​
0x37 - Level​
0x39 - Current HP​
0x3B - Max HP​
0x3D - Current MP​
0x3F - Max MP​
0x41 - Attack​
0x43 - Defense​
0x45 - Magic Attack​
0x47 - Magic Defense​
0x49 - Evasion​
0x4B - Accuracy​


Familiar Structure

Familiars are stored in a 430 byte structure (not including block begin/end delimiters).

0x00 - Block ID (always 0D for familiar)​
0x0A-0x0B - Position in Bag​
0x0C-0x0D - Order Caught (?)​
0x0E-0x11 - Familiar ID​
0x12-0x22 - Name (null terminated)​
0x32-0x35 - Experience Points​
0x37 - Level​
0x41 - Attack​
0x43 - Defense​
0x45 - Magic Attack​
0x47 - Magic Defense​
0x49 - Accuracy​
0x4B - Evasion​
0xA2-0xB9 - Currently Set Skills (4 bytes per skill ID, includes Attack and Defend)​
0xBA-0xC4 - Stats of familiar during metamorphose (before being reset to 1, 2 bytes for each stat)​
0xC6-0xD0 - Grow 1 Stats (2 bytes for each stat, affects how much a stat increases on level up, the higher the better)​
0xD2-0xDC - Grow 2 Stats (same as above)​
0xE2 - Sign​
0x106-0x107 - Fullness​
0x10C - Familiarity​
0x10E-0x?? - Learned Skills (4 bytes per skill ID)​

It's easiest to locate the data relative to the name of your familiar. Start by searching for the name of the familiar you wish to edit, in plain text. I've highlighted the values for each familiar below.

S4ernrp.png

Note about experience: Experience is reset to 0 on level up. If you set your experience to something really high, you'll only ever level up one level at the end of a battle. You'll still get the experience from the battle, but the excess experience you had before vanishes.​

Fullness works in thousands (decimal), starting at 0 (empty). Each thousand represents one face. The values are as follows:
  • 00 00 - 0
  • 03 E8 - 1,000
  • 07 D0 - 2,000
  • 0B B8 - 3,000
  • 0F A0 - 4,000
  • 13 88 - 5,000
  • 17 70 - 6,000
  • 1B 58 - 7,000
  • 1F 40 - 8,000
  • 23 28 - 9,000
  • 27 10 - 10,000
If you want your familiar's fullness to be empty, set it to 00 00. Familiarity ranges from 00 - 05, 05 being full hearts and 00 being none.

Inventory Structure

I have a loose understanding of this, but thanks to the help of a Japanese wiki for the Japanese version of the game I have at least managed to work a few things out.

The Inventory starts at 0x00007D08 as far as I can tell. The structure is as follows:

4 bytes - Item Type (ID)
3 bytes padding
1 byte - Position of Item in Category
1 byte padding
1 byte - Number of Item in Inventory

To illustrate this:

3oLQ0BL.png

Below is a list of all the items with their proper English names, including the important items such as the Wizard's Companion, etc.. This list is provided by Supercool330 from later in this thread, so give thanks to him when you can:

Code:
Important Items:
67 93 4B 8E - The Wizard's Companion
4C BE 18 4D - Locket
1A E4 BF CB - Proof of Wits
03 FF 8E 8A - Proof of Friendship
28 D2 DD 49 - Proof of Strength
31 C9 EC 08 - Peculiar Pot
B6 51 F0 C7 - Cauldron
AF 4A C1 86 - Giant Cheese Wedge
7F 4A 10 F8 - Portrait
66 51 21 B9 - Letter of Passage
4D 7C 72 7A - Piece of Art
54 67 43 3B - Skeleton Key
1B 26 D5 FC - RIP Pass
02 3D E4 BD - Bronze Ticket
29 10 B7 7E - Silver Ticket
30 0B 86 3F - Golden Ticket
B7 93 9A F0 - Platinum Ticket
4F 3A CC 23 - Dragon Horn
56 21 FD 62 - Map of the Stones
19 60 6B A5 - Serpent Key
00 7B 5A E4 - Sun Stone
2B 56 09 27 - Star Stone
32 4D 38 66 - Moon Stone
B5 D5 24 A9 - Wings of Xanadu
AC CE 15 E8 - Piece of Holy Wood
7C CE C4 96 - Piece of Carved Holy Wood
65 D5 F5 D7 - The Clarion
04 F6 26 56 - Alicia's Pendant
4E F8 A6 14 - Flower of Youth
57 E3 97 55 - Flower of Faith
18 A2 01 92 - Flower of Hope
1D ED 17 17 - Name Tag
01 B9 30 D3 - Philmobile Key
2A 94 63 10 - Cherub's Wing
33 8F 52 51 - Heart of the Muse
B4 17 4E 9E - Blossom of the Bard
AD 0C 7F DF - Hog's Cog
79 81 D2 13 - Gyro-Grappler
60 9A E3 52 - Cad's Clasp
4B B7 B0 91 - Riddle Rivet
55 A5 29 0C - Mirror of Truth
7B 60 E8 7F - Spirit of the Woods
2D 3A 4F F9 - Spirit of the Glade
1F 0C 2D 7B - Spirit of the Temple
81 8F 00 F5 - Spirit of the Flame
48 94 E0 CA - Spirit of the Storm
7A A2 82 48 - Spirit of the Snow
E8 F1 DC D9 - Red Earring
C3 DC 8F 1A - Lovers' Lunch Basket
DA C7 BE 5B - Turmeric Root
95 86 28 9C - Pinch of Spicy Seeds
8C 9D 19 DD - Bowl of Sheikh's Special Spices
A7 B0 4A 1E - Rainbow Leaf
BE AB 7B 5F - Slapstick
39 33 67 90 - Feel-good Fungus
20 28 56 D1 - Broken Booster
F0 28 87 AF - Brand-new Booster
E9 33 B6 EE - Snazzy Swimsuit
C2 1E E5 2D - Hometown Flower
DB 05 D4 6C - Cold Compress
94 44 42 AB - Set of Cat's Whiskers
8D 5F 73 EA - Traveler's Diary
A6 72 20 29 - Traveler's Diary
BF 69 11 68 - Traveler's Diary
38 F1 0D A7 - Traveler's Diary
21 EA 3C E6 - Traveler's Diary
F2 6E 39 F6 - Traveler's Diary
EB 75 08 B7 - Traveler's Diary
FA 44 73 37 - Lumberwood Ticket
D1 69 20 F4 - Relixx Ticket
C8 72 11 B5 - Dinoceros Ticket
87 33 87 72 - Idler Ticket
9E 28 B6 33 - Tin-Man Ticket
B5 05 E5 F0 - Mandragorer Ticket
AC 1E D4 B1 - Draggle Ticket
2B 86 C8 7E - Mite Ticket
32 9D F9 3F - Drongo Ticket
E2 9D 28 41 - Hurly Ticket
FB 86 19 00 - Sapdragon Ticket
D0 AB 4A C3 - Flutterby Ticket
C9 B0 7B 82 - Griffy Ticket
 
Consume Items:
87 79 21 FE - Loaf of White Bread
AC 54 72 3D - Sandwich
B5 4F 43 7C - Fishburger
FA 0E D5 BB - Cheeseburger
E3 15 E4 FA - Tonic
C8 38 B7 39 - Bowl of Tikka Mahala
D1 23 86 78 - Bottle of Pixie Dew
56 BB 9A B7 - Bottle of Sprite Dew
4F A0 AB F6 - Bottle of Iced Coffee
9F A0 7A 88 - Cup of Strong Coffee
86 BB 4B C9 - Cappuccino
AD 96 18 0A - Espresso
B4 8D 29 4B - Bottle of Nostrum
FB CC BF 8C - Vial of Sage's Secret
E2 D7 8E CD - Vial of Great Sage's Secret
C9 FA DD 0E - Vial of Wizard King's Secret
95 CC 8E 10 - Phoenix Feather
BE E1 DD D3 - Phoenix Tear
A7 FA EC 92 - Pouch of Phoenix Breath
2D 70 E9 75 - Poison-Be-Gone
06 5D BA B6 - Nix-Be-Gone
1F 46 8B F7 - Confusion-Be-Gone
50 07 1D 30 - Sleep-Be-Gone
49 1C 2C 71 - Stone-Be-Gone
62 31 7F B2 - Curse-Be-Gone
7B 2A 4E F3 - Blindness-Be-Gone
FC B2 52 3C - All-Be-Gone
 
Sweets Items:
45 0F 34 C8 - Bar of Chocolate
47 49 8A 91 - Bar of Milk Chocolate
6C 64 D9 52 - Bar of Fairy Chocolate
75 7F E8 13 - Handful of Chocolate Bonbons
3A 3E 7E D4 - Handful of Snowdrop Bonbons
23 25 4F 95 - Princess Chocolate
6E 22 67 0B - Flan
08 08 1C 56 - Creamy Flan
11 13 2D 17 - Babana Flan
96 8B 31 D8 - Frosty Flan
8F 90 00 99 - Fruit Flan
5F 90 D1 E7 - Fantastic Flan
77 39 56 4A - Cake
46 8B E0 A6 - Carrot Cake
6D A6 B3 65 - Carnation Cake
74 BD 82 24 - Breeze Cake
3B FC 14 E3 - Patty Cake
22 E7 25 A2 - Hot Cake
38 78 C0 8D - Sundae
09 CA 76 61 - Sour Sundae
10 D1 47 20 - Wildflower Sundae
97 49 5B EF - Toadstool Sundae
8E 52 6A AE - Sarsaparilla Sundae
5D D6 6F BE - Knickerbocker Glory
0A 4E A2 0F - Slice of Pie
0B 8C C8 38 - Slice of Sweetie Pie
12 97 F9 79 - Slice of See-Through Pie
95 0F E5 B6 - Slice of Game Pie
8C 14 D4 F7 - Pie on the Bone
5C 14 05 89 - Slice of Golden Pie
21 63 F1 CC - Ice Cream
44 CD 5E FF - Salted Ice Cream
6F E0 0D 3C - Ruby Ripple Ice Cream
76 FB 3C 7D - Soft Scoop Ice Cream
39 BA AA BA - Snow-White Ice Cream
20 A1 9B FB - Tutti-Frutti Ice Cream
55 FC 25 7F - Sundrop
7E D1 76 BC - Stardrop
67 CA 47 FD - Moondrop
28 8B D1 3A - Planetdrop
31 90 E0 7B - Jumbo Sundrop
1A BD B3 B8 - Jumbo Stardrop
03 A6 82 F9 - Jumbo Moondrop
84 3E 9E 36 - Jumbo Planetdrop
13 1B AC 12 - Fling Flame Gem
38 36 FF D1 - Firewall Gem
21 2D CE 90 - Spire of Fire Gem
6E 6C 58 57 - Heat Ray Gem
01 AE 03 FC - Water Bomb Gem
2A 83 50 3F - Bubble Bath Gem
33 98 61 7E - Snowball Gem
7C D9 F7 B9 - Snowblower Gem
B9 12 64 99 - Thunderspark Gem
92 3F 37 5A - Thunderstorm Gem
8B 24 06 1B - Whirligig Gem
C4 65 90 DC - Whirly Whirlies Gem
24 C5 5C 20 - Healing Tear Gem
0F E8 0F E3 - Healing Rain Gem
16 F3 3E A2 - Purifying Pulse Gem
59 B2 A8 65 - Light Relief Gem
9C 79 3B 45 - Darkness Beckons Gem
B7 54 68 86 - Dark Cloud Gem
AE 4F 59 C7 - Drowsy Drops Gem
E1 0E CF 00 - Leech Gem
8E CC 94 AB - Roly-Poly Gem
A5 E1 C7 68 - Pebble Pelt Gem
BC FA F6 29 - Earsplitter Gem
F3 BB 60 EE - Poison Pinch Gem
36 70 F3 CE - Blunt Gem
1D 5D A0 0D - Slow Poke Gem
04 46 91 4C - Soulshield Gem
4B 07 07 8B - Hocus Focus Gem
52 1C 36 CA - Rise and Shine Gem
79 31 65 09 - Tricksy Nixy Gem
 
Material Items:
99 9F 2B DE - Plainswort Flower
B2 B2 78 1D - Piece of Supple Leather
AB A9 49 5C - Bottle of Springwater
E4 E8 DF 9B - Bunch of Booster Shoots
FD F3 EE DA - Baneflower
D6 DE BD 19 - Glowcap
CF C5 8C 58 - Piece of Shadowglass
48 5D 90 97 - Emberstone
51 46 A1 D6 - Bundle of Slumbernot Leaves
81 46 70 A8 - Rings-a-Bell
98 5D 41 E9 - Wetstone
B3 70 12 2A - Sturdy Shinbone
AA 6B 23 6B - Gnomebeard
E5 2A B5 AC - Angula
FC 31 84 ED - Sprocket
D7 1C D7 2E - Lump of Raw Steel
CE 07 E6 6F - Rumblenut
49 9F FA A0 - Drill Screw
50 84 CB E1 - Bass Bell
83 00 CE F1 - Fogdrop
9A 1B FF B0 - Jade Marble
B1 36 AC 73 - Gustplume
A8 2D 9D 32 - Blizzard Bloom
E7 6C 0B F5 - Piece of Tealwood
FE 77 3A B4 - Snowflake
D5 5A 69 77 - Coldstone
CC 41 58 36 - Drakestone
4B D9 44 F9 - Iron Diamond
52 C2 75 B8 - Bunch of Sour Grapes
82 C2 A4 C6 - Powerstone
9B D9 95 87 - Bubble Pipe
B0 F4 C6 44 - Tachestone
A9 EF F7 05 - Handful of Crownberries
E6 AE 61 C2 - Big Babana
FF B5 50 83 - Meteorite Fragment
D4 98 03 40 - Blowpipe
CD 83 32 01 - Star Pearl
4A 1B 2E CE - Pair of Black Wings
53 00 1F 8F - Bunch of Old Oak Leaves
87 8D B2 43 - Ritestone
9E 96 83 02 - Handful of Seeds of Discord
B5 BB D0 C1 - All-Seeing Eye
AC A0 E1 80 - Kaleidostone
E3 E1 77 47 - Clump of Troll's Tears
FA FA 46 06 - Glowstone
D1 D7 15 C5 - Pair of Angel's Wings
C8 CC 24 84 - Evil Eye
4F 54 38 4B - Scroll of Truth
56 4F 09 0A - Jar of Bumbler Honey
86 4F D8 74 - Dumpty Egg
9F 54 E9 35 - Head of Crispy Lettuce
B4 79 BA F6 - Crunchy Carrot
D0 15 7F F2 - Bowl of Yogurt
AD 62 8B B7 - Hunk of Tender Beef
E2 23 1D 70 - Bunch of Babanas
FB 38 2C 31 - Bottle of Creamy Milk
C9 0E 4E B3 - Plate of Fluffy Rice
4E 96 52 7C - Dumbflounder
57 8D 63 3D - Glowshrimp
D2 53 C1 AB - Bunch of Green Grapes
CB 48 F0 EA - Black Truffle
4C D0 EC 25 - Handful of Caramels
55 CB DD 64 - Snow Radish
85 CB 0C 1A - Sun Crystal
9C D0 3D 5B - Star Crystal
B7 FD 6E 98 - Moon Crystal
AE E6 5F D9 - Planet Crystal
 
Weapon Items:
49 52 6F 86 - Old Stick
3E 55 5F 10 - Old Stick
7B 64 0D 04 - Magic Wand
62 7F 3C 45 - Mornstar
1B A3 84 E1 - Mornstar
55 A1 CC 77 - Imperial Scepter
50 49 5E C7 - Astra
06 13 F9 41 - Sky Tree Wand
70 CA 93 AB - Timeworn Harp
5B E7 C0 68 - Heart-Winning Harp
42 FC F1 29 - Herald's Harp
0D BD 67 EE - Muse's Harp
14 A6 56 AF - Bard's Harp
C8 76 F4 CE - Pickpocket's Pistol
E3 5B A7 0D - Rogue's Revolver
FA 40 96 4C - Highwayman's Handgun
B5 01 00 8B - Cad's Cannon
AC 1A 31 CA - Masterthief's Magnum
E8 F5 B5 D9 - Oliver's Clothes
EE 3E 77 32 - Set of Traveler's Clothes
E6 E6 E4 61 - Bathing Suit
E7 24 8E 56 - Suit of Hamelin Armor
D4 D0 86 E3 - Set of Winter Clothes
FC 8B D8 DC - Esther's Clothes
F4 53 4B 8F - Bathing Suit
F5 91 21 B8 - Suit of Hamelin Armor
C6 65 29 0D - Set of Winter Clothes
44 37 BF B9 - Shabby Coat
4C EF 2C EA - Bathing Suit
4D 2D 46 DD - Suit of Hamelin Armor
7E D9 4E 68 - Set of Winter Clothes
D9 E0 87 00 - Fairy Suit
D1 38 14 53 - Bathing Suit
D0 FA 7E 64 - Suit of Hamelin Armor
E3 0E 76 D1 - Furry Suit
61 5C E0 65 - Set of Regal Attire
69 84 73 36 - Bathing Raiment
5B B2 11 B4 - Set of Winter Vestments
A2 1B 4D B1 - Wooden Sword
BB 00 7C F0 - Well-Worn Sword
90 2D 2F 33 - Bone Sword
DF 6C B9 F4 - Burning Blade
ED 5A DB 76 - Roc Feather
89 36 1E 72 - Soldier's Sword
6A C2 C7 B9 - Clockwork Cleaver
A3 D9 27 86 - Black Blade
C6 77 88 B5 - Pirate's Cutlass
BA C2 16 C7 - Hero's Sword
91 EF 45 04 - Bluster Blade
73 D9 F6 F8 - Champion's Sword
C7 B5 E2 82 - Blazing Blade
88 F4 74 45 - Greatsword
F5 83 80 00 - Lost Sword
6B 00 AD 8E - Radiant Blade
EC 98 B1 41 - Sainted Sword
DE AE D3 C3 - Night Blade
72 1B 9C CF - Skyfall Sword
A1 9F 99 DF - Celestial Sword
93 A9 FB 5D - Nazcaän Longsword
B8 84 A8 9E - Primordial Sword
8A B2 CA 1C - Soppy Slapstick
B0 AE E2 5F - Kitchen Knife
82 98 80 DD - Flint Dagger
9B 83 B1 9C - Sickle
A9 B5 D3 1E - Candle Cutter
D4 C2 27 5B - Shadowglass Knife
CD D9 16 1A - Sacred Dagger
FF EF 74 98 - Witch's Thorn
E6 F4 45 D9 - Divine Dagger
83 5A EA EA - Kiss of Death
B1 6C 88 68 - Woodsman's Knife
A8 77 B9 29 - Ice Shard
9A 41 DB AB - Flitwing
D5 00 4D 6C - Sorcerer's Soul
CC 1B 7C 2D - Planet Splitter
08 12 85 3A - Spiral Horn
23 3F D6 F9 - Whalefish Tusk
3A 24 E7 B8 - Poisoner's Horn
6C 7E 40 3E - Dragon Tusk
11 09 B4 7B - Beetle's Horn
5E 48 22 BC - Icewyrm Tusk
75 65 71 7F - Lazy Bone
47 53 13 FD - White Stag's Antler
2D 79 DA E6 - Woodcutter's Ax
34 62 EB A7 - Iron Ax
49 15 1F E2 - Watchmaker's Ax
06 54 89 25 - Guardsman's Ax
62 38 4C 21 - Clockwork Ax
E5 A0 50 EE - Grand Ax
FC BB 61 AF - Giant's Ax
2C BB B0 D1 - Demon's Ax
35 A0 81 90 - War God's Ax
1F 4F B8 64 - Ogre King's Ax
3F CC 75 08 - Wooden Mallet
26 D7 44 49 - Massive Mallet
0D FA 17 8A - Tower Toppler
14 E1 26 CB - Hammer of Justice
5B A0 B0 0C - Tomte Whomper
42 BB 81 4D - Ninnyhammer
69 96 D2 8E - Steam Hammer
70 8D E3 CF - Meteor Mallet
F7 15 FF 00 - Mom's Favorite Pan
87 70 12 6D - Sharpened Stick
E3 1C D7 69 - Hoarfrost Harpoon
9E 6B 23 2C - Flint Spear
B5 46 70 EF - Pig-Iron Pike
D1 2A B5 EB - Gale Spear
4F A9 98 65 - Dryad's Spear
AC 5D 41 AE - Soldier's Spear
FA 07 E6 28 - Lightning Bolt
56 B2 A9 24 - Royal Spear
86 B2 78 5A - Bee Sting
C8 31 84 AA - Champion's Spear
B4 84 1A D8 - Deadeye Spear
9F A9 49 1B - Crystal Spear
E2 DE BD 5E - Rainbow Lance
FB C5 8C 1F - Dragon Lance
AD 9F 2B 99 - Glorious Lance
D0 E8 DF DC - Giant's Spear
C9 F3 EE 9D - Longshank
4E 6B F2 52 - Lullaby Lance
67 AF 65 5E - Set of Crude Claws
03 C3 A0 5A - Set of Bullhorn Claws
7E B4 54 1F - Set of Knucklebone Claws
55 99 07 DC - Set of Woodland Claws
B6 6D DE 17 - Set of Haunted Claws
31 F5 C2 D8 - Set of Tainted Claws
4C 82 36 9D - Set of Gaudy Claws
1A D8 91 1B - Set of Steel Claws
28 EE F3 99 - Set of Giant's Fingernails
66 6D 0F 69 - Set of Six Wind Claws
AF 76 EF 56 - Set of Crucible Claws
7F 76 3E 28 - Set of Snow Witch Claws
54 5B 6D EB - Set of Ice Queen Claws
02 01 CA 6D - Set of Ice Crystal Claws
30 37 A8 EF - Set of Blackwyrm Claws
29 2C 99 AE - Set of Cat King's Claws
1B 1A FB 2C - Set of Griffin's Talons
AE B4 85 61 - Set of Dragon King's Claws
B7 AF B4 20 - Set of Star Eater's Claws
4D 40 5C AA - Set of Werewolf Claws
64 2B B1 30 - Set of Flawed Claws
 
Armor Items:
52 5A C0 56 - Suit of Leather Armor
60 6C A2 D4 - Suit of Rugged Armor
4B 41 F1 17 - Iron Breastplate
79 77 93 95 - Suit of Toughened Armor
1D 1B 56 91 - Suit of Scale Armor
04 00 67 D0 - Suit of Grunt Armor
9A 83 4A 5E - Suit of Bone Mail
36 36 05 52 - Suit of Mirrored Armor
83 98 7B 1F - Suit of Gale Armor
37 F4 6F 65 - Suit of Pure Steel Armor
61 AE C8 E3 - Suit of Champion's Armor
78 B5 F9 A2 - Suit of Inferno Armor
4A 83 9B 20 - Suit of Royal Armor
53 98 AA 61 - Suit of Stout Armor
2E EF 5E 24 - Suit of Enchanted Armor
05 C2 0D E7 - Suit of Knight's Armor
2F 2D 34 13 - Suit of Dress Armor
1C D9 3C A6 - Suit of Night Armor
9B 41 20 69 - Suit of Enigma Armor
82 5A 11 28 - Suit of Boarlord's Armor
51 DE 14 38 - Suit of Armor of Justice
48 C5 25 79 - Suit of Brilliant Armor
35 B2 D1 3C - Suit of Nazcaän Armor
63 E8 76 BA - Suit of Celestial Armor
7A F3 47 FB - Suit of War God's Armor
40 EF 6F B8 - Set of Rustic Garb
59 F4 5E F9 - Set of Merchant's Garb
72 D9 0D 3A - Hallowed Habit
6B C2 3C 7B - Rubber Robe
24 83 AA BC - Fine Frock
3D 98 9B FD - Soldier's Smock
16 B5 C8 3E - Misty Shroud
88 36 E5 B0 - Set of Noble Attire
91 2D D4 F1 - Champion's Tunic
41 2D 05 8F - Sasquash Pelt
0F AE F9 7F - Magic Cloak
58 36 34 CE - Set of Dead Man's Duds
73 1B 67 0D - Starspun Tunic
6A 00 56 4C - Set of Wizard's Robes
F8 53 08 DD - Set of Mist Robes
E1 48 39 9C - Set of Flame Robes
CA 65 6A 5F - Set of Gale Robes
9C 3F CD D9 - Set of Ripple Robes
D3 7E 5B 1E - Set of Mystic's Robes
85 24 FC 98 - Robe of Restoration
B7 12 9E 1A - Set of Sorceress's Robes
AE 09 AF 5B - Goddess's Gown
65 84 30 64 - Wooden Shield
57 B2 52 E6 - Leather Shield
7C 9F 01 25 - Shinbone Shield
4E A9 63 A7 - Iron Shield
01 E8 F5 60 - Scale Shield
2A C5 A6 A3 - Grunt Shield
AD 5D BA 6C - Shadowglass Shield
64 46 5A 53 - Champion's Shield
4F 6B 09 90 - Avenger's Shield
B4 46 8B 2D - Holy Shield
56 70 38 D1 - Tundra Shield
00 2A 9F 57 - Mystical Shield
32 1C FD D5 - Shield of the Pure
19 31 AE 16 - Goddess's Shield
2B 07 CC 94 - War God's Shield
18 F3 C4 21 - Shiny Shield
AC 9F D0 5B - Pretty Parasol
DD 38 57 01 - Wooden Helmet
C4 23 66 40 - Pointy Hat
EF 0E 35 83 - Soldier's Helmet
B9 54 92 05 - Champion's Helm
A0 4F A3 44 - Blessed Helm
8B 62 F0 87 - Helm of Hamelin
15 E1 DD 09 - Nazcaän Helm
92 79 C1 C6 - War God's Helm
97 EE E8 B9 - Leafy Mantle
8E F5 D9 F8 - Snakeskin Cloak
A5 D8 8A 3B - Cloud Cover
F3 82 2D BD - Sea Breeze Cloak
BC C3 BB 7A - Stripy Cloak
D8 AF 7E 7E - Breezy Cloak
5F 37 62 B1 - Caghoul
96 2C 82 8E - Eagle Eye Cloak
D9 6D 14 49 - Cyclone Cloak
46 2C 53 F0 - Green Man's Cloak
8F 37 B3 CF - Champion's Cloak
BD 01 D1 4D - Aurora Cloak
EB 5B 76 CB - Dusk Mantle
A4 1A E0 0C - Phantom Mantle
C0 76 25 08 - Beast-Hide Cloak
F2 40 47 8A - Necromancer's Mantle
5E F5 08 86 - Heavenly Mantle
EA 99 1C FC - Diva's Mantle
 
Accessory Items:
66 0A D8 92 - Giant's Tooth
54 3C BA 10 - Set of Beast Fangs
4D 27 8B 51 - Poisoned Fang
02 66 1D 96 - Soretooth Ring
29 4B 4E 55 - Set of Piercing Fangs
7E D3 83 E4 - Devil's Fang
30 50 7F 14 - Skullfang Ring
B7 C8 63 DB - Dragonstooth Ring
AE D3 52 9A - Soulfang Necklace
67 C8 B2 A5 - Set of Wolf Fangs
4C E5 E1 66 - Crimson Fang
03 A4 77 A1 - Fiend's Fang
1A BF 46 E0 - Set of Griffin's Teeth
31 92 15 23 - Harrowfang
B6 0A 09 EC - Star Eater's Fang
1B 7D 2C D7 - Set of Nix Gnashers
55 FE D0 27 - Wyrmfang Ring
28 89 24 62 - White Stag's Tooth
74 BF 77 7C - Sturdy Scale
5F 92 24 BF - Stalwart Scale
46 89 15 FE - Set of Steel Scales
10 D3 B2 78 - Shadowglass Scale
09 C8 83 39 - Set of Storm Serpent Scales
22 E5 D0 FA - Salamander Scale
3B FE E1 BB - Deep Blue Scale
A5 7D CC 35 - Set of Shining Scales
BC 66 FD 74 - Wyrm King's Scale
FE 35 72 9B - Medal of Strength
B1 74 E4 5C - Medal of Dexterity
83 42 86 DE - Medal of Fortitude
A8 6F D5 1D - Medal of Agility
CC 03 10 19 - Medal of Valor
9A 59 B7 9F - Medal of Steadfastness
E7 2E 43 DA - Medal of Impunity
07 8E 8F 26 - Bravado Badge
80 16 93 E9 - Braggart's Badge
99 0D A2 A8 - Battler's Badge
49 0D 73 D6 - Adamant Badge
2D 61 B6 D2 - Fire Seal
63 E2 4A 22 - Avenger's Badge
50 16 42 97 - Bracer Badge
34 7A 87 93 - Water Seal
1F 57 D4 50 - Storm Seal
1E 95 BE 67 - Ironclad Badge
62 20 20 15 - Hot-Blooded Badge
51 D4 28 A0 - Brinkman's Badge
35 B8 ED A4 - Bastion Badge
7B 3B 11 54 - Hardheaded Badge
2C A3 DC E5 - Barrier Badge
7A F9 7B 63 - Berserker's Badge
06 4C E5 11 - Omniseal

If someone is willing to fix these lists so the names are the proper North American names, I would appreciate that very much.

Getting the Save Back on the PS3
Step 1. Save your modified file.
LxTJbYp.png


Step 2. Switch back to Bruteforce Save Data, and re-encrypt your save by clicking Encrypt PFD > Encrypt All Files

AZjhof2.png


Step 3. The green box on the left should be white again if everything went OK. The file is now encrypted again, ready for the PS3. Go to your working folder and copy the entire save folder

8vK95rG.png


Paste it back on to your USB drive in the PS3 > SAVEDATA folder, overwriting the one already on there.

Step 4. Go back to your PS3, put in the USB drive. Go to Games > Save Data Utility > USB Drive, go to your modified save and press Triangle, then go to Copy. It should warn you about over writing the existing save, so again, make sure you have a backup. Over write the existing save with your modified one.

Step 5. Load Ni No Kuni and verify the modifications have taken effect.
 

Duomeng

New Member
Newbie
Joined
Mar 4, 2013
Messages
1
Trophies
0
Age
36
XP
41
Country
United States
Thanks guys for the great info here. Can someone tell me which part of a familiars code dictate the signs? I would use the editors, but they either produce corrupted saves or fail to load correctly(it said that my mitey had a double planet sign when it was just a sun, among other things). Thanks!

EDIT: nvm, I seem to have figured it out. I only had familiars with the signs sun, star, moon, and double sun, but by comparing the differences between the blocks, it seems that byte number 231 from FE FF FF FE determines the sign.
01 = sun
02 = star
03 = moon
04 = planet
05 = double sun
06 = double star
07 = double moon
08 = double planet

Oh, and if someone can teach me the "hex" way to relay this information(im sure that particular byte shouldn't be called "byte number 231") I'd really appreciate it. I know next to nothing about hex editing :(
 

MaximusArg1982

Member
Newcomer
Joined
Feb 17, 2013
Messages
8
Trophies
0
Age
41
XP
54
Country
Argentina
Hello All,

I have created a program to edit characters and familiars. With offsets to the structures being discovered from time to time, I have kept this in mind when developing this program.

WARNING: Backup as usual!!!!!!

Damn, Ninja'd.

I didn't want to release it yet, since I still have trouble with the inventory...
But here it is, It let's you edit more than just the Characters and Familiars, and this one also has a configurable offset table.

I do not want to mess with the encrytor/descryptor, so you will still need to decrypt it before using this editor, and then encrypt it again to upload to PS3.
(This is all well explained on OP's first post).


And don't worry guys, this is NOT done with .NET; you can use this editor in every computer from 98 up to win7 (Should work on Win8, but since I'm not touching that one yet I can't certify it)



Last of all, enjoy it!!


EDIT:
The offset table (blocks.xml) allows you to define the structure of every block in this way:
<d1>, <d2>, <d4> : decimal, 1 to 4 bytes,
<h1>, <h2>, <h4> : hexadecimal, 1 to 4 bytes (for item IDs and such)
<string> : text, you gotta tell it the size in bytes of the string.
<collection> : tells the program the contained offset will be repeated "count" times.

All numbers in the .xml file (offset, size, count, etc) must be in Hex for the program to read it correctly.

The zip file contains an example table with all the offsets I collected from this thread and on my own.
 

Attachments

  • NiNoKuniSaveEditor.zip
    739.9 KB · Views: 2,186

MaximusArg1982

Member
Newcomer
Joined
Feb 17, 2013
Messages
8
Trophies
0
Age
41
XP
54
Country
Argentina
Awesome Maximus, now i guess that i can ditch my work in progress editor :D
Hey, don't stop because of me :)

I've only posted it for people to try it and add some feedback, when I've completed it (inventory) I will upload the source to github, if you know pascal (It's done in Delphi 2010) you can contribute to it. Or simply read it for ideas to make your's better :)
 

Don Killah

Well-Known Member
Member
Joined
Nov 21, 2002
Messages
1,186
Trophies
2
Age
48
Website
Visit site
XP
983
Country
France
Fine, i'll check your repo on time.
And yeah, i'm coding with Delphi7 most of the time for small projects, for bigger one i usually switch to VisualStudio.
Anyway, here's a snippet that might come handy for dectecting is file is already uncrypted or not, and how to decrypt/encrypt it from your app.

Code:
if opendialog1.execute then
begin
    try
        if FileExists('SYS-DAT') then
        begin
            FileStream := TFileStream.Create('SYS-DAT', fmOpenRead);
            setlength(MyTempBuffer, FileStream.size); // added memory allocation
            FileStream.Read(pbytearray(MyTempBuffer)^, FileStream.size); // corrected reading
            FileStream.Free;
 
            // Check if header is decrypted or not
            if (MyTempBuffer[0] = $FF) and (MyTempBuffer[1] = $FE) and (MyTempBuffer[2] = $F1) and (MyTempBuffer[3] = $00) then
            begin
                ShowMessage('File is already decrypted !!!')
                // do some stuff...
                // DecryptEncryptFile(Form1.OpenDialog1.FileName, 'encrypt');
            end
            else
            begin
                ShowMessage('File is encrypted !!!')
                // do some other stuff...
                // DecryptEncryptFile(Form1.OpenDialog1.FileName, 'decrypt');
            end;
        end;
    finally
    // Do some stuff...
    end;
end;
           
procedure TForm1.DecryptEncryptFile(folder, action: string);
// folder = folder to process
// action = decrypt|encrypt
var
    gameFolder, temp: string;
begin
    temp := '';
    temp := ExtractFilePath(folder);
    temp := Copy(temp, 1, length(temp) - 1);
    gameFolder := temp;
    while Pos('\', gameFolder) > 0 do
    begin
        temp := temp + copy(gameFolder, 1, pos('\', gameFolder));
        Delete(gameFolder, 1, pos('\', gameFolder));
    end;
 
    temp := '-g ' + gameFolder + ' -' + action[1] + ' ' + gameFolder + '\ SYS-DAT';
 
    // ShellExecute(Form1.Handle, 'Open', PChar('pfdtool.exe'), PChar('-g BLUS30947 -d BLUS30947\ SYS-DAT'), nil, SW_SHOWDEFAULT);
    ShellExecute(Form1.Handle, 'Open', PChar(appdir + 'pfdtool.exe'), PChar(temp), PChar(appdir), SW_SHOWDEFAULT);
end;

PS:
Be sure that you use the latest version of BruteForce Save Data in order to have the relevant secure_file_id for Ni No Kuni.

Code:
; "Ni No Kuni: Wrath of the White Witch / Ninokuni: Shiroki Seihai no Joou"
[BLUS30947/NPUB30932/NPUB90846/BLES01555/NPEB01158/BCAS20218/BLJS10150/BLJS10150/BLJS10185/BLJS10186/NPJB00238]
;disc_hash_key=
secure_file_id:*=01020304050000000000000000000000
 

MaximusArg1982

Member
Newcomer
Joined
Feb 17, 2013
Messages
8
Trophies
0
Age
41
XP
54
Country
Argentina
Fine, i'll check your repo on time.
And yeah, i'm coding with Delphi7 most of the time for small projects, for bigger one i usually switch to VisualStudio.
Anyway, here's a snippet that might come handy for dectecting is file is already uncrypted or not, and how to decrypt/encrypt it from your app.

Code:
if opendialog1.execute then
begin
    try
        if FileExists('SYS-DAT') then
        begin
            FileStream := TFileStream.Create('SYS-DAT', fmOpenRead);
            setlength(MyTempBuffer, FileStream.size); // added memory allocation
            FileStream.Read(pbytearray(MyTempBuffer)^, FileStream.size); // corrected reading
            FileStream.Free;
 
            // Check if header is decrypted or not
            if (MyTempBuffer[0] = $FF) and (MyTempBuffer[1] = $FE) and (MyTempBuffer[2] = $F1) and (MyTempBuffer[3] = $00) then
            begin
                ShowMessage('File is already decrypted !!!')
                // do some stuff...
                // DecryptEncryptFile(Form1.OpenDialog1.FileName, 'encrypt');
            end
            else
            begin
                ShowMessage('File is encrypted !!!')
                // do some other stuff...
                // DecryptEncryptFile(Form1.OpenDialog1.FileName, 'decrypt');
            end;
        end;
    finally
    // Do some stuff...
    end;
end;
         
procedure TForm1.DecryptEncryptFile(folder, action: string);
// folder = folder to process
// action = decrypt|encrypt
var
    gameFolder, temp: string;
begin
    temp := '';
    temp := ExtractFilePath(folder);
    temp := Copy(temp, 1, length(temp) - 1);
    gameFolder := temp;
    while Pos('\', gameFolder) > 0 do
    begin
        temp := temp + copy(gameFolder, 1, pos('\', gameFolder));
        Delete(gameFolder, 1, pos('\', gameFolder));
    end;
 
    temp := '-g ' + gameFolder + ' -' + action[1] + ' ' + gameFolder + '\ SYS-DAT';
 
    // ShellExecute(Form1.Handle, 'Open', PChar('pfdtool.exe'), PChar('-g BLUS30947 -d BLUS30947\ SYS-DAT'), nil, SW_SHOWDEFAULT);
    ShellExecute(Form1.Handle, 'Open', PChar(appdir + 'pfdtool.exe'), PChar(temp), PChar(appdir), SW_SHOWDEFAULT);
end;

PS:
Be sure that you use the latest version of BruteForce Save Data in order to have the relevant secure_file_id for Ni No Kuni.

Code:
; "Ni No Kuni: Wrath of the White Witch / Ninokuni: Shiroki Seihai no Joou"
[BLUS30947/NPUB30932/NPUB90846/BLES01555/NPEB01158/BCAS20218/BLJS10150/BLJS10150/BLJS10185/BLJS10186/NPJB00238]
;disc_hash_key=
secure_file_id:*=01020304050000000000000000000000
Nice, I maybe add this to the editor then.
Thanks a lot.
 

ToraxOutlaw

Member
Newcomer
Joined
Feb 17, 2013
Messages
21
Trophies
0
Age
34
Location
Stoke-on-Trent
Website
www.forbiddenwarthog.co.nr
XP
108
Country
I just keep getting errors when I try to use the Editor.

2013-03-10 @01:18:26: App started
2013-03-10 @01:18:27: Loading save game file
Unable to load save game
Invalid data
Invalid file format
Still encrypted? Found header: DB7ACDDF
2013-03-10 @01:18:30: Save game file loaded
2013-03-10 @01:19:10: Loading save game file
Unable to load save game
Invalid data
Invalid file format
Still encrypted? Found header: DB7ACDDF
2013-03-10 @01:19:14: Save game file loaded

But I decrypted both the files where my save is located.

((Never mind I was decrypting the wrong location))
 

wdf

Member
Newcomer
Joined
Mar 10, 2013
Messages
5
Trophies
0
Age
84
XP
51
Country
United States
You could search for that golden familiars' code with the known digits and change those into the normal one.
The same you do to get the tickets.
Also the saveditors could do it.

Any progress on adding/managing Inventory Items Maximus?
Thank you for the work, looks nice so far already!
 

smokey17

New Member
Newbie
Joined
Mar 11, 2013
Messages
1
Trophies
0
Age
33
XP
51
Country
Canada
amazing job you guys, i used the ni no kuni save editor for guilders (cos i didnt want 999 g like all the others) however the reason for me wanting guilders is for casino coins... and there isint an offset for that lol. bruteforce doenst work for me for some reason.. just wondering if i can use this editor for just casino coins..? thanks in advance
 

dgwillia

The Bacon Lover
Member
Joined
Mar 9, 2008
Messages
2,171
Trophies
0
Age
33
Location
Columbia Station, Ohio
XP
689
Country
United States
This is confusing me pretty badly, and its just my luck the Inventory Editor won't work on my computer. I'm just trying to add the Griffy Ticket, and I saw someone earlier post they added it in after Drippy's Hamelin Armor. Does that mean I just copy paste it directly after that key? Or do I have to keep it in sequence like everything else is

I'm new to this sort of thing lol, so any help is appreciated
 

ryguy5254

Member
Newcomer
Joined
Mar 13, 2013
Messages
11
Trophies
0
Age
39
XP
60
Country
United States
I just want to thank everybody in the thread for the instructions, and the editors.

I was able to get a decent amount of money, and get merit cards or merit points. And sooner or later, I'll get the tickets.
 

Dakarus

New Member
Newbie
Joined
Mar 13, 2013
Messages
2
Trophies
0
Age
32
Location
Ohio
Website
www.youtube.com
XP
41
Country
United States
Could someone edit my save for me? I don't really want to go through learning how to hex edit and all those things. What I basically need is all the ingredients and treats maxed out to 99. I am tired of trying to get scrolls of truth. If this is possible for someone to do I would really appreciate it. Shoot me a PM if you are interested!
 

Attachments

  • BruteforceSaveData.rar
    1.8 MB · Views: 449

wdf

Member
Newcomer
Joined
Mar 10, 2013
Messages
5
Trophies
0
Age
84
XP
51
Country
United States
Maximus, be able to parse the read name into the treeview would be great for familiars and characters,
also with a lookup for the item ids the same could be done for items, making editing vastly easier.
similarly for skills.

any chance to get your source code this weekend?
 

MarcusJester

New Member
Newbie
Joined
Mar 7, 2013
Messages
1
Trophies
0
Age
46
XP
51
Country
Canada
Some quick questions regarding the Editors currently found in this awesome thread.

First, a huge THANK YOU to these guys for researching designing and posting three great editors!

gimmestuff02:
Inventory Editor.
http://gbatemp.net/threads/ni-no-kuni-us-save-modification.341864/page-9#post-4552337

MaximusArg1982:
Save Character and Familiar stats Editor.
http://gbatemp.net/threads/ni-no-kuni-us-save-modification.341864/page-14#post-4575462

jakdo:
Dotnet Character and Familiar Editor.
http://gbatemp.net/threads/ni-no-kuni-us-save-modification.341864/page-13#post-4571058

Gimmestuff, are you going to expand your editor to familiars / characters?

Maximus, are you going to expand your editor to include items?

jakdo, are you going to expand your functionality as well?

I would love to see a comprehensive all-in-one editor from you guys if you have time, however, I have found that using each editor separately still allows me to update stats, items, money and bonuses with ease.
I wish I had programming knowledge so I could contribute to these projects.

Cheers guys and thanks again!
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • Sicklyboy @ Sicklyboy:
    maaaaan that's so awesome but I also don't want to fork over a hundo for it
  • Veho @ Veho:
    The fuuuuu---
  • Veho @ Veho:
    I thought it was an actual xBox at that price.
  • Sicklyboy @ Sicklyboy:
    I wanna grab a 360 Slim and a 360 E one of these days. Missed the boat of getting them at their lowest though, once they were discontinued. Could've got them for cheap back when I was a broke 20 something working at Target, but then again, I was a broke 20 something working at Target
  • Veho @ Veho:
    Being broke is no fun.
  • K3Nv2 @ K3Nv2:
    @Sicklyboy, $150 isn't that bad for a jtag slim on ebay
  • Veho @ Veho:
    I only wish it was actually playable.
  • Veho @ Veho:
    There's a guy on the Tube of You that makes playable mechanical arcade games out of Lego. This could work on the same principle.
  • Veho @ Veho:
    Just a couple of guys taking their manatee out for some fresh air, why you have to molest them?
  • Veho @ Veho:
    Stupid Chinese shop switched their shipping company and this one is slooooooow.
  • LeoTCK @ LeoTCK:
    STOP BUYING CHINESE CRAP THEN
  • LeoTCK @ LeoTCK:
    SUPPORT LOCAL PRODUCTS, MAKE REVOLUTION
  • LeoTCK @ LeoTCK:
    THEY KEEP REMOVING LOCAL SHIt AND REPLACING WItH INFERIOR CHINESE CRAP
  • LeoTCK @ LeoTCK:
    THATS WHY MY PARTNER CANT GET A GOOTWEAR HIS SIZE ANYMORE
  • LeoTCK @ LeoTCK:
    HE HAS BIG FOOT AND BIG DUCK
  • LeoTCK @ LeoTCK:
    d*ck i mean*
  • LeoTCK @ LeoTCK:
    lol
  • Veho @ Veho:
    Mkay.
  • Veho @ Veho:
    I just ordered another package from China just to spite you.
  • SylverReZ @ SylverReZ:
    Leo could not withstand communism.
  • SylverReZ @ SylverReZ:
    Its OUR products to begin with lol.
    SylverReZ @ SylverReZ: Its OUR products to begin with lol.