Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > Perfect World > PW Hacks, Bots, Cheats, Exploits
You last visited: Today at 22:23

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

Advertisement



Current Base Address Discovery Methods

Discussion on Current Base Address Discovery Methods within the PW Hacks, Bots, Cheats, Exploits forum part of the Perfect World category.

Reply
 
Old 02/26/2014, 19:47   #16
 
R3D23R0's Avatar
 
elite*gold: 0
Join Date: Oct 2010
Posts: 40
Received Thanks: 57
Quote:
Originally Posted by msxgames View Post
0xF10 is the let's say "normal" inventory structure, 0xF18 is the "quest" inventory structure and 0xF14 is the "gear" inventory structure. Under 0xF14 you can find the gear listed under 0xC. 0x0 is the weapon, 0x4 is the hat, 0x8 is the necklace, 0xC is the robe and so on......

currentDur = [[[[[[[realBaseAddress] + 0x1C] + 0x2C] + 0xF14] + 0xC] + 0x0] + 0x74]
maxDur = [[[[[[[realBaseAddress] + 0x1C] + 0x2C] + 0xF14] + 0xC] + 0x0] + 0x78]

The durability is calculated using CEIL(currentDur/100) and CEIL(maxDur/100).
Between your help and Interest's, I finally figured I had an offset or two off and wasn't reading the memory right...

If anyone else is looking for a snippet, this works at the moment:

Code:
Global $realbaseaddress = 0xc7662c

Global $baseaddress = _MemoryRead($realbaseaddress, $vOpen) + 0x1c
Global $handle = WinGetHandle($APP_TITLE, "")
Global $vOpen = _MemoryOpen(ProcessExists($EXE_TITLE))
Global $baseoffset = 0x1c
Global $vReadBase = _MemoryRead($vBaseAdress, $vOpen, "dword") + $vBaseOffset
Global $vReadBaseplayer = _MemoryRead($vReadBase, $vOpen, "dword") + $vplayeroffset


Global $dur1 = _MemoryRead($vReadBaseplayer, $vOpen) + 0xF14;
Global $dur2 = _MemoryRead($dur1, $vOpen) + 0xC;
Global $dur3 = _MemoryRead($dur2, $vOpen) + 0x0

$dur4 = _MemoryRead(_MemoryRead($dur3, $vOpen) + 0x74, $vOpen)
$dur = $dur4
$durdisplay = $dur/100
R3D23R0 is offline  
Old 02/28/2014, 18:04   #17
 
R3D23R0's Avatar
 
elite*gold: 0
Join Date: Oct 2010
Posts: 40
Received Thanks: 57
I've been tinkering around with detecting my dq hp charm and replacing it when it runs out, and I've had trouble finding the offset for it, and then after some research I discovered that the ID changes for every DQ charm. There doesn't seem to be any static offset. There's an easy workaround, search in CE for your current HP charm value, what's left of it, and then tick it once, then go back and search for it again, you'll only have one value, hardcode it into your script and it will show your charm value until the charm is gone, then you'll need to repeat the process when the charm is replaced. Annoying, but effective.

Update: I think I may have located the offset for equipped dq charms. Will post after testing.

Quote:
Originally Posted by msxgames View Post
0xF10 is the let's say "normal" inventory structure, 0xF18 is the "quest" inventory structure and 0xF14 is the "gear" inventory structure. Under 0xF14 you can find the gear listed under 0xC. 0x0 is the weapon, 0x4 is the hat, 0x8 is the necklace, 0xC is the robe and so on......

currentDur = [[[[[[[realBaseAddress] + 0x1C] + 0x2C] + 0xF14] + 0xC] + 0x0] + 0x74]
maxDur = [[[[[[[realBaseAddress] + 0x1C] + 0x2C] + 0xF14] + 0xC] + 0x0] + 0x78]

The durability is calculated using CEIL(currentDur/100) and CEIL(maxDur/100).
DQ charm remaining value is located at [[[[[[[realBaseAddress] + 0x1C] + 0x2C](char struct) + 0xF14(gear inventory)] + 0xC(gear)] + 0x50] + 0xC0]

Not sure why I had trouble locating it before, but it seemed every time I swapped it, the address went somewhere in left field and completely changed. Maybe I mistyped one of the addresses while searching, not the first time I've done that and spent hours banging my head against the wall...
R3D23R0 is offline  
Thanks
2 Users
Old 03/01/2014, 10:41   #18
 
elite*gold: 0
Join Date: Sep 2011
Posts: 46
Received Thanks: 144
@R3D23R0 mind helping me with my code, everything seems to work but the Character name

denzjh is offline  
Old 03/01/2014, 11:37   #19
 
elite*gold: 0
Join Date: Apr 2010
Posts: 99
Received Thanks: 136
The Character name offset is a reference, it's not the name itself. Use something like this:

msxgames is offline  
Thanks
2 Users
Old 03/01/2014, 13:03   #20
 
