Download VAC3 Sections Viewer - Dumper (Check if your external Cheat is Detected)

Hexui Undetected CSGO Cheats Sinkicheat PUBG Cheat

Simon-Benyo

Jr.Coder
Full Member
Nobleman
Aug 9, 2013
64
1,498
3
Hi Guys ,, Today i've been working on VAC Sections dumper

So what is it and what is its theory :

The theory was posted by a guy called forcon in another forum ! HOWEVER Linking other forums is not allowed search for him so you can read and understand the theory

VAC external tool detection (and more) Which seems to be working till now

What is it and how to use this program :

  • Generally This program will read and try to(Extract the names ) OR (Dump The Whole Sections)
  • If you want to know if your EXTERNAL cheat can be detected or is already detected Follow This :


  1. Run The Game in VAC Secured Mode and join a server that uses vac
  2. Run and try your cheat for at least 5 Minutes
  3. Run The "VAC3 Sections Viewer - Dumper" And Write the game's PID in the textbox and select "View Names" And Press "Execute"
  4. The Program will try to get all process names that are written in the VAC Created Sections
  5. If succeed it will show you a message box contains all the process names that VAC Wrote in the sections (If your cheat process name is there so it is or will be detected soon)

  • Second Choice :


  1. Run The Game in VAC Secured Mode and join a server that uses vac
  2. Run and try your cheat for at least 5 Minutes
  3. Run The "VAC3 Sections Viewer - Dumper" And Write the game's PID in the textbox and select "Dump Sections" And Press "Execute"
  4. Select a path to save the first section's dump And then select a path to save the second section's dump


Screenshots :


Virustotal :

LINK

SHA256: efadb6a6b649aad7f08f89a4d599e926b9553e7d51e7394f5e8685704c140c24
File name: VAC3 Sections Viewer - Dumper.exe
Detection ratio: 0 / 52

Download :
In Attachments.
P.S : File is not obfuscated or packed

Credits : forcon

And at the end i hope this tool becomes useful maybe a little bit even and good luck

Simon.
 

Attachments

Cryslacks

<>>>
Dank Tier Donator
Nobleman
Dec 10, 2013
132
1,198
8
How could we use this?
If we wanted to check if our hack is detected we are going to have to play with it for 5min and after that we will see if its detected.
If it is then we are getting banned, only because vac have seen it...

Edit: Please correct me if im wrong.
 
Last edited:

Simon-Benyo

Jr.Coder
Full Member
Nobleman
Aug 9, 2013
64
1,498
3
How could we use this?
If we wanted to check if our hack is detected we are going to have to play with it for 5min and after that we will see if its detected.
If it is then we are getting banned, only because vac have seen it...

Edit: Please correct me if im wrong.
It's meant to show you if YOUR cheat is detected or not so you dont wait for it or write unknown and waot if you will get banned or not with tgis program you can know for sure if the cheat will or wont cause a ban now or in future so this is a peneteration method to check your cheat's state before realising it to public ,,. I hope tge idea have been cleared :)
 

GAFO666

Hacker
Meme Tier VIP
Aug 19, 2012
520
3,188
23
hmmm would be a nice tool, but still pending approval zzzz
 

GAFO666

Hacker
Meme Tier VIP
Aug 19, 2012
520
3,188
23
hmmm im not rly convinced about that tool, anyways I took a look inside of that tool just for educational purpose only, have fun with the c# souce code ^^ :lol:

