Ralf from GSCentral stole my code without giving me credit

Started by dcx2, July 09, 2011, 10:28:44 PM

Previous topic - Next topic

dcx2

See this post on GSCentral by Ralf:

http://board.gscentral.org/showthread.php/9002-Tales-of-Symphonia-%28GCN-AR-PAL-GERMAN%29?p=176621&viewfull=1#post176621

EDIT: Ralf has removed the code and put up a different one.  You can see that his post was edited.  I shall keep a copy of his old code here, for posterity.

It's a Shop Roller for Tales of Symphonia PAL.  Funny...I made a shop roller for Tales of Symphonia NTSC.  It had the same button activator, too.  But you wouldn't know that from Ralf's post.

Here's his AR Code
[spoiler]Shop Roller (Press Z + DPad Up/Down) ["Ralf"]
1BFK-W15K-3QBY2
8UDX-FMMQ-PTQU5
QEC1-PQG7-G2MX7
496K-5M4J-0PDEY
9H0W-G2NX-5047F
083X-1701-TP0V0
AJ84-TGE8-9Z51Y
56ZK-6MVZ-1E689
U586-NY7T-A1K4J
E7HF-PT3X-0X0KD
4Y8F-YK3C-0AGUG
X09M-RVDC-PFMA9
DPMA-6CNQ-KBQWF
C2WD-DE1H-RT29Y
F4KA-WH3J-62VZN
6PR6-18J6-XERVR
GYDY-H60G-H442M
QBDQ-DTZ8-GGZP0
TY2E-BF42-1XM2R
KX4N-5VRZ-UD5P4
6MFJ-34C3-W3K76
KW70-AVXF-EXZC2[/spoiler]

Run his AR code through a decrypter and you get

[spoiler]0A1435A5 18000000
04002F00 A9430016
04002F04 3D80802D
04002F08 A16C48A8
04002F0C 716B000C
04002F10 41820034
04002F14 A16C4878
04002F18 2C0B0018
04002F1C 40820014
04002F20 394A0001
04002F24 2C0A0033
04002F28 40810008
04002F2C 39400000
04002F30 2C0B0014
04002F34 40820010
04002F38 354AFFFF
04002F3C 40800008
04002F40 39400033
04002F44 B1430016
04002F48 7D405378
04002F4C 480C38C8
040C6810 4BF3C6F0
[/spoiler]

It's a hand-coded C2 hook.  Strip out the ASM from the RAM writes...

[spoiler]A9430016 3D80802D
A16C48A8 716B000C
41820034 A16C4878
2C0B0018 40820014
394A0001 2C0A0033
40810008 39400000
2C0B0014 40820010
354AFFFF 40800008
39400033 B1430016
7D405378 480C38C8[/spoiler]

Compare that to my code's ASM http://wiird.l0nk.org/forum/index.php/topic,8455.msg70489.html#msg70489

[spoiler]A9430016 3D80802D
A16CAF08 716B000C
41820034 A16CAED8
2C0B0018 40820014
394A0001 2C0A0033
40810008 39400000
2C0B0014 40820010
354AFFFF 40800008
39400033 B1430016
7D405378 00000000[/spoiler]

In case there's any doubt, let me put them side-by-side.

My ASM                  "Ralf's" ASM
A9430016                A9430016
3D80802D                3D80802D
A16CAF08                A16C48A8
716B000C                716B000C
41820034                41820034
A16CAED8                A16C4878
2C0B0018                2C0B0018
40820014                40820014
394A0001                394A0001
2C0A0033                2C0A0033
40810008                40810008
39400000                39400000
2C0B0014                2C0B0014
40820010                40820010
354AFFFF                354AFFFF
40800008                40800008
39400033                39400033
B1430016                B1430016
7D405378                7D405378

