Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Reload this Page [Tool] Simple Tools

Notices
For all updates, view the main page.

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.



Reply
 
Thread Tools
  #1    
Old December 18th, 2009 (04:20 AM). Edited December 19th, 2009 by liuyanghejerry.
liuyanghejerry's Avatar
liuyanghejerry liuyanghejerry is offline
 
Join Date: Jan 2008
Location: China,Xi'an
Nature: Calm
Posts: 218
Send a message via ICQ to liuyanghejerry Send a message via Windows Live Messenger to liuyanghejerry Send a message via Yahoo to liuyanghejerry
-v-I'm learning C++,so I made a simple tool for enlarge ROM.
Ya,you can use XSE,but someone may doesn't know how to(there should be a little...).
This tool is too simple to use.
Just drag the rom on this Enlarge.exe,and after a short time of black,it done~
Have fun

Maybe there'll be more simple tools in here~

Tec thing:
Code:
#include <fstream>
int main(int argc, char* argv[]){
    using namespace std;
    FILE *fp;
    if(fp=fopen(argv[1],"ab")){
                                 int *a= new int[4194304];
                                 fwrite(a,sizeof(a),4194304,fp);
                                 fclose(fp);
                                 delete a;
 
                              }
 
         }
Attached Files
File Type: zip Enlarge.zip‎ (18.0 KB, 190 views) (Save to Dropbox)
__________________
Zel,thethethethe,LU-HO,Darthatron,HackMew,ZodiacDaGreat,Juan,score_under,JPAN,Tamah-chan,I really appreciate your kindness and your help!:D


I did something that really bad.But made all Chinese can hack Pokemon, too.If you guys hate me, I totally understand,but cannot do anything but force to keep everything.
If there must be someone to undertake all spit and curse, it must be me.
Reply With Quote
  #2    
Old December 19th, 2009 (02:59 PM).
ZodiacDaGreat's Avatar
ZodiacDaGreat ZodiacDaGreat is offline
Working on a Mobile System
 
Join Date: Feb 2007
Location: South Pacific
Age: 22
Gender: Male
Nature: Relaxed
Posts: 429
Send a message via ICQ to ZodiacDaGreat
It's good to see C++ tools, uh You should try learning the Windows API coding to add a interface to your tools Good luck with C++
__________________
Reply With Quote
  #3    
Old December 19th, 2009 (09:19 PM).
liuyanghejerry's Avatar
liuyanghejerry liuyanghejerry is offline
 
Join Date: Jan 2008
Location: China,Xi'an
Nature: Calm
Posts: 218
Send a message via ICQ to liuyanghejerry Send a message via Windows Live Messenger to liuyanghejerry Send a message via Yahoo to liuyanghejerry
Quote originally posted by ZodiacDaGreat:
It's good to see C++ tools, uh You should try learning the Windows API coding to add a interface to your tools Good luck with C++
Thanks~XD
I can do that,with C++ builder 2009,but it always makes the tool so big.
While adding a interface,this tool will immediately enlarge to XXX KB...

Anyway,thanks for supporting~
__________________
Zel,thethethethe,LU-HO,Darthatron,HackMew,ZodiacDaGreat,Juan,score_under,JPAN,Tamah-chan,I really appreciate your kindness and your help!:D


I did something that really bad.But made all Chinese can hack Pokemon, too.If you guys hate me, I totally understand,but cannot do anything but force to keep everything.
If there must be someone to undertake all spit and curse, it must be me.
Reply With Quote
  #4    
Old December 20th, 2009 (12:27 AM).
ZodiacDaGreat's Avatar
ZodiacDaGreat ZodiacDaGreat is offline
Working on a Mobile System
 
Join Date: Feb 2007
Location: South Pacific
Age: 22
Gender: Male
Nature: Relaxed
Posts: 429
Send a message via ICQ to ZodiacDaGreat
Uh, well, that's like the problem with environment I suppose. You should code with resource files. It'll be smaller that way. Best of Luck
__________________
Reply With Quote
  #5    
Old December 20th, 2009 (04:19 AM).
Juan Juan is offline
Brazilian with a bad English
 
Join Date: Jun 2007
Location: Pindamonhangaba - SP
Age: 24
Nature: Adamant
Posts: 92
Very Good.

I prefer to use the "ofstream/ifstream" class belonging to the library c++, but C's "FILE*" works very well for this. :D

I recommend using the code:blocs instead of the builder.
It is faster, and multiplatform.