C++:
public string CalculateSectionName1(int pid)
{
    string str1;
    byte[] numArray1;
    string str2;
    string str3;
    string str4;
    string str5;
    string str6;
    Exception exception1;
    try
    {
        str5 = "\\Sessions\\1\\BaseNamedObjects\\{(FOURTH)DEDF05-86E9-(FIRST)17-9E36-1D94(SECOND)334DFA-A3(THIRD)4421}";
        numArray1 = BitConverter.GetBytes(pid);
        str3 = Conversion.Hex(numArray1[0x0]);
        if ((str3.Length == 0x1))
        {
            str3 = ("0" + str3);
        }
        str6 = Conversion.Hex(numArray1[0x1]);
        if ((str6.Length == 0x1))
        {
            str6 = ("0" + str6);
        }
        str4 = Conversion.Hex(numArray1[0x2]);
        if ((str4.Length == 0x1))
        {
            str4 = ("0" + str4);
        }
        str2 = Conversion.Hex(numArray1[0x3]);
        if ((str2.Length == 0x1))
        {
            str2 = ("0" + str2);
        }
        str5 = str5.Replace("(FIRST)", str2.ToLower());
        str5 = str5.Replace("(SECOND)", str4.ToLower());
        str5 = str5.Replace("(THIRD)", str6.ToLower());
        str5 = str5.Replace("(FOURTH)", str3.ToLower());
        str1 = str5;
        goto Label_00F6;
    }
    catch (Exception exception2)
    {
        ProjectData.SetProjectError(exception2);
        exception1 = exception2;
        str1 = null;
        ProjectData.ClearProjectError();
        goto Label_00F6;
        Label_00F6:
    }
    return str1;
}
C++:
public string CalculateSectionName2(int pid)
{
    string str1;
    byte[] numArray1;
    string str2;
    string str3;
    string str4;
    string str5;
    string str6;
    Exception exception1;
    try
    {
        str5 = "\\Sessions\\1\\BaseNamedObjects\\{(THIRD)3F1461-5E(FIRST)-4E99-A5AE-CEFDB55A(SECOND)2D-3DED(FOURTH)3C}";
        numArray1 = BitConverter.GetBytes(pid);
        str3 = Conversion.Hex(numArray1[0x0]);
        if ((str3.Length == 0x1))
        {
            str3 = ("0" + str3);
        }
        str6 = Conversion.Hex(numArray1[0x1]);
        if ((str6.Length == 0x1))
        {
            str6 = ("0" + str6);
        }
        str4 = Conversion.Hex(numArray1[0x2]);
        if ((str4.Length == 0x1))
        {
            str4 = ("0" + str4);
        }
        str2 = Conversion.Hex(numArray1[0x3]);
        if ((str2.Length == 0x1))
        {
            str2 = ("0" + str2);
        }
        str5 = str5.Replace("(FIRST)", str2.ToLower());
        str5 = str5.Replace("(SECOND)", str4.ToLower());
        str5 = str5.Replace("(THIRD)", str6.ToLower());
        str5 = str5.Replace("(FOURTH)", str3.ToLower());
        str1 = str5;
        goto Label_00F6;
    }
    catch (Exception exception2)
    {
        ProjectData.SetProjectError(exception2);
        exception1 = exception2;
        str1 = null;
        ProjectData.ClearProjectError();
        goto Label_00F6;
        Label_00F6:
    }
    return str1;
}
C++:
public string[] GetNames(string lpSection)
{
    string[] strArray1;
    int num1;
    byte[] numArray1;
    IntPtr ptr1;
    int num2;
    List<string> list1;
    OBJECT_ATTRIBUTES s1;
    IntPtr ptr2;
    int num3;
    string[] strArray2;
    string str1;
    byte num4;
    string str2;
    int num5;
    Exception exception1;
    int num6;
    byte[] numArray2;
    int num7;
    string[] strArray3;
    try
    {
        &s1 = new OBJECT_ATTRIBUTES(lpSection, 0x40);
        ptr2 = Marshal.AllocHGlobal(Marshal.SizeOf(s1));
        ptr1 = Marshal.AllocHGlobal(0x10);
        Marshal.StructureToPtr(s1, ptr2, true);
        num3 = ((IntPtr)Form1.NtOpenSection(ptr1, this.READ, ((IntPtr)ptr2)));
        num2 = Marshal.ReadInt32(ptr1);
        num1 = Form1.MapViewOfFile(((IntPtr)num2), this.READ, 0x0, 0x0, 0x0);
        Thread.Sleep(0xC8);
        numArray1 = new byte[0x1000];
        Thread.Sleep(0xC8);
        Marshal.Copy(((IntPtr)num1), numArray1, 0x0, 0x1000);
        str1 = null;
        numArray2 = numArray1;
        num6 = 0x0;
        while ((num6 < numArray2.Length))
        {
            num4 = numArray2[num6];
            if ((num4 != 0x0))
            {
                str1 += Conversions.ToString(Strings.Chr(num4));
            }
            num6 += 0x1;
            Label_00D1:
        }
        list1 = new List<string>();
        strArray2 = Strings.Split(str1, "\\", 0xFFFFFFFFFFFFFFFF, CompareMethod.Binary);
        strArray3 = strArray2;
        num7 = 0x0;
        while ((num7 < strArray3.Length))
        {
            str2 = strArray3[num7];
            if (str2.Contains(".exe"))
            {
                num5 = (str2.Length - (str2.IndexOf(".exe") + 0x4));
                str2 = str2.Remove((str2.IndexOf(".exe") + 0x4), num5);
                list1.Add(str2);
            }
            num7 += 0x1;
            Label_014E:
        }
        Form1.CloseHandle(((IntPtr)num2));
        strArray1 = list1.ToArray();
        goto Label_017E;
    }
    catch (Exception exception2)
    {
        ProjectData.SetProjectError(exception2);
        exception1 = exception2;
        strArray1 = null;
        ProjectData.ClearProjectError();
        goto Label_017E;
        Label_017E:
    }
    return strArray1;
}
C++:
public byte[] DumpSection(string lpSection)
{
    byte[] numArray1;
    int num1;
    byte[] numArray2;
    IntPtr ptr1;
    int num2;
    OBJECT_ATTRIBUTES s1;
    IntPtr ptr2;
    int num3;
    Exception exception1;
    try
    {
        &s1 = new OBJECT_ATTRIBUTES(lpSection, 0x40);
        ptr2 = Marshal.AllocHGlobal(Marshal.SizeOf(s1));
        ptr1 = Marshal.AllocHGlobal(0x10);
        Marshal.StructureToPtr(s1, ptr2, true);
        num3 = ((IntPtr)Form1.NtOpenSection(ptr1, this.READ, ((IntPtr)ptr2)));
        num2 = Marshal.ReadInt32(ptr1);
        num1 = Form1.MapViewOfFile(((IntPtr)num2), this.READ, 0x0, 0x0, 0x0);
        Thread.Sleep(0xC8);
        numArray2 = new byte[0x1000];
        Thread.Sleep(0xC8);
        Marshal.Copy(((IntPtr)num1), numArray2, 0x0, 0x1000);
        Form1.CloseHandle(((IntPtr)num2));
        numArray1 = numArray2;
        goto Label_00C1;
    }
    catch (Exception exception2)
    {
        ProjectData.SetProjectError(exception2);
        exception1 = exception2;
        numArray1 = null;
        ProjectData.ClearProjectError();
        goto Label_00C1;
        Label_00C1:
    }
    return numArray1;
}
C++:
public string PrintNames()
{
    string str1;
    string[] strArray1;
    string str2;
    string[] strArray2;
    string str3;
    string str4;
    string str5;
    string str6;
    Exception exception1;
    int num1;
    string[] strArray3;
    int num2;
    string[] strArray4;
    try
    {
        str4 = null;
        str2 = this.CalculateSectionName1(Conversions.ToInteger(this.TextBox1.Text));
        str3 = this.CalculateSectionName2(Conversions.ToInteger(this.TextBox1.Text));
        strArray1 = this.GetNames(str2);
        strArray2 = this.GetNames(str3);
        str4 = "Names found in the sections : \r\n\r\n";
        strArray3 = strArray1;
        num1 = 0x0;
        while ((num1 < strArray3.Length))
        {
            str5 = strArray3[num1];
            str4 = ((str4 + str5) + "\r\n");
            num1 += 0x1;
            Label_006F:
        }
        strArray4 = strArray2;
        num2 = 0x0;
        while ((num2 < strArray4.Length))
        {
            str6 = strArray4[num2];
            str4 = ((str4 + str6) + "\r\n");
            num2 += 0x1;
            Label_009C:
        }
        str1 = str4;
        goto Label_00BA;
    }
    catch (Exception exception2)
    {
        ProjectData.SetProjectError(exception2);
        exception1 = exception2;
        str1 = null;
        ProjectData.ClearProjectError();
        goto Label_00BA;
        Label_00BA:
    }
    return str1;
}
C++:
public void SaveDumps()
{
    byte[] numArray1;
    SaveFileDialog dialog1;
    string str1;
    byte[] numArray2;
    SaveFileDialog dialog2;
    string str2;
    Exception exception1;
    Exception exception2;
    Exception exception3;
    SaveFileDialog dialog3;
    SaveFileDialog dialog4;
    try
    {
        str1 = this.CalculateSectionName1(Conversions.ToInteger(this.TextBox1.Text));
        str2 = this.CalculateSectionName2(Conversions.ToInteger(this.TextBox1.Text));
        numArray1 = this.DumpSection(str1);
        numArray2 = this.DumpSection(str2);
        dialog1 = new SaveFileDialog();
        dialog2 = new SaveFileDialog();
        dialog3 = dialog1;
        dialog3.FileName = "Dump1.bin";
        dialog3.Title = "Select a path to save the first section dump";
        if ((dialog3.ShowDialog() == 0x1))
        {
            try
            {
                File.WriteAllBytes(dialog3.FileName, numArray1);
                goto Label_0090;
            }
            catch (Exception exception4)
            {
                ProjectData.SetProjectError(exception4);
                exception1 = exception4;
                ProjectData.ClearProjectError();
                goto Label_0090;
                Label_0090:
            }
        }
        dialog3 = null;
        dialog4 = dialog2;
        dialog4.FileName = "Dump2.bin";
        dialog4.Title = "Select a path to save the second section dump";
        if ((dialog4.ShowDialog() == 0x1))
        {
            try
            {
                File.WriteAllBytes(dialog4.FileName, numArray2);
                goto Label_00D7;
            }
            catch (Exception exception5)
            {
                ProjectData.SetProjectError(exception5);
                exception2 = exception5;
                ProjectData.ClearProjectError();
                goto Label_00D7;
                Label_00D7:
            }
        }
        dialog4 = null;
        goto Label_00EB;
    }
    catch (Exception exception6)
    {
        ProjectData.SetProjectError(exception6);
        exception3 = exception6;
        ProjectData.ClearProjectError();
        goto Label_00EB;
        Label_00EB:
    }
}
C++:
private void Button1_Click(object sender, EventArgs e)
{
    Exception exception1;
    Exception exception2;
    if ((this.TextBox1.Text.Length >= 0x1))
    {
        if (this.RadioButton1.Checked)
        {
            try
            {
                Interaction.MsgBox(this.PrintNames(), MsgBoxStyle.Information, null);
                goto Label_003F;
            }
            catch (Exception exception3)
            {
                ProjectData.SetProjectError(exception3);
                exception1 = exception3;
                ProjectData.ClearProjectError();
                goto Label_003F;
                Label_003F:
            }
        }
        if (this.RadioButton2.Checked)
        {
            try
            {
                this.SaveDumps();
                Interaction.MsgBox(((object)"Done"), MsgBoxStyle.Information, null);
                goto Label_0070;
            }
            catch (Exception exception4)
            {
                ProjectData.SetProjectError(exception4);
                exception2 = exception4;
                ProjectData.ClearProjectError();
                goto Label_0070;
                Label_0070:
            }
        }
    }
}

