Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Silkroad Online > SRO Coding Corner
You last visited: Today at 19:10

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

Advertisement



[C#] Memory reader, need some help.

Discussion on [C#] Memory reader, need some help. within the SRO Coding Corner forum part of the Silkroad Online category.

Reply
 
Old   #1
 
elite*gold: 27
Join Date: Dec 2010
Posts: 1,579
Received Thanks: 2,706
Cool [C#] Memory reader, need some help.

Hi guys, I've edited the MemoryReader from user "Frayzer" for psro.
I would like to know, how to add, "refresh" function to the console, so I could see as example: every 5sec, my current dmg hp or some else thing which can be coded into it.I've tryed to find a solution, googled, but nothing I could find or I may didnt understand it, otherwhise I wouldnt ask here

Screen:



Download + Source Code:
Attached Files
File Type: rar ReadMemory.rar (27.5 KB, 156 views)
lorveth is offline  
Old 04/11/2011, 21:42   #2
 
Kazuyaš's Avatar
 
elite*gold: 0
Join Date: Apr 2007
Posts: 449
Received Thanks: 236
couldnt you just put it into a loop?
Kazuyaš is offline  
Old 04/11/2011, 21:47   #3
 
elite*gold: 0
Join Date: Nov 2007
Posts: 959
Received Thanks: 602
public void StartReading(int time)
{
Timer Reading = new Timer(new TimerCallBack(ReadValues),0,0,time);
}
public void ReadValues(object e)
{

Memory mem = new Memory("sro_client");

int maxhp = mem.ReadPointer(0x00A9E700);
int maxmp = mem.ReadPointer(0x00A9E704);
int Phymin = mem.ReadPointer(0x00A9E6E8);
int Phymax = mem.ReadPointer(0x00A9E6EC);
int Magmin = mem.ReadPointer(0x00A9E6F0);
int Magmax = mem.ReadPointer(0x00A9E6F4);
string Charname = mem.ReadString(0x00A9DB58);
string GuildMaster = mem.ReadString(0x00A9E668);
string GuildName = mem.ReadString(0xA9E64C);
int GuildMember = mem.ReadPointer(0x00A9E6C0);

Console.WriteLine("Ram Char Reader For Psro\n\n");
Console.WriteLine("Charname: {0}", Charname);
Console.WriteLine("Max HP: {0}", maxhp);
Console.WriteLine("Max MP: {0}", maxmp);
Console.WriteLine("Phymin: {0}", Phymin);
Console.WriteLine("Phymax: {0}", Phymax);
Console.WriteLine("Magmin: {0}", Magmin);
Console.WriteLine("Magmax: {0}", Magmax);
Console.WriteLine("Guild Name: {0}", GuildName);
Console.WriteLine("Guild Master: {0}", GuildMaster);
Console.WriteLine("Guild Member: {0}", GuildMember);
Console.WriteLine("");
}


then you just call StartReading(5000); for example for refreshing it every 5 secs.
I hope I could help
vorosmihaly is offline  
Old 04/11/2011, 22:27   #4
 
elite*gold: 27
Join Date: Dec 2010
Posts: 1,579
Received Thanks: 2,706
mhm,
Quote:
using System;
using System.Linq;
using System.Text;
using System.Threading;
using System.Timers;

public class Timer1
{
private static System.Timers.Timer aTimer;

public static void Main()
{
System.Timers.Timer aTimer = new System.Timers.Timer();
aTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
// Set the Interval to 5 seconds.
aTimer.Interval = 5000;
aTimer.Enabled = true;

Console.WriteLine("Press \'q\' to quit the sample.");
while (Console.Read() != 'q') ;
}

// Specify what you want to happen when the Elapsed event is raised.
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
Memory mem = new Memory("sro_client");

int maxhp = mem.ReadPointer(0x00A9E700);
int maxmp = mem.ReadPointer(0x00A9E704);
int Phymin = mem.ReadPointer(0x00A9E6E8);
int Phymax = mem.ReadPointer(0x00A9E6EC);
int Magmin = mem.ReadPointer(0x00A9E6F0);
int Magmax = mem.ReadPointer(0x00A9E6F4);
string Charname = mem.ReadString(0x00A9DB58);
string GuildMaster = mem.ReadString(0x00A9E668);
string GuildName = mem.ReadString(0xA9E64C);
int GuildMember = mem.ReadPointer(0x00A9E6C0);
Console.WriteLine("Ram Char Reader For Psro\n\n");
Console.WriteLine("Charname: {0}", Charname);
Console.WriteLine("Max HP: {0}", maxhp);
Console.WriteLine("Max MP: {0}", maxmp);
Console.WriteLine("Phymin: {0}", Phymin);
Console.WriteLine("Phymax: {0}", Phymax);
Console.WriteLine("Magmin: {0}", Magmin);
Console.WriteLine("Magmax: {0}", Magmax);
Console.WriteLine("Guild Name: {0}", GuildName);
Console.WriteLine("Guild Master: {0}", GuildMaster);
Console.WriteLine("Guild Member: {0}", GuildMember);
Console.WriteLine("");
}
}
namespace ReadMemory
{
class Program
{
private static bool exit = false;

static void Main(string[] args)
{
//Create object of class Memory
Memory mem = new Memory("sro_client");

int maxhp = mem.ReadPointer(0x00A9E700);
int maxmp = mem.ReadPointer(0x00A9E704);
int Phymin = mem.ReadPointer(0x00A9E6E8);
int Phymax = mem.ReadPointer(0x00A9E6EC);
int Magmin = mem.ReadPointer(0x00A9E6F0);
int Magmax = mem.ReadPointer(0x00A9E6F4);
string Charname = mem.ReadString(0x00A9DB58);
string GuildMaster = mem.ReadString(0x00A9E668);
string GuildName = mem.ReadString(0xA9E64C);
int GuildMember = mem.ReadPointer(0x00A9E6C0);



while (!exit)
GetLine(Console.ReadLine());
}
private static void GetLine(string cmd)
{
switch (cmd)
{
case "exit":
exit = true;
break;
}
}
}
}
I've tryed this one, but i get the error:

Quote:
Error 1 Program 'C:\Dokumente und Einstellungen\King\Desktop\prj\ReadMemory\obj\x86\ Debug\ReadMemory.exe' has more than one entry point defined: 'Timer1.Main()'. Compile with /main to specify the type that contains the entry point. C:\Dokumente und Einstellungen\King\Desktop\prj\ReadMemory\Program. cs 11 24 ReadMemory
Quote:
Error 2 Program 'C:\Dokumente und Einstellungen\King\Desktop\prj\ReadMemory\obj\x86\ Debug\ReadMemory.exe' has more than one entry point defined: 'ReadMemory.Program.Main(string[])'. Compile with /main to specify the type that contains the entry point. C:\Dokumente und Einstellungen\King\Desktop\prj\ReadMemory\Program. cs 58 21 ReadMemory
lorveth is offline  
Old 04/12/2011, 10:01   #5
 
lesderid's Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 2,400
Received Thanks: 1,517
Code:
public void MemoryReadingLoop()
{
    while (true)
    {
        //Read from memory and display.
        Thread.Sleep(5000);
        Console.Clear();
    }
}
lesderid is offline  
Thanks
1 User
Old 04/12/2011, 21:18   #6
 
Th3K1nG's Avatar
 
elite*gold: 0
Join Date: May 2008
Posts: 411
Received Thanks: 163
Quote:
Originally Posted by lesderid View Post
Code:
public void MemoryReadingLoop()
{
    while (true)
    {
        //Read from memory and display.
        Thread.Sleep(5000);
        Console.Clear();
    }
}
And now with the complete code
Th3K1nG is offline  
Old 04/12/2011, 21:43   #7
 
elite*gold: 27
Join Date: Dec 2010
Posts: 1,579
Received Thanks: 2,706
ty guys, i've got it working
lorveth is offline  
Old 04/12/2011, 21:58   #8
 
Th3K1nG's Avatar
 
elite*gold: 0
Join Date: May 2008
Posts: 411
Received Thanks: 163
Quote:
Originally Posted by KingLi :P View Post
ty guys, i've got it working
Can you write the complete code with the timer? i want learn abit C# too
Th3K1nG is offline  
Old 04/12/2011, 22:11   #9
 
elite*gold: 27
Join Date: Dec 2010
Posts: 1,579
Received Thanks: 2,706
Quote:
using System;
using System.Linq;
using System.Text;
using System.Threading;

namespace ReadMemory
{
class Program
{
private static bool exit = false;

static void Main(string[] args)
{

//Create object of class Memory
Memory mem = new Memory("sro_client");

int maxhp = mem.ReadPointer(0x00A9E700);
int maxmp = mem.ReadPointer(0x00A9E704);
int Phymin = mem.ReadPointer(0x00A9E6E8);
int Phymax = mem.ReadPointer(0x00A9E6EC);
int Magmin = mem.ReadPointer(0x00A9E6F0);
int Magmax = mem.ReadPointer(0x00A9E6F4);
string Charname = mem.ReadString(0x00A9DB58);
string GuildMaster = mem.ReadString(0x00A9E668);
string GuildName = mem.ReadString(0xA9E64C);
int GuildMember = mem.ReadPointer(0x00A9E6C0);

Console.WriteLine("Ram Char Reader For Psro\n\n");
Console.WriteLine("Charname: {0}", Charname);
Console.WriteLine("Max HP: {0}", maxhp);
Console.WriteLine("Max MP: {0}", maxmp);
Console.WriteLine("Phymin: {0}", Phymin);
Console.WriteLine("Phymax: {0}", Phymax);
Console.WriteLine("Magmin: {0}", Magmin);
Console.WriteLine("Magmax: {0}", Magmax);
Console.WriteLine("Guild Name: {0}", GuildName);
Console.WriteLine("Guild Master: {0}", GuildMaster);
Console.WriteLine("Guild Member: {0}", GuildMember);
Console.WriteLine("");
{
while (true)
{
Thread.Sleep(5000);
Console.Clear();
Console.WriteLine("Ram Char Reader For Psro\n\n");
Console.WriteLine("Charname: {0}", Charname);
Console.WriteLine("Max HP: {0}", maxhp);
Console.WriteLine("Max MP: {0}", maxmp);
Console.WriteLine("Phymin: {0}", Phymin);
Console.WriteLine("Phymax: {0}", Phymax);
Console.WriteLine("Magmin: {0}", Magmin);
Console.WriteLine("Magmax: {0}", Magmax);
Console.WriteLine("Guild Name: {0}", GuildName);
Console.WriteLine("Guild Master: {0}", GuildMaster);
Console.WriteLine("Guild Member: {0}", GuildMember);
Console.WriteLine("");
}
}
while (!exit)
GetLine(Console.ReadLine());
}
private static void GetLine(string cmd)
{
switch (cmd)
{
case "exit":
exit = true;
break;
}
}
}
}
however, to make it that the line update every 5 secs, i have to write it like that:

example:

int maxhp = mem.ReadPointer(0x00A9E700);

should be:

int maxhp = mem.ReadOffset(0x00A9E700, some crap here...);
lorveth is offline  
Thanks
1 User
Old 04/12/2011, 22:19   #10
 
Th3K1nG's Avatar
 
elite*gold: 0
Join Date: May 2008
Posts: 411
Received Thanks: 163
thanks and here for VB

HTML Code:
Imports System.Linq
Imports System.Text
Imports System.Threading

Namespace ReadMemory
    Class Program
        Private Shared [exit] As Boolean = False

        Private Shared Sub Main(ByVal args As String())

            'Create object of class Memory
            Dim mem As New Memory("sro_client")

            Dim maxhp As Integer = mem.ReadPointer(&HA9E700)
            Dim maxmp As Integer = mem.ReadPointer(&HA9E704)
            Dim Phymin As Integer = mem.ReadPointer(&HA9E6E8)
            Dim Phymax As Integer = mem.ReadPointer(&HA9E6EC)
            Dim Magmin As Integer = mem.ReadPointer(&HA9E6F0)
            Dim Magmax As Integer = mem.ReadPointer(&HA9E6F4)
            Dim Charname As String = mem.ReadString(&HA9DB58)
            Dim GuildMaster As String = mem.ReadString(&HA9E668)
            Dim GuildName As String = mem.ReadString(&HA9E64C)
            Dim GuildMember As Integer = mem.ReadPointer(&HA9E6C0)

            Console.WriteLine("Ram Char Reader For Psro" & vbLf & vbLf)
            Console.WriteLine("Charname: {0}", Charname)
            Console.WriteLine("Max HP: {0}", maxhp)
            Console.WriteLine("Max MP: {0}", maxmp)
            Console.WriteLine("Phymin: {0}", Phymin)
            Console.WriteLine("Phymax: {0}", Phymax)
            Console.WriteLine("Magmin: {0}", Magmin)
            Console.WriteLine("Magmax: {0}", Magmax)
            Console.WriteLine("Guild Name: {0}", GuildName)
            Console.WriteLine("Guild Master: {0}", GuildMaster)
            Console.WriteLine("Guild Member: {0}", GuildMember)
            Console.WriteLine("")
            If True Then
                While True
                    Thread.Sleep(5000)
                    Console.Clear()
                    Console.WriteLine("Ram Char Reader For Psro" & vbLf & vbLf)
                    Console.WriteLine("Charname: {0}", Charname)
                    Console.WriteLine("Max HP: {0}", maxhp)
                    Console.WriteLine("Max MP: {0}", maxmp)
                    Console.WriteLine("Phymin: {0}", Phymin)
                    Console.WriteLine("Phymax: {0}", Phymax)
                    Console.WriteLine("Magmin: {0}", Magmin)
                    Console.WriteLine("Magmax: {0}", Magmax)
                    Console.WriteLine("Guild Name: {0}", GuildName)
                    Console.WriteLine("Guild Master: {0}", GuildMaster)
                    Console.WriteLine("Guild Member: {0}", GuildMember)
                    Console.WriteLine("")
                End While
            End If
            While Not [exit]
                GetLine(Console.ReadLine())
            End While
        End Sub
        Private Shared Sub GetLine(ByVal cmd As String)
            Select Case cmd
                Case "exit"
                    [exit] = True
                    Exit Select
            End Select
        End Sub
    End Class
End Namespace
Th3K1nG is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
Quick Memory Editor - Alternative Memory Hacking Software
11/21/2009 - Cabal Hacks, Bots, Cheats, Exploits & Macros - 11 Replies
This might be detected or not by GameGuard, I have not tested this on Official servers however it worked perfectly fine on other private servers. http://imagenic.net/images/x0jxwzwpg2zxmkdtcf36.p ng This is just an alternative memory editing tool. Press thanks if this helps. Remember, scan before using this. Cause its 5.5MB.
VP-memory reader?
03/07/2007 - Conquer Online 2 - 4 Replies
could someone make a simple memory reader for VP's ? i couldnt find a good one here
**NEW** U-Loader/Memory Reader combined!
12/04/2006 - CO2 Exploits, Hacks & Tools - 16 Replies
Combined and edit co memory reader with U-Loader :P gave all the credits to the things I could remember, if I missed anyone just let me know the name so far current version includes 8 tools, an exp calculator and a regular calculator + a web browser, with of course all the functions of the old Co Memory reader Version 1.1 :D



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


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.