Search for wxWidgets, you can make multiplatform visual tools using object orientation.
__________________
Reply With Quote
  #6    
Old December 20th, 2009 (06:32 AM).
liuyanghejerry's Avatar
liuyanghejerry liuyanghejerry is offline
 
Join Date: Jan 2008
Location: China,Xi'an
Nature: Calm
Posts: 218
Send a message via ICQ to liuyanghejerry Send a message via Windows Live Messenger to liuyanghejerry Send a message via Yahoo to liuyanghejerry
Quote originally posted by ZodiacDaGreat:
Uh, well, that's like the problem with environment I suppose. You should code with resource files. It'll be smaller that way. Best of Luck
XD I'll try and thank you,my friend~
Quote originally posted by Juan:
Very Good.

I prefer to use the "ofstream/ifstream" class belonging to the library c++, but C's "FILE*" works very well for this. :D

I recommend using the code:blocs instead of the builder.
It is faster, and multiplatform.

Search for wxWidgets, you can make multiplatform visual tools using object orientation.
I used the FILE* just because it's the function upon the function about stream in the document that I download^ ^
I'll try the IDE now~
Thanks for supporting~
__________________
Zel,thethethethe,LU-HO,Darthatron,HackMew,ZodiacDaGreat,Juan,score_under,JPAN,Tamah-chan,I really appreciate your kindness and your help!:D


I did something that really bad.But made all Chinese can hack Pokemon, too.If you guys hate me, I totally understand,but cannot do anything but force to keep everything.
If there must be someone to undertake all spit and curse, it must be me.
Reply With Quote
  #7    
Old December 20th, 2009 (11:16 AM).
Haku.'s Avatar
Haku. Haku. is offline
(FLAME)...H....A...K..U
 
Join Date: Jan 2008
Location: Singapore :D
Gender: Male
Nature: Quiet
Posts: 386
Send a message via Windows Live Messenger to Haku.
The tool is great, no complaints from me.
Try making more complicated tools like a free flag finder.
Would be useful for many people
__________________

Reply With Quote
  #8    
Old December 20th, 2009 (02:22 PM).
Full Metal's Avatar
Full Metal Full Metal is offline
C(++) Developer.
Silver Tier
 
Join Date: Jan 2008
Location: In my mind.
Age: 19
Gender: Male
Nature: Timid
Posts: 805
Send a message via Windows Live Messenger to Full Metal
its nice to see i'm not the only one who likes c++
and for learning win32 development (adding a gui) google search
"forgers win32 tutorial" it's great
__________________

★ full metal.

I like to push it,
and push it,
until my luck is over.
Reply With Quote
  #9    
Old December 20th, 2009 (04:07 PM).
score_under's Avatar
score_under score_under is offline
I program the *other* ASM.
Crystal Tier
 
Join Date: Aug 2005
Location: Hertfordshire, England
Age: 22
Nature: Rash
Posts: 525
Quote originally posted by xmouvelianx:
Try making more complicated tools like a free flag finder.
More complicated? That's verging on completely impossible! (For the same reason the Boomerang Decompiler project... doesn't :p )
__________________
Plz not to PM me, I don't come here often enough. Email if you need me
Reply With Quote
  #10    
Old December 20th, 2009 (11:17 PM).
liuyanghejerry's Avatar
liuyanghejerry liuyanghejerry is offline
 
Join Date: Jan 2008
Location: China,Xi'an
Nature: Calm
Posts: 218
Send a message via ICQ to liuyanghejerry Send a message via Windows Live Messenger to liuyanghejerry Send a message via Yahoo to liuyanghejerry
Quote originally posted by xmouvelianx:
The tool is great, no complaints from me.
Try making more complicated tools like a free flag finder.
Would be useful for many people
XD Thanks for supporting,but it seems much more difficult...

Quote originally posted by Full Metal:
its nice to see i'm not the only one who likes c++
and for learning win32 development (adding a gui) google search
"forgers win32 tutorial" it's great
I used to use C++ builder 2009.But from now,I'm going to start with resource code.
Thanks for supporting XD
__________________
Zel,thethethethe,LU-HO,Darthatron,HackMew,ZodiacDaGreat,Juan,score_under,JPAN,Tamah-chan,I really appreciate your kindness and your help!:D


I did something that really bad.But made all Chinese can hack Pokemon, too.If you guys hate me, I totally understand,but cannot do anything but force to keep everything.
If there must be someone to undertake all spit and curse, it must be me.
Reply With Quote
  #11    