the tool is not even crypted :facepalm:
 

squeenie

Hacker
Meme Tier VIP
Dank Tier Donator
Mar 6, 2013
677
5,478
37
hmmm im not rly convinced about that tool, anyways I took a look inside of that tool just for educational purpose only, have fun with the c# souce code ^^ :lol:

the tool is not even crypted :facepalm:
Open your eyes... "File is not obfuscated or packed"

Fuck dude, just for once, could you not be a massive dickhead? Simon actually put in some effort to release something different around here, which is a really nice fucking change from the sea of garbage we're constantly exposed to. I'm all for people flaming people who put in 0 effort, but you take it too far, too often.

Just plain rude.
 

GAFO666

Hacker
Meme Tier VIP
Aug 19, 2012
520
3,188
23
if you would be able to read you would see 'Credits : forcon' so I dont give a fuck and I take every tool released here on GH and resource it for me, just for fun ^^
The definition of hacker is that you dont give a fuck about copyrights or whatever you wanna tell me .. Nowadays I 80% dont care about game hacking anymore, I hack or reverse what I want and your not in the position to tell me what to do ;)
So I tell you how it works:
If you release something, I take a look into it and if I have fun in reversing that tool or whatever, I will do it, and if I just post the source afterwards, then shut your trap and dont complain, use the code to learn something from it you dump

