Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Perfect World
You last visited: Today at 12:44

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Jade Dynasty Offset Help

Discussion on Jade Dynasty Offset Help within the Perfect World forum part of the MMORPGs category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Mar 2011
Posts: 7
Received Thanks: 0
Jade Dynasty Offset Help

Ok Ladies and Gentlemen,

I know this is probably the wrong forum to ask about a different game but since they are by the same company, I figured someone might have played this game, is well-versed in offset searching and can help me out.

So basically, if you have played JD, you know about espers. So what I'd like to know is, can anyone share a hint or two on how to go about finding the offset for the "esper slot"? I am not talking about skill slot, I am talking about the slot that you put your esper into. I've already tried several ways to find this address and have not been able to succeed.

So, any suggestion or clue that can shed some light would be appreciated. Thanks.

PS: Simple search by taking out esper and putting it back in with unknown initial value / 4 bytes search using changed/unchanged method does not work. I've attempted this at least a dozen time using different critieria.
plepvp is offline  
Old 09/06/2011, 18:21   #2
 
Sᴡoosh's Avatar
 
elite*gold: 20
Join Date: May 2009
Posts: 1,290
Received Thanks: 326
I have no clue about JD (I found it to be a rather boring game back then ), but is this thing a part of inventory?

If so, find inventory struct and move in indexes of 4 bytes until you find the ID or name.
Sᴡoosh is offline  
Old 09/06/2011, 21:49   #3
 
elite*gold: 0
Join Date: Mar 2011
Posts: 7
Received Thanks: 0
Quote:
Originally Posted by Sᴡoosh View Post
I have no clue about JD (I found it to be a rather boring game back then ), but is this thing a part of inventory?

If so, find inventory struct and move in indexes of 4 bytes until you find the ID or name.
Hi Swoosh, unfortunately this isn't a part of inventory. This is a part of equipped items (e.g. Armor, Boot, Helm, Weapon,....etc.).

PS: I have no problem finding the inventory struct, but this equip slot struct is a pain to find.
plepvp is offline  
Old 09/06/2011, 22:28   #4
 
Sᴡoosh's Avatar
 
elite*gold: 20
Join Date: May 2009
Posts: 1,290
Received Thanks: 326
Equip struct is probably +4 or -4 bytes from Inventory

Item ID offset of Equipment should be same as inventory.
Sᴡoosh is offline  
Old 09/06/2011, 23:51   #5
 
elite*gold: 0
Join Date: Mar 2011
Posts: 7
Received Thanks: 0
Quote:
Originally Posted by Sᴡoosh View Post
Equip struct is probably +4 or -4 bytes from Inventory

Item ID offset of Equipment should be same as inventory.
So,

1. Find Inv Struct Offset
2. +4 or -4 Offset Address

I think I'll give that a try.

I actually have one question. If I found the address to be EAX+EBX*4
How am I supposed to get a point to that? Since EBX can change.

Sigh.....found the offset, but game crashed before I can find its relationship with base address. Urgh....lost all progress.

Sigh.....found the offset, but game crashed before I can find its relationship with base address. Urgh....lost all progress.
plepvp is offline  
Old 09/07/2011, 10:35   #6
 
Interest07's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 862
Received Thanks: 576
EAX + EBX * 4

Most likely means it is simply in an array with EBX as index. So just first look for whatever item is in slot 0, that makes it easier to search for offsets. In PWI this is the weapon.

Then after you find that, simply fill in whatever was the value of EBX instead of 0 as you found it the first time. EBX is unlikely to ever be different for something as static as an equipment slot.


Naturally this is pure speculation as I have never even downloaded this game, but that's how things tend to work out

Quote:
Originally Posted by plepvp View Post
So,

1. Find Inv Struct Offset
2. +4 or -4 Offset Address

I think I'll give that a try.

I actually have one question. If I found the address to be EAX+EBX*4
How am I supposed to get a point to that? Since EBX can change.