My ASM                  "Ralf's" ASM
lha r10,22(r3)          lha r10,22(r3)
lis r12,-32723          lis r12,-32723
lhz r11,-20728(r12)     lhz r11,18600(r12)
andi. r11,r11,12        andi. r11,r11,12
beq- 0x0034             beq- 0x0034
lhz r11,-20776(r12)     lhz r11,18552(r12)
cmpwi r11,24            cmpwi r11,24
bne- 0x0014             bne- 0x0014
addi r10,r10,1          addi r10,r10,1
cmpwi r10,51            cmpwi r10,51
ble- 0x0008             ble- 0x0008
li r10,0                li r10,0
cmpwi r11,20            cmpwi r11,20
bne- 0x0010             bne- 0x0010
subic. r10,r10,1        subic. r10,r10,1
bge- 0x0008             bge- 0x0008
li r10,51               li r10,51
sth r10,22(r3)          sth r10,22(r3)
mr r0,r10               mr r0,r10


Looks exactly the same, except for the button activator addresses.  Gee, thanks for the credit, Ralf.  >.<

The addresses that changed are button activators.  Here's my original ASM in source form

[spoiler]hook  800C70D8:  A8030016   lha   r0,22(r3)

z up or z down to roll shop

limits are 0 to 51

shop roller



# =========================================

.set BTN_ADDR,0x802CAED8

.set BTN_Z,0x0010
.set BTN_DUP,0x0008
.set BTN_DDOWN,0x0004


lha r10,22(r3)         # original instruction

lis r12,BTN_ADDR@ha      # r12 = button pointer
lhz r11,BTN_ADDR@l+0x30(r12)   # r11 = deltas
andi. r11,r11,BTN_DUP|BTN_DDOWN   # check for up or down changing
beq- _END

lhz r11,BTN_ADDR@l(r12)      # r11 = buttons

cmpwi r11,BTN_Z|BTN_DUP      # z dup incs
bne- 0f

addi r10,r10,1         # inc
cmpwi r10,51         # wrap
ble- 0f

li r10,0         # from 52 to 0

0:

cmpwi r11,BTN_Z|BTN_DDOWN   # z ddown decs
bne- 0f

subic. r10,r10,1      # dec
bge- 0f

li r10,51         # from 0 to 52

0:

_END:

sth r10, 22(r3)         # store rolled value
mr r0,r10         # finish original instruction[/spoiler]

hetoan2

their boards are down, so i can't witness the act, but I feel for you man.

There's no reason for stealing credit on codes. :( it's a shame it happened to you :\


Check out my site with codes obviously...
http://hetoan2.com/

and youtube...
http://youtube.com/hetoan2

goemon_guy

Yeah, I'd have a say in this too, but their boards are down.

dcx2 is one of the better hackers (definately among the best!) here,
so it's definately a shame that his code has been stolen.

I wouldn't be very happy if someone stole my codes, so hopefully this is resolved!
-Currently hacking the following game(s):
...
Request a code via PM, if you wish.

dcx2

Don't get me wrong, I think it's awesome that the code gets ported to PAL.  I posted because I have no way to get a hold of Ralf without making an account there, and I'm too lazy for that.  Credit would be cool, but asking for credit after-the-fact is not quite as cool...

I imagine other GC code makers should be on the lookout.

goemon_guy

Yeah, I'd feel the same. As long as I'm credited, I could care less.

And are there really that many people who make GC codes anymore? (Using WiiRd, that is) and actually submits them?

Either way, I agree completely.

I wonder if Ralf has done this to anyone else already...?
-Currently hacking the following game(s):
...
Request a code via PM, if you wish.

dcx2

I don't believe it.  A re-hack doesn't use the exact same assembly instructions.  A re-hack means you found the hook all on your own, and you wrote the ASM all on your own.  And even if it WAS a re-hack, I should have gotten some credit anyway for all of my original work.

Using my ASM and my hook is not a rehack, no matter how non-trivial it is to transform a C2 code into 04 codes.  It's not your typical "change one address and it's ported".  But he didn't write any of the ASM himself.  The only hard thing he had to do was place the code in memory with 04 writes, and that process is the same once you've done it a few times.  Seriously, look at the first post and compare the ASM for my code and his code.  That's my work that he's taking credit for.