so that means in clear text for dicks like you:
Use that code and try the same in c++ to make your freaking hacks on VAC3 games secure :facepalm:
 
Last edited:

GAFO666

Hacker
Meme Tier VIP
Aug 19, 2012
520
3,188
23
Squeenie was obviously able to read in contrast to you. Squeenie simply thanked the poster for the release (doesn't matter if it's his or not) while your comment was rude only.
You just said it wasn't encrypted and facepalmed. This is the part where I facepalm. In the first post it clearly says the release is not encrypted.
If you don't trust this tool don't use it or improve it instead of just shit talking about the release.
Squeenie (probably) wasn't pissed because you reversed and posted the code. That you obviously didn't get aswell.
you rly dont see it huh, THE POINT IS I KNOW THAT IT SAYS THAT ITS NOT ENCRYPTED THE FACEPALM IS FOR NOT CRYPTING IT OMG
idiot.
And I said that Im not convinced about it if you just look the code, that does NOT mean, that its a bad idea or something.

Somethng personal to you off the topic:
I give a real big piece of shit about feelings of ppl which I dont know ;D
Dont try to discuss with me.. money rules the world, I have money, I have soon a master in IT and Im rly not in the mood to discuss with nobodys which realease trash like you and squeenie :D
Im a rly excentric person who just does what he wants, so never discuss with me again because its not use at all :*

