BullyWiiHacks
Welcome dear guest! Very Happy

To start posting and being part of the community, you simply need to register an account or log into an existing one.

Be sure to check out disposable e-mail services, in case you prefer using one for this site instead of your legit address: http://10minutemail.com/10MinuteMail/

If you do not wish to register at all, that's fine but there will be more advertisements. :/

You can see and download all content provided for regular members even without an account!

Your contributions will be greatly appreciated though, give it a shot and register today! thumbsup
BullyWiiHacks

Gaming, Modding & Programming

Important reminders:

- Click *HERE* for advanced forum search or check out the text field below on the front page for Google before posting
- NO support via private message (use the forum)
- Write meaningful topic titles
Site Translation
Latest topics
» DK Summit TV Screen Always Black
Yesterday at 6:34 am by SnB@BWH

» A few questions regarding Miis
8/20/2017, 9:12 am by drikh

» Bully...
8/17/2017, 7:22 am by XxModZxX@WiiPlaza

» Bully and members
8/16/2017, 8:27 am by Bully@WiiPlaza

» Friend has problem with Random Texture Generator
8/15/2017, 4:47 am by SK1

» Retard exposes all of my codes as stolen
8/14/2017, 10:13 pm by SnB@BWH

» Sensitive Wood Boxes
8/14/2017, 6:36 am by SK1

» Code Creator Status
8/14/2017, 4:34 am by SnB@BWH

» Where to post my new code
8/14/2017, 1:59 am by SnB@BWH

» How To Hack Consoles
8/13/2017, 11:03 pm by Bully@WiiPlaza

Search
 
 

Display results as :
 


Rechercher Advanced Search

August 2017
MonTueWedThuFriSatSun
 123456
78910111213
14151617181920
21222324252627
28293031   

Calendar Calendar

Country Statistics
Free counters!
LaTeX Generator


You are not connected. Please login or register

View previous topic View next topic Go down  Message [Page 1 of 1]

1 Code Credits In-Depth on 12/18/2014, 5:11 am

Bully@WiiPlaza

avatar
 
 
Since I'm getting tired of the argument "I googled the address and it didn't show up so it's my code" I'm writing this for clarification.

Just because an exact address and/ or codetype doesn't show up doesn't mean a code hasn't been made. There are countless ways to do the same thing. Ever bothered changing the codetype to see if that might hit something?

String write codes might be written with many 04 codes if the coder is a n00b or with 06 if the coder knows what he's doing.

The bit write could be different since 8, 16 and 32 bits exist even though for Wii games mostly 32 bit writes are used and needed. In terms of codetypes that might be 00, 02 and 04.

Also, codes in assembly with C2, F2 or even 04 codetypes always have a different address than the direct memory address because they are instructions. The only way to see if that's the same thing is to set a breakpoint execute on it using Gecko.NET and then clicking "Show mem" to go to the direct memory address in memory viewer. This requires a USB Gecko to do and can NOT be done with RAM dumps (in most cases) because you don't see the register contents. Assembly codes can also be shifted up and down depending on the assembly itself and still be the same thing. It again depends on the instructions written and the register contents. What makes things even more complicated is dynamic memory allocation which means that the same thing can move in memory therefore only the same effect/ assembly or pointer can be used to tell if it's the same thing or not.

Ever knew pointer codes exist? That's also a way of making a code using a starting address and adding offsets. Again, a USB Gecko is usually needed to follow the pointer and see where it leads. If the address hit by the starting address plus the offset is the address in question it has been made.

Then there's also the C0 kind of assembly which might use the address in question inside which won't easily be detect. To do that, one has to decompile it using e.g. PyiiASMH and know how to read some assembly code. Usually addresses are loaded using lis and ori instructions.

Due to the sheer amount of different ways to use a certain address it sometimes is nearly impossible to figure out if a code has been made or not so you don't need to bother going through all alternatives.

Another good way of verification is reading the code titles of other coders if it's basically the same thing or not. Then you can verify if it's actually the case. This is easily done on a website like geckocodes since all codes are listed there.

Note:
A ported code is still credits to the original coder because he did all the work while you just converted it. Put "Ported by " below the code for porting credits.

Here's a good and recent example:
Bully@WiiPlaza made the code "Infinite Score Points" for New Super Mario Bros. Wii [SMNE01].

Code:
Inf. Score Points [Bully@Wiiplaza]
C205F62C 00000002
3C807FFF 6084FFFF
908DA640 00000000
http://www.geckocodes.org/index.php?c=SMNE01

Much later, VO1D creates the code "Point Modifier" also for this game and region:
Code:
Points Modifier [VO1D]
02429CC2 XXXXXXXX
http://www.bullywiihacks.com/t4686-

This is still credits to Bully@Wiiplaza because it's the same thing once in assembly and once in direct RAM write codetypes. This can be verified by setting a breakpoint execute on the C2 code's address 8005F62C and it will lead to 80429CC0 when the user follows the source register using "Show mem" which is -22976(r13). Now you might say: "But VO1D's code is 2 bytes off!" Well, for some unknown reason he moved it to there but it's still the same 32 bit value since it's 4 bytes long (from 80429CC0 to 80429CC4) so all addresses in that range are still the "Score Modifier".

As a reminder, the assembly address is not the same as the direct memory address because it's an instruction address which is always the case on C2, F2 and 04 assembly codes therefore VO1D might think he gets credit but he doesn't since it has been made like explained.

Remember:
A CODE NOT HAVING THE SAME ADDRESS DOES NOT MEAN IT'S NOT THE SAME THING. YOU NEED TO FULLY UNDERSTAND AND ANALYSE THE CODE(TYPE) FIRST. IT CAN BECOME COMPLEX ON ASSEMBLY OR POINTER CODES AND DIFFERENT GAME REGIONS.

What do we learn?
N00bs who don't know anything about coding need to shut up and learn what everything exactly means before they're talking. Also I hope you read everything and learned something about code credits and are not going to use these tips to steal credit in a smarter fashion now. Just let it down and give credit when you already have to leech an address.

Much appreciated, thanks Smile


_________________

View previous topic View next topic Back to top  Message [Page 1 of 1]

Permissions in this forum:
You cannot reply to topics in this forum