elite*gold: 0
Join Date: Sep 2011
Posts: 46
Received Thanks: 144
Quote:
Originally Posted by msxgames View Post
The Character name offset is a reference, it's not the name itself. Use something like this:

Thank you very much... Now going onto the next phase of my project...
denzjh is offline  
Old 03/01/2014, 17:23   #21
 
R3D23R0's Avatar
 
elite*gold: 0
Join Date: Oct 2010
Posts: 40
Received Thanks: 57
Quote:
Originally Posted by denzjh View Post
Thank you very much... Now going onto the next phase of my project...
Sorry I didn't check back forums in time lol.

By the way, coins offset is now at playerstruct + 0x578, if you're curious as to how much you're making per hour.

Code:
Global $coin = _MemoryRead($vReadBaseplayer, $vOpen) + 0x578;
R3D23R0 is offline  
Old 03/01/2014, 20:10   #22
 
elite*gold: 0
Join Date: Apr 2010
Posts: 99
Received Thanks: 136
You can use reclass to manage your offsets. Here is an example of the offsets I collected, maybe they are usefull for you.

Reclass can be downloaded from here:
Attached Files
File Type: zip PWI reclass.zip (29.7 KB, 315 views)
msxgames is offline  
Thanks
4 Users
Old 03/02/2014, 04:19   #23
 
R3D23R0's Avatar
 
elite*gold: 0
Join Date: Oct 2010
Posts: 40
Received Thanks: 57
Quote:
Originally Posted by msxgames View Post
You can use reclass to manage your offsets. Here is an example of the offsets I collected, maybe they are usefull for you.

Reclass can be downloaded from here:
Thanks for posting this. I opened it up and I'm not entirely sure how to use this. I just started using reclass maybe a week or two ago and I just use it to find what address points to what and what offsets point where. I mostly hunt with cheat engine, find what accesses or writes to an address, browse around, then hunt with reclass until I find what I was looking for. I finally realized the hex addresses in reclass point to actual value locations, and that was when things finally clicked and it's much easier now. When I started using Reclass more I realized you can find anything with cheat engine, you just have to be looking for the right value, whether it's *10 or *100 or *x.
R3D23R0 is offline  
Old 03/02/2014, 17:32   #24
 
elite*gold: 0
Join Date: Apr 2010
Posts: 99
Received Thanks: 136
An example how to read ReClass. I started using ReClass 2 weeks ago also, but it's very good to keep a good overview. And sometimes you can find some very interesting offsets. Like the one with the AuctionHall gives a lot of extra information, which I wouldn't have found with CE.

msxgames is offline  
Thanks
3 Users
Old 03/03/2014, 00:15   #25
 
R3D23R0's Avatar
 
elite*gold: 0
Join Date: Oct 2010
Posts: 40
Received Thanks: 57
Quote:
Originally Posted by msxgames View Post
An example how to read ReClass. I started using ReClass 2 weeks ago also, but it's very good to keep a good overview. And sometimes you can find some very interesting offsets. Like the one with the AuctionHall gives a lot of extra information, which I wouldn't have found with CE.

Ok...I guess I'm not good enough with Reclass yet to figure out how you indented all those secondary offsets and got them to point where you got them... I'm going to have to learn how to use more of the features of Reclass I guess.
R3D23R0 is offline  
Thanks
1 User
Old 03/04/2014, 10:07   #26
 
elite*gold: 0
Join Date: Sep 2011
Posts: 46
Received Thanks: 144
@msxgames
I tried to understand the reclass that you attached and i am stuck at the moment... what is the pointer for the SortedNPCList in the class? is it
SortedNPCListPointer = [[[baseAdd + 0x1C] + 0x18] + 0x20] ?
Sorry for being noob?
There is this (SortedNPCList = 0x58) class... but can't follow where the pointer is...

Thanks in advance!

NVM - I got it working now seems typo error on the script, but the Pointer is correct
denzjh is offline  
Thanks
1 User
Old 03/04/2014, 21:24   #27
 
elite*gold: 0
Join Date: Apr 2010
Posts: 99
Received Thanks: 136
Yup, that's how it works.

msxgames is offline  
Thanks
3 Users
Old 03/07/2014, 21:11   #28
 
R3D23R0's Avatar
 
elite*gold: 0
Join Date: Oct 2010
Posts: 40
Received Thanks: 57
I'm tinkering around with ideas regarding the in game auto cultivation. Sometimes it just gets screwed up and your character stops attacking for no logical reason. I tried target ID's and mob id's and finally realized I never just auto attack. I always use a skill, so I just set up a timer that would check my current MP and compare it with my MP a while ago, and if it increased, strike 1. If after a little more time it had still increased, strike 2. etc etc etc 3 strikes being it realizes it was borked and I can have it go back to my starting coordinates via the coordinates assistant and reinitiate auto cultivation. Just an idea if anyone else has had a similar issue, that's a decent workaround that won't let you burn charms overnight. And no you don't have to have the client in focus to do all this.

