Register for your free account! | Forgot your password?

Go Back   elitepvpers > General Gaming > General Gaming Discussion
You last visited: Today at 03:24

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

Advertisement



Ether Saga Online: Giving working zoom hack and helpful classes and asking for help

Discussion on Ether Saga Online: Giving working zoom hack and helpful classes and asking for help within the General Gaming Discussion forum part of the General Gaming category.

Reply
 
Old   #1
 
MessyIO's Avatar
 
elite*gold: 140
Join Date: Aug 2011
Posts: 5
Received Thanks: 1
Lightbulb Ether Saga Online: Giving working zoom hack and helpful classes and asking for help

Doesn't work after Future's End patch

Contents
- Introduction
- ZoomHack
- ESO botting core template for c#
- Request for help from people experienced in botting


Introduction
Ok so this is my first post on epvp, I've been spending a whole lot of time lately learning about memory scanning, assembly and whatnot. I used to bot UO but since there was EasyUO I didn't need to get into the real stuff. I'm also experienced programmer but not on very low level...

So let's start with sharing something I got so far, even if it's just a little:

For memory reading and writing I use a modified version of AionInterface with some types to store memory offsets and pointer paths, other than that the code is mine.

I attached source code and binaries for your convenience.

The addresses work for current version 399.

ZoomHack

For a casual user who just wants to use it:

Works for version 399 and most likely will crash any other version.

Download the binaries.rar attached and extract all files. When game is running run ZoomSolution.exe as adminstrator (right click -> run as administrator).


For someone who is interested in code:

Source code for ZoomSolution (program.cs) (requires reference to EESOcore.dll):
Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ZoomSolution
{
    class Program
    {
        static void Main(string[] args)
        {
            EESO.EESOCore core = new EESO.EESOCore();
            foreach (EESO.Client client in core.Clients)
                client.InfiniteZoom = true;
        }
    }
}
ESO botting core template for c#
Look into the EESOcore project, it has functionality to recognize running clients and attaching to offsets that are for current version.

Offsets in the template (for version 399):
Code:
int hpAddress = new MemPath("elementclient.exe+006B304C,28,288").GetTargetAddress(this);
            MemoryAddresses.Clear();
            MemoryAddresses.Add("HP", new MemLocation(hpAddress));
            MemoryAddresses.Add("Level", new MemLocation(new MemOffset(hpAddress, -0x008).TargetAddress));
            MemoryAddresses.Add("Mana", new MemLocation(new MemOffset(hpAddress, 0x0004).TargetAddress));
            MemoryAddresses.Add("Rage", new MemLocation(new MemOffset(hpAddress, 0x0008).TargetAddress));
            MemoryAddresses.Add("Vigor", new MemLocation(new MemOffset(hpAddress, 0x000C).TargetAddress));
            MemoryAddresses.Add("Essence", new MemLocation(new MemOffset(hpAddress, 0x0010).TargetAddress));
            MemoryAddresses.Add("Exp", new MemLocation(new MemOffset(hpAddress, 0x0014).TargetAddress) { Cast = typeof(double), Size = 8 });
            MemoryAddresses.Add("Attack", new MemLocation(new MemOffset(hpAddress, 0x0028).TargetAddress));
            MemoryAddresses.Add("Defense", new MemLocation(new MemOffset(hpAddress, 0x002C).TargetAddress));
            MemoryAddresses.Add("Health", new MemLocation(new MemOffset(hpAddress, 0x0030).TargetAddress));
            MemoryAddresses.Add("Power", new MemLocation(new MemOffset(hpAddress, 0x0034).TargetAddress));
            MemoryAddresses.Add("Points", new MemLocation(new MemOffset(hpAddress, 0x0038).TargetAddress));
            MemoryAddresses.Add("Affinity", new MemLocation(new MemOffset(hpAddress, 0x003C).TargetAddress));
            MemoryAddresses.Add("Ferus", new MemLocation(new MemOffset(hpAddress, 0x0040).TargetAddress));
            MemoryAddresses.Add("Flora", new MemLocation(new MemOffset(hpAddress, 0x0044).TargetAddress));
            MemoryAddresses.Add("Aquan", new MemLocation(new MemOffset(hpAddress, 0x0048).TargetAddress));
            MemoryAddresses.Add("Pyros", new MemLocation(new MemOffset(hpAddress, 0x004C).TargetAddress));
            MemoryAddresses.Add("Terra", new MemLocation(new MemOffset(hpAddress, 0x0050).TargetAddress));
            MemoryAddresses.Add("MaxHealth", new MemLocation(new MemOffset(hpAddress, 0x0054).TargetAddress));
            MemoryAddresses.Add("MaxMana", new MemLocation(new MemOffset(hpAddress, 0x0058).TargetAddress));
            MemoryAddresses.Add("MaxRage", new MemLocation(new MemOffset(hpAddress, 0x005C).TargetAddress));
            MemoryAddresses.Add("MaxVigor", new MemLocation(new MemOffset(hpAddress, 0x0060).TargetAddress));
            MemoryAddresses.Add("MaxEssence", new MemLocation(new MemOffset(hpAddress, 0x0064).TargetAddress));
            MemoryAddresses.Add("StrMin", new MemLocation(new MemOffset(hpAddress, 0x00C4).TargetAddress));
            MemoryAddresses.Add("StrMax", new MemLocation(new MemOffset(hpAddress, 0x00C8).TargetAddress));
            MemoryAddresses.Add("DEF", new MemLocation(new MemOffset(hpAddress, 0x00CC).TargetAddress));
            MemoryAddresses.Add("CSR", new MemLocation(new MemOffset(hpAddress, 0x00D0).TargetAddress) { Cast = typeof(float) });
            MemoryAddresses.Add("CSD", new MemLocation(new MemOffset(hpAddress, 0x00D4).TargetAddress) { Cast = typeof(float) });
            MemoryAddresses.Add("IntMin", new MemLocation(new MemOffset(hpAddress, 0x00D8).TargetAddress));
            MemoryAddresses.Add("IntMax", new MemLocation(new MemOffset(hpAddress, 0x00DC).TargetAddress));
            MemoryAddresses.Add("Resist", new MemLocation(new MemOffset(hpAddress, 0x00E0).TargetAddress));
            MemoryAddresses.Add("CCR", new MemLocation(new MemOffset(hpAddress, 0x00E4).TargetAddress) { Cast = typeof(float) });
            MemoryAddresses.Add("CCD", new MemLocation(new MemOffset(hpAddress, 0x00E8).TargetAddress) { Cast = typeof(float) });
            MemoryAddresses.Add("ACC", new MemLocation(new MemOffset(hpAddress, 0x00EC).TargetAddress));
            MemoryAddresses.Add("RESL", new MemLocation(new MemOffset(hpAddress, 0x00F0).TargetAddress));
            MemoryAddresses.Add("Gold", new MemLocation(new MemOffset(hpAddress, 0x0184).TargetAddress));