c5 already left this side and I understand why if I see ppl like you and squeenie :)

Have a nice day man ! ;D
 

Cryslacks

<>>>
Dank Tier Donator
Nobleman
Dec 10, 2013
132
1,198
8
I think you guys should stop hijacking this thread with your own problems. GAFO666 haven't done anything wrong. He have just proven that you should protect your stuff before someone hijack your code.

Aint taking any one's side on this but, its just funny how people react so bad about some text and numbers on a computer screen.

"You dont buy a new car without getting an insurance."

To Op: Nice release. Hope you will still release after this massivly hijack.
 

Liduen

Hacker
Dank Tier VIP
May 19, 2013
702
8,478
33
Seriously you guys really need to chill out with this stuff.

If somebody wants to "reverse engineer" something which was uploaded, then let him do that.
If he succeeds and uploads the sources, the uploader of the program will also learn something and will protect his stuff better next time.
I'm convinced that Simon-Benyo also wants to improve his coding skills and therefore uploading sources because his programm was so easy to "unpack" or whatever will help him to do that.
All is fine, everybody learned something.

Absolutely no need to insult each other.


Back to topic: Nice release, keep going with this stuff, preferable in c++ :D
 

squeenie

Hacker
Meme Tier VIP
Dank Tier Donator
Mar 6, 2013
677
5,478
37
This has nothing to do with reversing but everything with GAFO's bullshit self entitled attitude. He is nothing but a pathetic and sad human who will put down anyone for any reason.

But as usual, Gafo doesn't actually bother reading or listening to what people have to say but just reads one or two words and then makes up the rest like its true.

you rly dont see it huh, THE POINT IS I KNOW THAT IT SAYS THAT ITS NOT ENCRYPTED THE FACEPALM IS FOR NOT CRYPTING IT OMG
idiot.
And I said that Im not convinced about it if you just look the code, that does NOT mean, that its a bad idea or something.

Somethng personal to you off the topic:
I give a real big piece of shit about feelings of ppl which I dont know ;D
Dont try to discuss with me.. money rules the world, I have money, I have soon a master in IT and Im rly not in the mood to discuss with nobodys which realease trash like you and squeenie :D
TLDR: GAFO is worse than the "howdoIhackgAEm" noobs
 
Last edited:
Attention! Before you post:

Read the How to Ask Questions Guide
99% of questions are answered in the Beginner's Guide, do it before asking a question.

No Hack Requests. Post in the correct section.  Search the forum first. Read the rules.

How to make a good post:

  • Fill out the form correctly
  • Tell us the game name & coding language
  • Post everything we need to know to help you
  • Ask specific questions, be descriptive
  • Post errors, line numbers & screenshots
  • Post code snippets using code tags
  • If it's a large project, zip it up and attach it

If you do not comply, your post may be deleted.  We want to help, please make a good post and we will do our best to help you.

Community Mods