Oh, one other thing. If you ever get the 'enter game fails' or similar error when trying to launch PWI from somewhere, this still works, credits in the quote:

Quote:
Originally Posted by ntldr32 View Post
Stupid GM make an update that fore us to start client with patcher or with Arc launcher, its like go back to old pw lol,.
we can use to baypass it, but since the new autopacth only happend on the 1st client run, and in fact that multi client are legal now in PWI. it mean we only need to ignore the "startbypatcher".
1. open OllyDBG and attach it with pwi client (it is pw international, not pw indo XD, get out if u think this is for pw indo).
2. right click on CPU - main thread window > Search for > All referenced text string.
3. on the referenced text string window, scroll up to the 1st index (CTRL + HOME) > right click > Search for text and type "startbypatcher"
4. double click the "UNICODE startbypatcher"
5. on the CPU - main thread windo. look for "JNZ SHORT 00******" 4 index below "UNICODE startbypatcher". change the JNZ to JMP.
6. right click > copy > select all
7. right click > backup > update backup
8. right click > copty to executable > selection
9. new window apear, right click > save file > save > on file exist msgbox click Yes.
u can now run pwi client w/o Arc or Patcher.

sorry cant post image here XD
R3D23R0 is offline  
Thanks
1 User
Old 03/08/2014, 19:45   #29
 
elite*gold: 0
Join Date: Jan 2010
Posts: 4
Received Thanks: 0
@R3D23R0 Thank for your good tutorial about finding base address.

I have a favor that want to ask you, so please help me.

I want to make simple "bot" with below features:

- Auto press button (something like pressing button when character 's hp is low or use skill in amount of time)
- Auto change target
- Auto pick up item

I can program with C/C++/C#. Can you show me some steps that describe how to use base address (or something else) to make an auto bot ?

Iam a noobie in this aspect, so please forgive me if my question bothers you.

Thank in advanced.
goder2910 is offline  
Old 03/09/2014, 05:46   #30
 
R3D23R0's Avatar
 
elite*gold: 0
Join Date: Oct 2010
Posts: 40
Received Thanks: 57
Quote:
Originally Posted by goder2910 View Post
@R3D23R0 Thank for your good tutorial about finding base address.

I have a favor that want to ask you, so please help me.

I want to make simple "bot" with below features:

- Auto press button (something like pressing button when character 's hp is low or use skill in amount of time)
- Auto change target
- Auto pick up item

I can program with C/C++/C#. Can you show me some steps that describe how to use base address (or something else) to make an auto bot ?

Iam a noobie in this aspect, so please forgive me if my question bothers you.

Thank in advanced.
That's pretty much what the auto cultivation bot does, and it's already all there to use, except for the auto pot. You can use a simple script that read the char hp from the client, the offsets are posted around here somewhere, but if you know how to program in C you probably already know how to find offsets with CE. Otherwise there's the auto recovery stone in the boutique that does that for you, you can make up the cost of it within a fraction of the amount of time it lasts for you.
R3D23R0 is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
How to get base address ?
01/13/2013 - C/C++ - 0 Replies
Hello guys. Sorry for my english, i know it is bad. http://i48.tinypic.com/2u7ajnk.png My question is: how to read Base Address with this pic ? It works in cheat engine, but i want do that cheat in c++, so i have got all offsets but i don't have got base address. I have done all cheat-engine-tutorial twice, this is the method that i used: Delicious Cheat Engine tutorial step #8 : Multilevel pointers and pointer scanner - YouTube
na ep9 base address
08/27/2012 - Cabal Online - 3 Replies
since my bypass doesnt help and unpacked cabal client for na isnt updated, is someone willing to pm me the base address for ep9 cabal na
Base Address PWI att:515
05/24/2011 - Perfect World - 0 Replies
Hello Guys Then as seen in several tutorials on the internet, I could not Chagar the base address of 515 pwi in updating Genesis. However checked in past post's found a guy pw-devel, and I wonder if the same or another person who knows how to find base address or which it may pass So is this I thank everyone's attention and thanks
current exp address with CE
10/05/2009 - Silkroad Online - 13 Replies
hi guys, i am working on a new tool wich read some values from the memory of silkroad. I have found all what i need but from the current exp i cant get the pointer. At the address where i found the current exp change the values and sometimes there are my current exp and often there are ???? or other values. Can somebody tell me how can i read the pointer of the exp? or perhaps the % of your lvl?
Can someone please give me the current EP address?
10/27/2007 - Eudemons Online - 0 Replies
Ok.... I've been using cheat engine and T-search etc.. alot, and the only adress i cant seem to find is the EP one, If some could tell me the current EP adress i would be very much obliged... Thanks



All times are GMT +1. The time now is 22:23.


Powered by vBulletin®
Copyright ©2000 - 2025, 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 ©2025 elitepvpers All Rights Reserved.