I know that I could have rather made it as a struct with a base address and offsets for properties but for now I'm still working on this, I'm releasing unfinished work just if it happens to help you in what you're doing.

Examples of usage:

Iterating all properties of all clients and showing them in a listbox:
Code:
            EESOCore core = new EESOCore();
            listBox1.Items.Clear();
            foreach (Client client in core.Clients)
            {
                listBox1.Items.Add("Client: " + client.Window.hWnd.ToString());
                foreach (string property in client.Properties.Keys)
                {
                    listBox1.Items.Add(
                        String.Format("({0}){1}\t\t= " + ( client.Properties[property].Equals(typeof(float)) ? "{2:#0.0000}" : "{2}" ),
                            client.Properties[property].Name,
                            property,
                            client.GetProperty(property, client.Properties[property]))
                        );
                }
            }
Reading HP of the client with smallest main window handle:
Code:
EESOCore core = new EESOCore();
int HP = core.Clients[0].HP;
Finding out how much experince is needed for level 117 (interesting for some since nobody has reached that level yet):
(note how you have to have a client running to get that, since I don't have a static table in the core in case it would change for any reason)
Code:
EESOCore core = new EESOCore();
int ExpToLvl = core.Clients[0].ExpPerLevel(117);
Request for help from people experienced in botting
Ok now to the last part. Why am I releasing unfinished stuff (that works tho)?

I've been scanning ESO memory and reading tutorials and articles about it for quite some time now and even though I've learned a lot doing so it's very hard to find entities from memory when you're not very experienced in that stuff.

If anyone would steer me in the right direction on finding arrays or structures for Items, mobiles etc. Any help would be greatly appreciated and I would gladly contribute back to the community as I get my stuff better.

Lastly: I'm not interested in exploiting and the zoom hack is there mostly to give this post some other value than just begging for help. The reason I am making this stuff is to keep statistics of my botting (with the ingame bot Possessor), but at the same time making a good library for custom bots and automation for whoever may need one (kinda like EasyUO for ESO).

Attachments:
Binaries.rar = Binaries for EESOCore and InteropHelper libraries and zoom hack executable.
Source.rar = Sauce.
Attached Files
File Type: rar Binaries.rar (16.5 KB, 10 views)
File Type: rar Source.rar (17.1 KB, 21 views)
MessyIO is offline  
Reply

Tags
bot, entities, eso, hack, memory


Similar Threads Similar Threads
Ether Saga Online - my 1st bot
04/08/2010 - General Gaming Discussion - 15 Replies
The reason for this bot is the limitations I encountered with Possessor. This is actually my 2nd bot :p The 1st bot was in pure AutoIt. It was slow and couldn't do some of the features I wanted. So I decided to redo it in C#. Screen Shots: http://img502.imageshack.us/img502/4343/botstatus .jpg http://img442.imageshack.us/img442/7205/botconfig. jpg http://img189.imageshack.us/img189/9546/botskills .jpg http://img109.imageshack.us/img109/6998/botfilter. jpg...
Ether Saga Online - Zoom
07/06/2009 - General Gaming Discussion - 1 Replies
This is For Ether Saga Online it allows you to zoom out farther that normal. Things to note: 1.This is my first Hack so if you don't like it, don't use it. 2.I used cheat engine to make it so some AV might flag it as a keyloger... it isn't 3.You might get an error when running it saying that it is the wrong version... just ignore it, it works fine. 4.you need to enable the cheat then disable it in order for it to work. 5.This was tested with ESO Patch 44 Again this is my first...
[Release] Ether Saga Zoom Hack
04/14/2009 - General Gaming Discussion - 29 Replies
Ether Saga Online Zoom Hack E*pvp only Release #-Hack Notes Zoom Hack. You can Zoom out so much you want. #-Screenshot http://img3.imagebanana.com/img/e0duacc/thumb/ESO ZH.jpg #-Install Notes



All times are GMT +2. The time now is 03:24.


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