Old December 28th, 2009 (07:22 AM).
Tropical Sunlight's Avatar
Tropical Sunlight Tropical Sunlight is offline
The Faltine
 
Join Date: Mar 2008
Location: Slovenia
Age: 19
Gender: Male
Posts: 3,578
Send a message via Windows Live Messenger to Tropical Sunlight
Quote originally posted by myokan:
uh..guys,I have a qustion, where can I get a text editor for pokemon leafgreen that works? or , when I try a-text, it says"component comdlg.ocx or one of its dependencies not correctly regestered:a file is missing or invalid." please help me!
Maybe you should try downloading comdlg.ocx and put in in here (may vary from comp to comp but the basic is here): C:/WINDOWS/system32
Also, this is completely irrelevant to the thread.

May I suggest something like a... Like a... I have ran out of ideas xD
__________________
Reply With Quote
  #12    
Old December 29th, 2009 (06:22 AM).
FinalZero's Avatar
FinalZero FinalZero is offline
...
 
Join Date: Dec 2008
Posts: 115
Quote:
It's good to see C++ tools,
Yes, it's a shame people insist on using the sham of a language that is VB.

Quote:
While adding a interface,this tool will immediately enlarge to XXX KB...
Only if you tell it to include the .dll files and stuff in the .exe.

Also, I echo Juan's comment of prefering to use ofstream and ifstream. And lastly, if using CBuilder's open dialog boxes, don't forget this useful piece of code:

Code:
if(!OpenDialog1 -> Execute()) {
    return;
}
Quote:
More complicated? That's verging on completely impossible!
It's not impossible, it'd just take a long time to run (ansd write) because the program would have to look through every piece of script and other stuff to see which flags are used.

Quote:
Is it a library file... I downloaded It except my dad says its a virus.
If you try to run a program that you know is safe and it says it's missing a file, then the file that's missing is safe too; It's not a virus. It's just like a .dll file that you need to run the program.
Reply With Quote
  #13    
Old December 29th, 2009 (07:13 AM).
score_under's Avatar
score_under score_under is offline
I program the *other* ASM.
Crystal Tier
 
Join Date: Aug 2005
Location: Hertfordshire, England
Age: 22
Nature: Rash
Posts: 525
Quote originally posted by FinalZero:
It's not impossible, it'd just take a long time to run (ansd write) because the program would have to look through every piece of script and other stuff to see which flags are used.
Firstly, how would it find every script? How would it know if the script it found is valid or not? What about scripts called from ASM? What about flags modified from ASM?
__________________
Plz not to PM me, I don't come here often enough. Email if you need me
Reply With Quote
  #14    
Old December 30th, 2009 (07:05 AM).
FinalZero's Avatar
FinalZero FinalZero is offline
...
 
Join Date: Dec 2008
Posts: 115
Quote:
Firstly, how would it find every script? How would it know if the script it found is valid or not? What about scripts called from ASM? What about flags modified from ASM?
No idea for any of those questions. But the game does all those things, so a program could too. The game is just another program after all. I wasn't volunteering myself to do it. =p
Reply With Quote
  #15    
Old December 30th, 2009 (08:08 AM).
onyx79's Avatar
onyx79 onyx79 is offline
Red Dead Revolver
 