How completely disrespectful.  I expect better from hackers.  I guess there's nothing you can do, though.  In the end, it's okay; Ralf could never have hacked that code in the first place.  I should feel flattered that some guy wants to steal my codes and pass them off as his own to make up for his inabilities.

Deathwolf

Now you know he's a noob hacker. He used your code because it's an awesome hack. Some codes which I've done for CoD BO got leaked too and I got no credits for it. Who cares? You know that YOU have done this code and ralf can't assembly anything because of this. I think your codes are already on the database with your credit.
lolz

dcx2

I don't see how my codes could be on GSCentral's database.  And I haven't added them to geckocodes yet.

Sharkbyte, you said Ralf stole some RE4 codes from us, too.  Could you find them and link to them here?  I'm going to make an account at GSCentral so I can call Ralf out on his thievery.  When you place the ASM instructions side-by-side, it's pretty obvious he didn't write the code himself.  And I'm willing to bet he used my hook to find his, instead of finding his on his own.

EDIT:

lol, I'll make an account once their registration works again...

EDIT2:

I just saw you edited your post with a link to Ralf's ports.  I'll make sure to bring them up.

Deathwolf

lolz

dcx2

No.  That's why he had to hand-code the C2.

The 04 codes at the beginning write the ASM to an unused portion of memory.  Then the last 04 code writes the branch at the hook instruction.

Apparently, converting a C2 code into a series of 04 codes counts as "re-hacking", and "re-hacking" means you don't have to give credit to the guy who did all the work.  Even though the resulting ASM is identical.

Deathwolf

Yeah actually he just wrote a branch from 800C6810 to 80002F00 and 80002F4C to 800C6814  ???
lolz

dcx2

Yes.  He wrote those branches, and then used a series of 04 codes to write my ASM to 80002F00-20002F4C.  And he also changed the button activator addresses.

Deathwolf

lolz

dcx2

There was another button activator.  Here, let me put them side-by-side so that it's really easy to see exactly how much of my code was "re-hacked".

My ASM                  "Ralf's" ASM
A9430016                A9430016
3D80802D                3D80802D
A16CAF08                A16C48A8
716B000C                716B000C
41820034                41820034
A16CAED8                A16C4878
2C0B0018                2C0B0018
40820014                40820014
394A0001                394A0001
2C0A0033                2C0A0033
40810008                40810008
39400000                39400000
2C0B0014                2C0B0014
40820010                40820010
354AFFFF                354AFFFF
40800008                40800008
39400033                39400033
B1430016                B1430016
7D405378                7D405378

My ASM                  "Ralf's" ASM
lha r10,22(r3)          lha r10,22(r3)
lis r12,-32723          lis r12,-32723
lhz r11,-20728(r12)     lhz r11,18600(r12)
andi. r11,r11,12        andi. r11,r11,12
beq- 0x0034             beq- 0x0034
lhz r11,-20776(r12)     lhz r11,18552(r12)
cmpwi r11,24            cmpwi r11,24
bne- 0x0014             bne- 0x0014
addi r10,r10,1          addi r10,r10,1
cmpwi r10,51            cmpwi r10,51
ble- 0x0008             ble- 0x0008
li r10,0                li r10,0
cmpwi r11,20            cmpwi r11,20
bne- 0x0010             bne- 0x0010
subic. r10,r10,1        subic. r10,r10,1
bge- 0x0008             bge- 0x0008
li r10,51               li r10,51
sth r10,22(r3)          sth r10,22(r3)
mr r0,r10               mr r0,r10

James0x57

Ralf has been posting tons of new GCN codes to ARC for many months... You might want to sign up and look... http://forum.arcentral.net/viewforum.php?f=3

He seems to actually know what he's doing... but yeah... that specific code is totally ripped off.. If it's on ARC, I can remove it there.

The only thing that /had/ to be rehacked to get it to gcn was calculating the branches manually and finding empty memory to hold the asm. It's hardly more than a normal port and, indisputably, you should have credit.



also: can you add yours to the database whenever you get the chance, please? :)