Home Page
Projects > Ragnarok Experience Viewer
Search:
Ragnarok Experience Viewer Thumbnail
Ragnarok Experience Viewer v1.2
Completed
Reverse engineering project to modify the way a MMORPG client engine worked
Rating: 8 (Though no longer useful, it was a good project that had a lot of positive things come out of it)
Project Time: Feb 2002-5/19/2002: 25
Languages: ASM, VB6
Requirements: VB Runtimes, Ragnarok Beta Client
Downloads: Binary (See any updates below for prior versions)
Sections: Information, Content, Concepts, Notes, Updates, Comments
Information
I Originally tapped the MMORPG executable memory and pulled the “hidden” character information from it. The second version edited the executable itself and had it display the information in the client’s GUI.
Content

The Experience Viewer was basically a program that would take a section of the GUI of the game it was designed for, in this case, Ragnarok (a MMORPG), and print extra information the user wasn’t allowed access to at the time to help them out (the amount of experience the character had, needed for the next level, and gained from the last kill.)

The way the program worked was, first, I took the game and reverse engineered the client via the assembly level opcodes. I had to find where the address of the information was stored, and the section to print the information. Once I found this, I wrote routines to search for the spots in the executable where code was supposed to be added, and then dynamically added in assembly code depending on the checked options.

The assembly code was changed in the physical exe in a way so multiple patches where unneeded. The dynamic finding and coding of the program was also necessary because the company patched and updated the client executable frequently.


This program also had a few other options like monitoring the current experience values in RAM and showing in its own window if the user did not want to patch their Ragnarok client executable, and exported stats to later use to statistically analyze parts of the game.


See the Project Page on my Ragnarok site for more information and past versions. Tutorial on its creation is also included.

The Original README File:
  • Ragnarok Online Exp Viewer Quick Guide
  • The windowed Full Screen Button Maximizes your RO window (in windowed mode) to fit your current resolution
  • The Patch Ragnarok Exe adds in some assembly code into your Ragnarok EXE that shows you the same information that is shown in this window, and you won’t need to run this program anymore.
  • The collapse window button collapses the window so it will fit precisely inside your Ragnarok window where the exp bars are, or wherever you want.
  • Press Alt+N to get to the menu when in collapsed mode.
  • The Export Exp checkbox will create a text file, and every time you make a kill, it will record your new experience.
  • The Export Stats to file will keep a file that always lists your current stats.
  • You can move the window in collapsed mode by pressing ALT+N and going to move.
  • The three numbers are - current exp, needed exp, exp from last kill.
  • When opening a character, the last kill number may appear wrong until you kill a monster.
  • If you are running the basic info window in collapsed mode, it shows Base Exp/Base Exp Needed/Base Exp For Last Kill/Base Exp% Job Exp/Job Exp Needed/Job Exp For Last Kill/Job Exp% (Unless you change it)

	************************************************************************************
	****YOU MAY WANT TO BACKUP YOUR RAGEXE.EXE BEFORE INSTALLING THE INTERNAL PATCH.****
	************************************************************************************

Changed:
  • Version 1.0
    • First complete release
  • Version 1.1
    • Now displays in the basic info window when inside Ragnarok when it is collapsed.
    • Fixed some problems with saving information about the external window.
    • Changed “Patch Ragnarok Exe” to “Patch RagExe.Exe” to eliminate some confusion.
    • Automatically updates the external memory values before patching the Ragnarok exe because it can not be done after. (To lazy to recode some of the stuff ^_^)
    • Redid the dynamic patching protocols completely to allow for a smaller DAT file.
  • Version 1.1.1
    • Redid some offsets so it should now work with ALL patches from gravity. Patch 96 broke the streak from patch 42 of it working :-\ .
  • Version 1.2.0
    • Fixed to be compatible with patch 109 (13 patch streak :-\). Also added in the option if you want collapsed and or open window views of the internal viewer, and what you want the collapsed window to show.

Screenshots:

Viewer visual examples Program Interface
Ragnarok Experience Viewer: Viewer visual examples Ragnarok Experience Viewer: Program Interface

External Viewer running over game
Ragnarok Experience Viewer: External Viewer

External Viewer’s popup menu
Ragnarok Experience Viewer: External Viewer’s popup menu

Internal Experience Viewer
Ragnarok Experience Viewer: Internal Experience Viewer

Internal Viewer’s assembly code, added to program’s executable (Assembly editor is OLLYDBG)
Ragnarok Experience Viewer: Internal Viewer’s assembly code
Concepts
Reverse Engineering, Graphics, Common Sense
Notes
When you want something, sometimes you have to do it yourself
Updates
Dakusan License v2.0 @ 2009-11-04 16:06:57 - Download

I have updated the licensing information across the board for my website and all its projects to the Dakusan License v2.0, a slightly modified version of the Original BSD License.

The Copyright page and all project downloads have been updated accordingly.

Ragnarok Experience Viewer v1.2 @ 2008-06-07 11:12:33 - Download
Uploaded v1.2 of RagExp and wrote the content section. The original binary file compiled in 2002 is used and has not been modified like most all my other projects with a copyright, author information, and about page.
Comments
To add comments, please go to the forum page for this project (guest comments are allowed for the Projects, Posts, and Updates Forums).
Comments are owned by the user who posted them. We accept no responsibility for the contents of these comments.

No comments for this Project