Weird ASCII texts part 2!

Started by Bully@Wiiplaza, June 16, 2012, 03:22:27 PM

Previous topic - Next topic

Bully@Wiiplaza

0128013C 0127012F 013F013D # 7R6EUS

Which ascii table do I need for this?

Game: Pokémon Battle Revolution

Since it allows japanese letters and whatnot, this may be helpful information...

Here´s the list, dxc2 once linked:
http://www.alanflavell.org.uk/unicode/unidata.html

And that´s basically the code:

Nickname Changer [Bully@Wiiplaza]
48000000 80480E18
4A100000 0000++++
DE000000 90009380
16000134 00000014
XXXXXXXX XXXXXXXX
XXXXXXXX XXXXXXXX
XXXXXXXX 00000000
12000148 0000FFFF
E0000000 80008000
*++++ = Pokémon Slot Values*
*XXXXXXXX = Name in HEX*
My Wii hacking site...
http://bullywiihacks.com/

My youtube account with a lot of hacking videos...
http://www.youtube.com/user/BullyWiiPlaza

~Bully

Bully@Wiiplaza

#1
Bump!
The program "Pokésav" can generate working name modifiers for DS Pokémon games.
It should be identical to the Wii version.

"Hacking" produces the following AR code:

94000130 FCFF0000
B21C4E68 00000000
B0000004 00000000
E00002D0 00000010
01450132 014F0147
0152014D FFFF014B

D2000000 00000000

"NameMod":

94000130 FCFF0000
B21C4E68 00000000
B0000004 00000000
E00002D0 00000010
01450138 01490151
01530137 FFFF0148

D2000000 00000000

How does it make sense?
Please help me out on the encoding. :confused:
My Wii hacking site...
http://bullywiihacks.com/

My youtube account with a lot of hacking videos...
http://www.youtube.com/user/BullyWiiPlaza

~Bully

James0x57

Both 7 letters, you see FFFF in the 2nd to last set of 16 bits, so I assume:
1) little endian
2) probably can ignore the 01's for basic ascii chars
3) order is:
1,0 3,2
5,4 -,6

4) Thus:

32 = H (0)
38 = N (0)

45 = a (1)

47 = c (2)
51 = m (2)

4F = k (3)
49 = e (3)

4D = i (4)
37 = M (4)

...

5) So pattern is:
2B = A
2C = B
2D = C
2E = D
2F = E
30 = F
31 = G
32 = H
33
34
35
36
37 = M
38 = N
39
3A
3B
3C
3D
3E
3F
40
41 = W
42 = X
43 = Y
44 = Z

45 = a
46 = b
47 = c
48 = d
49 = e
4A
4B
4C
4D
4E
4F = k
50 = l
51 = m
52 = n
53
54
55
56
57 = s
58
59
5A
5B = w
5C = x
5D = y
5E = z

Which means, there's probably a lookup table that points to the real char equivalent. And 01 next to each letter might indicate the character set.


Happy hunting!


Bully@Wiiplaza

#3
You're right, 12B = A, 12C = B etc.
but how will the lookup table look like in memory? That's probably what you mean with hunting, huh? :p
They seem to use their own charset since stuff is arranged differently than in regular unicode even, not just shifted in values.

Even between uppercase and lowercase it's not identical to this:
http://unicode-table.com/en/

Does it make sense to write a program to add the proper offset every time?
I got the numbers and regular letters working:[spoiler]public String unicode(Character input)
{
   String result = "";
      
   if(input >= '0' && input <= '9')
      result = Integer.toHexString((input | 0x10000) + 0xF1);
         
   if(input >= 'A' && input <= 'Z')
      result = Integer.toHexString((input | 0x10000) + 0xEA);
      
   if(input >= 'a' && input <= 'z')
      result = Integer.toHexString((input | 0x10000) + 0xE4);
      
   return(result.substring(1).toUpperCase());
}[/spoiler]
My Wii hacking site...
http://bullywiihacks.com/

My youtube account with a lot of hacking videos...
http://www.youtube.com/user/BullyWiiPlaza

~Bully

James0x57

If your goal is to make an easily useable code, you could do that ^ in asm so your code users can just put ascii in.
Or you can do your own program too. ..but I'd do your program in JavaScript and just put it on your site instead. That way the user doesn't have to download it. (then you could put a link in your code note to it)

Totally up to you!