Sigh.....found the offset, but game crashed before I can find its relationship with base address. Urgh....lost all progress.

Sigh.....found the offset, but game crashed before I can find its relationship with base address. Urgh....lost all progress.
Interest07 is offline  
Old 09/07/2011, 16:20   #7
 
elite*gold: 0
Join Date: Mar 2011
Posts: 7
Received Thanks: 0
yeah, actually, I figured that out.

I found the esper slot address. But...lol...as I said, game crashed before I could get it's relationship with base address. So I kinda lost all progress. Had to do it again later today.

Hopefully I'll have more success today. Although I'll still have to reverse the mem region so I can figure out what each segment stands for. Sigh....lots to do, lots to do.
plepvp is offline  
Old 09/09/2011, 05:55   #8
 
elite*gold: 0
Join Date: Mar 2011
Posts: 7
Received Thanks: 0
OK, I've hit a bit of a snag, so if someone can shed some light on how to go about figuring these out. That'd be helpful.

mov ecx,[ecx+0C]
lea ecx,[ecx+eax*4]
mov eax,[ecx]

Above is what I got. Now how the hell am I supposed to figure out the offset when the registers were all overwritten?

Any help appreciated.
plepvp is offline  
Old 09/09/2011, 10:05   #9
 
Interest07's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 862
Received Thanks: 576
Quote:
Originally Posted by plepvp View Post
OK, I've hit a bit of a snag, so if someone can shed some light on how to go about figuring these out. That'd be helpful.

mov ecx,[ecx+0C]
lea ecx,[ecx+eax*4]
mov eax,[ecx]

Above is what I got. Now how the hell am I supposed to figure out the offset when the registers were all overwritten?

Any help appreciated.
Well, you trace back the opcode further to see what ecx is before this

in PWI ecx would come from the playerPointer + 0xCAC.


mov ecx, [someRegister + someOffset] <-- this might not happen in the same function as your other code, so be sure to check what calls the function containing your opcode

................

some code

................

[ecx + 0x10] <--- contains the size of your inventory
mov ecx,[ecx+0C] <--- sets ecx to the start of a list of pointers, all offset by 4 * index
lea ecx,[ecx+eax*4] <--- eax is the index, it sets ecx equal to the what ecx was + eax * 4. Note that lea means you don't resolve a pointer but simply perform arithmetics on pointers / addresses
mov eax,[ecx] <--- eax now contains the beginning of the item struct
Interest07 is offline  
Thanks
1 User
Old 09/09/2011, 10:32   #10
 
elite*gold: 0
Join Date: Mar 2011
Posts: 7
Received Thanks: 0
Actually, I figured it out.
I just went and set a BP @ the first line and then just follow the registers.

Thanks for the explanation though. I now see why that lea is there.

I now have the pointer to the Esper slot and the inventory struct.

Unfortunately, PWE took extra care to prevent any change made to the ID of the esper. So I couldn't see the details of the esper on client side. All it does is gives ITEM FAIL msg. Oh well.
plepvp is offline  
Reply


Similar Threads Similar Threads
[Jade Dynasty]Virtual JAde Dynasty
01/09/2013 - Perfect World - 6 Replies
Hi all i am a member in Virtual Jade Dynasty/ Mikes Pro Gamers Community. This server have *custom mobs *custom weapons *custom armors *custom fashion *custom acsesories *custom pets *custom mounts
Jade Dynasty Induction (Free stuff on Jade Dynasty Billows Server USA-Eastern)
08/05/2010 - General Gaming Discussion - 0 Replies
Hello! If any of you want to play Jade Dynasty, and create an account for the 1st time, you can get a free ticket to 150 by introducing this code 5740093X072406098000843Zfd22be it is case sensitive so be careful in the upper left corner of the screen when you create your 1st character. If you aren't accustomed with the inductee feature , i'll explain briefly. You will get a along to your . These 2 boxes will allow you to level at a rate of 2-3 times faster than the normal player. They both...



All times are GMT +1. The time now is 12:45.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.