Join Date: Jan 2009
Location: Orange Islands (=
Gender: Male
Nature: Modest
Posts: 503
wow man this is awesome,it's easy to use thanks a lot!
__________________
my room base: http://www.pokecommunity.com/showpost.php?p=5397075&postcount=64
Reply With Quote
  #16    
Old December 30th, 2009 (11:17 AM).
Juan Juan is offline
Brazilian with a bad English
 
Join Date: Jun 2007
Location: Pindamonhangaba - SP
Age: 24
Nature: Adamant
Posts: 92
Quote originally posted by FinalZero:
No idea for any of those questions. But the game does all those things, so a program could too. The game is just another program after all. I wasn't volunteering myself to do it. =p
The flags are modified at run time.

The function to return the address of the flags is this:

Code:
ROM:0809D6EC
ROM:0809D6EC ; ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦ S U B R O U T I N E ¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦¦
ROM:0809D6EC
ROM:0809D6EC ; Parameters: r0 = flag
ROM:0809D6EC ; Return: r0 = address
ROM:0809D6EC
ROM:0809D6EC GetFlagAddress 
ROM:0809D6EC
ROM:0809D6EC                 PUSH    {LR}
ROM:0809D6EE                 LSL     R1, R0, #0x10
ROM:0809D6F0                 LSR     R2, R1, #0x10
ROM:0809D6F2                 ADD     R3, R2, #0
ROM:0809D6F4                 CMP     R2, #0
ROM:0809D6F6                 BNE     loc_809D6FC
ROM:0809D6F8                 MOV     R0, #0
ROM:0809D6FA                 B       loc_809D72E
ROM:0809D6FC ; ---------------------------------------------------------------------------
ROM:0809D6FC
ROM:0809D6FC loc_809D6FC                             ; CODE XREF: GetFlagAddress+Aj
ROM:0809D6FC                 LDR     R0, =0x3FFF
ROM:0809D6FE                 CMP     R2, R0
ROM:0809D700                 BHI     loc_809D71C
ROM:0809D702                 LDR     R0, =0x3005D8C
ROM:0809D704                 LSR     R1, R1, #0x13
ROM:0809D706                 LDR     R2, =0x1270
ROM:0809D708                 ADD     R1, R1, R2
ROM:0809D70A                 LDR     R0, [R0]
ROM:0809D70C                 B       loc_809D72C
ROM:0809D70C ; ---------------------------------------------------------------------------
ROM:0809D70E                 DCB    0
ROM:0809D70F                 DCB    0
ROM:0809D710 dword_809D710   DCD 0x3FFF              ; DATA XREF: GetFlagAddress:loc_809D6FCr
ROM:0809D714 dword_809D714   DCD 0x3005D8C           ; DATA XREF: GetFlagAddress+16r
ROM:0809D718 dword_809D718   DCD 0x1270              ; DATA XREF: GetFlagAddress+1Ar
ROM:0809D71C ; ---------------------------------------------------------------------------
ROM:0809D71C
ROM:0809D71C loc_809D71C                             ; CODE XREF: GetFlagAddress+14j
ROM:0809D71C                 LDR     R1, =0xFFFFC000
ROM:0809D71E                 ADD     R0, R3, R1
ROM:0809D720                 CMP     R0, #0
ROM:0809D722                 BGE     loc_809D728
ROM:0809D724                 LDR     R2, =0xFFFFC007
ROM:0809D726                 ADD     R0, R3, R2
ROM:0809D728
ROM:0809D728 loc_809D728                             ; CODE XREF: GetFlagAddress+36j
ROM:0809D728                 ASR     R0, R0, #3
ROM:0809D72A                 LDR     R1, =0x20375FC
ROM:0809D72C
ROM:0809D72C loc_809D72C                             ; CODE XREF: GetFlagAddress+20j
ROM:0809D72C                 ADD     R0, R0, R1
ROM:0809D72E
ROM:0809D72E loc_809D72E                             ; CODE XREF: GetFlagAddress+Ej
ROM:0809D72E                 POP     {R1}
ROM:0809D730                 BX      R1
ROM:0809D730 ; End of function GetFlagAddress
ROM:0809D730
ROM:0809D730 ; ---------------------------------------------------------------------------
ROM:0809D732                 DCB    0
ROM:0809D733                 DCB    0
ROM:0809D734 dword_809D734   DCD 0xFFFFC000          ; DATA XREF: GetFlagAddress:loc_809D71Cr
ROM:0809D738 dword_809D738   DCD 0xFFFFC007          ; DATA XREF: GetFlagAddress+38r
ROM:0809D73C dword_809D73C   DCD 0x20375FC           ; DATA XREF: GetFlagAddress+3Er
So, would not be viable (or even possible) to write an algorithm that checks the 'supposed' flags used in the game.

The best that could be done, is a tool that loads the save and check the flags. But it would not be very useful. :P
__________________
Reply With Quote
  #17    
Old December 31st, 2009 (06:04 AM). Edited December 31st, 2009 by liuyanghejerry.
liuyanghejerry's Avatar
liuyanghejerry liuyanghejerry is offline
 
Join Date: Jan 2008
Location: China,Xi'an
Nature: Calm
Posts: 218
Send a message via ICQ to liuyanghejerry Send a message via Windows Live Messenger to liuyanghejerry Send a message via Yahoo to liuyanghejerry
Quote originally posted by Juan:
The flags are modified at run time.

So, would not be viable (or even possible) to write an algorithm that checks the 'supposed' flags used in the game.

The best that could be done, is a tool that loads the save and check the flags. But it would not be very useful.
That ASM code is amazing...
Except the ASM part,there's another way for about flags and vars.
Read all the scripts from the map and decomplie them and find the used flags or vars...
-v-But this is just thinking.Doing so is not really easy.

Quote originally posted by FinalZero:

So many sentences...
Thank you for reminding~
__________________
Zel,thethethethe,LU-HO,Darthatron,HackMew,ZodiacDaGreat,Juan,score_under,JPAN,Tamah-chan,I really appreciate your kindness and your help!:D


I did something that really bad.But made all Chinese can hack Pokemon, too.If you guys hate me, I totally understand,but cannot do anything but force to keep everything.
If there must be someone to undertake all spit and curse, it must be me.
Reply With Quote
  #18    
Old December 31st, 2009 (07:24 AM).
Juan Juan is offline
Brazilian with a bad English
 
Join Date: Jun 2007
Location: Pindamonhangaba - SP
Age: 24
Nature: Adamant
Posts: 92
Quote originally posted by liuyanghejerry:
That ASM code is amazing...
Read all the scripts from the map and decomplie them and find the used flags or vars...
Quote originally posted by score_under:
Firstly, how would it find every script? How would it know if the script it found is valid or not? What about scripts called from ASM? What about flags modified from ASM?
:D

Returning to the main subject of discussion, I hope to continue with their learning c + +.

And I also am learning C + +, and after you get used to the syntax, notice that is not as difficult as it seems.

Although I was almost giving up to create forms with wxWidgets using wsSizers. :(
__________________
Reply With Quote
  #19    
Old January 2nd, 2010 (05:09 PM).
helloNL helloNL is offline
 
Join Date: Oct 2009
Gender: Male
Posts: 37
is this a programm that makes the rom bigger so you can put more on it?
Reply With Quote
  #20    
Old January 2nd, 2010 (09:13 PM).
liuyanghejerry's Avatar
liuyanghejerry liuyanghejerry is offline
 
Join Date: Jan 2008
Location: China,Xi'an
Nature: Calm
Posts: 218
Send a message via ICQ to liuyanghejerry Send a message via Windows Live Messenger to liuyanghejerry Send a message via Yahoo to liuyanghejerry
Quote originally posted by Juan:
:D

Returning to the main subject of discussion, I hope to continue with their learning c + +.

And I also am learning C + +, and after you get used to the syntax, notice that is not as difficult as it seems.

Although I was almost giving up to create forms with wxWidgets using wsSizers.
Due to some reasons,I just give up wxWidgets and start learning Qt...

Quote originally posted by helloNL:
is this a programm that makes the rom bigger so you can put more on it?
Yes,it is
__________________
Zel,thethethethe,LU-HO,Darthatron,HackMew,ZodiacDaGreat,Juan,score_under,JPAN,Tamah-chan,I really appreciate your kindness and your help!:D


I did something that really bad.But made all Chinese can hack Pokemon, too.If you guys hate me, I totally understand,but cannot do anything but force to keep everything.
If there must be someone to undertake all spit and curse, it must be me.
Reply With Quote
  #21    
Old January 3rd, 2010 (07:13 AM).
FinalZero's Avatar
FinalZero FinalZero is offline
...
 
Join Date: Dec 2008
Posts: 115
Quote:
The flags are modified at run time.

The function to return the address of the flags is this:
You weren't thinking of the same thing I was. By checking which flags are used, I thought it meant which flags are programmed to be used, whether they've been activated or not, while you thought it meant only flags that have been activated. To check the second, one'd have to check the individual save state.

Quote:
C + +
Please, it's "C++".
Reply With Quote
  #22    
Old January 3rd, 2010 (08:37 AM).
Juan Juan is offline
Brazilian with a bad English
 
Join Date: Jun 2007
Location: Pindamonhangaba - SP
Age: 24
Nature: Adamant
Posts: 92
Quote originally posted by FinalZero:
You weren't thinking of the same thing I was. By checking which flags are used, I thought it meant which flags are programmed to be used, whether they've been activated or not, while you thought it meant only flags that have been activated. To check the second, one'd have to check the individual save state.

score_under quote [2]


Quote originally posted by FinalZero:
Please, it's "C++".

Go to Google translator, select Portuguese in 1st option and English on the 2nd.
Type "C++", and see what the result will come out "C + +".

I check the spelling of important things, but we are in a Pokémon forum, no need to worry about "technically terms" nor the languages's names, because it makes no difference.



Can we go back to the subject of the topic, which is the program made by liuyanghejerry?

If you want to continue discussing a tool to search for flags, I think better to create a specific topic for this.
:D
__________________
Reply With Quote
Reply
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are UTC -8. The time now is 03:53 AM.