Jump to content
Welcome, Guest
Existing user? Sign In

Sign In



Sign Up
The MatriX
  • Welcome To Ghbsys
  • CS GO Streaming Version is released. Have fun streaming while cheating!
  • Have a Payment Issue? Send us a Support ticket.
  • Make a thread if you need support or join our discord for live support.
  • Have Suggestions? Make a thread and you'll earn Ghbsys Points for implemented suggestions.
  • Join our discord to stay well connected! Don't forget to integrate your discord to the site
  • Welcome to [GHB] - GAmEhAcKbAsTaRdS Forum

    Welcome to [GHB] - GAmEhAcKbAsTaRdS Forum, like most online communities you must register to view or post in our community, but don't worry this is a simple free process that requires minimal information for you to signup. Be apart of [GHB] - GAmEhAcKbAsTaRdS Forum by signing in or creating an account.
    • Start new topics and reply to others
    • Subscribe to topics and forums to get email updates
    • Get your own profile page and make new friends
    • Send personal messages to other members.

    [VB.NET]D3D Menu


    Maxn
     Share

    Recommended Posts

    # Basic D3D Menu for DirectX 8|9

    Needed:

     

     

    OK, let's begin!

     

    At first we need to make a simple WindowsForm project.

    formproj.bmp.png

     

    Then compile it and click on [ Save all... ].

     

    Notice: The renametoanything.dll (btw you should do what the file name tells you) MUST be in your program folder! (For testing in VB put it into Debug/Release of your project folder)

     

    Functions and Variables

    Private Declare Function GetAsyncKeyState Lib "User32" (ByVal vKey As Long) As Integer
       Private Declare Function GPSL_SetTextLineData Lib "[b][color="#FF0000"]yourdll.dll[/color][/b]" (ByVal wTextPosX As Short, ByVal wTextPosY As Short, _
       ByVal LPCTSTR As String, ByVal dwTextColor As Integer, ByVal bBlackBackground As Boolean, ByVal cSize As Byte, ByVal bTextBold As Boolean, ByVal cFontFamily As Byte) As Boolean
       Private Declare Function GPSL_ShowText Lib "[b][color="#FF0000"]yourdll.dll[/color][/b]" (ByVal bShowIt As Boolean) As Boolean
       Dim func1 As String = "Function 1"
       Dim func2 As String = "Function 2"
       Dim func3 As String = "Function 3"
       Dim func1_bh As String = Nothing
       Dim func2_bh As String = Nothing
       Dim func3_bh As String = Nothing
       Dim func1_bf As String = Nothing
       Dim func2_bf As String = Nothing
       Dim func3_bf As String = Nothing
       Dim AllText As String
       Public v_menuvisible As Boolean = False
       Public v_isrshown As Boolean = False
       Public v_islshown As Boolean = False
       Public v_waitvar As Integer = Nothing

     

    Notice: You have to change the "yourdll.dll" with the name of your Library.

     

    Now the Explanations to those things:

     

    • GetAsyncKeyState == Simple Hotkey Function
    • GPSL_SetTextLineData == Configures the Shown text
    • GPSL_ShowText == Shows your configured text (True = shown | False = hidden)
    • func* == The shown Menu Point from one item
    • func*_bh == Shown text behind your menu point ( [ON] | [OFF] )
    • func*_bf == Shown text before your menu point ( If selected, Chars like "+" | "~" )
    • AllText == Complete Menu text
    • v_menuvisible == Boolean if menu is visible or not
    • v_isrshown == If a function is [ON]
    • v_islshown == If a function is [OFF]
    • v_waitvar == Variable for changing the menupoints (Needed, because otherwise you would ho straight to the last/first menu item)

     

    What to create

     

    This is a list of items, that you'll need:

     

    • 1 Timer [Active: True] [interval: 1-100] || This sets your text anytime if it's changed! || call it like "txt"
    • At least 2 Timers [Active: False] [interval: 1] || One is for your basic position (If nothing is selected) and ONE for EACH function
    • --> F.E. If you want to have 5 Items in your menu, create six timers! || Call them like "pos0" / "pos1" ...
    • Your own timers / modules etc. for your hack functions or else

     

    Notice: In this example source I used 3 Menu items. You have to create more/less timers and change the txt Timer, if you have more/less functions!

     

    Setting the Basic text

     

    Dim insert As Boolean = GetAsyncKeyState(Keys.Insert)
    Dim delete As Boolean = GetAsyncKeyState(Keys.Delete)
    Dim down As Boolean = GetAsyncKeyState(Keys.Down)
    If insert = True Then
               GPSL_ShowText(True)
               v_menuvisible = True
    ElseIf delete = True Then
               v_menuvisible = False
               GPSL_ShowText(False)
    End If
    If v_menuvisible = True Then
               If down = True Then
                   func1_bf = " + "
                   pos1.Start()
                   pos0.Stop()
               End If
    End If

    It might be hard to understand so I explain some things here: First we declare insert, delete and down (the arrow key) as hotkeys. If insert is pressed our menu will pop up and the variable v_menuvisible is true, if delete is pressed it'll hide and v_menuvisible will be false.

    Then, if you press down, the first function will be selected (you see it at the " + " in front of it), we leave this position (pos0.stop()) and go to the first menu position (pos1.start())

     

    Now we go to the source of position 1. (You do not need to enable this timer, because pos0 will do it for you)

    Dim insert As Boolean = GetAsyncKeyState(Keys.Insert)
           Dim delete As Boolean = GetAsyncKeyState(Keys.Delete)
           Dim down As Boolean = GetAsyncKeyState(Keys.Down)
           Dim up As Boolean = GetAsyncKeyState(Keys.Up)
           Dim right As Boolean = GetAsyncKeyState(Keys.Right)
           Dim left As Boolean = GetAsyncKeyState(Keys.Left)
           v_waitvar += 1
           If v_waitvar > 10 Then
               If insert = True Then
                   v_menuvisible = True
                   GPSL_ShowText(True)
               ElseIf delete = True Then
                   GPSL_ShowText(False)
                   v_menuvisible = False
               End If
               If v_menuvisible = True Then
                   If right = True Then
                       If v_isrshown = False Then
                           func1_bh = "   [ON]"
                           v_isrshown = True
                           v_islshown = False
                           'PLACE FOR YOUR FUNCTION HERE!
                           'superjump.start() ...
                       End If
                   End If
                   If left = True Then
                       If v_islshown = False Then
                           func1_bh = "  [OFF]"
                           v_islshown = True
                           v_isrshown = False
                           'PLACE FOR YOUR FUNCTION HERE!
                           'superjump.stop() ...
                       End If
                   End If
               End If
               If down = True Then
                   func1_bf = Nothing
                   func2_bf = " + "
                   pos2.Start()
                   pos1.Stop()
                   v_waitvar = Nothing
                   v_islshown = False
                   v_isrshown = False
               End If
               If up = True Then
                   func1_bf = Nothing
                   pos0.Start()
                   pos1.Stop()
                   v_waitvar = Nothing
                   v_islshown = False
                   v_isrshown = False
               End If
           End If

     

    This is a bit more complicated, but not as difficult as it seems to be.

    At first we increase v_waitvar and wait until it's 10 or more, because otherwise we'd go straight to the last menu point.

    Then, insert for show, delete for hide, nothing new.

    OK, now: If the menu is visible (v_menuvisible = True) and you press the right arrow key, func1_bh will be [ON]. Here you have to put your function/hack for that menupoint ON.

    If you press the left arrow key, func1_bh will be [OFF]. Here you have to put your hack/function for that menupoint OFF.

    If you press the up key, you will go to position 0, if you press down, you will go to position 2!

    Important notice: Anytime you add a menupoint that is not the first or last postion, you have to add this for up is pressed:

    func[color="#FF0000"]*[/color]_bf = Nothing
    pos[color="#FF0000"]*[/color].Start()
    pos[color="#FF0000"]*[/color].Stop()
    v_waitvar = Nothing
    v_islshown = False
    v_isrshown = False

    And this for down is pressed:

    func[color="#FF0000"]*[/color]_bf = Nothing
    func[color="#FF0000"]*[/color]_bf = " + "
    pos[color="#FF0000"]*[/color].Start()
    pos[color="#FF0000"]*[/color].Stop()
    v_waitvar = Nothing
    v_islshown = False
    v_isrshown = False

     

    OK, you can take the source for pos1 for ANY menupoint, that is NOT the first/last.

    For the first one, take pos0 and here the code for the last one:

    Dim insert As Boolean = GetAsyncKeyState(Keys.Insert)
           Dim delete As Boolean = GetAsyncKeyState(Keys.Delete)
           Dim up As Boolean = GetAsyncKeyState(Keys.Up)
           Dim right As Boolean = GetAsyncKeyState(Keys.Right)
           Dim left As Boolean = GetAsyncKeyState(Keys.Left)
           v_waitvar += 1
           If v_waitvar > 10 Then
               If insert = True Then
                   v_menuvisible = True
                   GPSL_ShowText(True)
               ElseIf delete = True Then
                   GPSL_ShowText(False)
                   v_menuvisible = False
               End If
               If v_menuvisible = True Then
                   If right = True Then
                       If v_isrshown = False Then
                           func3_bh = "   [ON]"
                           v_isrshown = True
                           v_islshown = False
                       End If
                   End If
                   If left = True Then
                       If v_islshown = False Then
                           func3_bh = "  [OFF]"
                           v_islshown = True
                           v_isrshown = False
                       End If
                   End If
               End If
               If up = True Then
                   func2_bf = " + "
                   func3_bf = Nothing
                   pos2.Start()
                   pos3.Stop()
                   v_waitvar = Nothing
                   v_islshown = False
                   v_isrshown = False
               End If
           End If

     

    You will see, only down is removed, because there is now menupoint below that xD

     

    The d3d8/9.dll

     

    If you compiled this project, before we came to this point, you noticed, that nothing pops up! That's because one file is missing! d3d8.dll for DirectX8 Programs. d3d9.dll for DirectX9 Programs.

    It has to be in the same folder of the program.

     

    Now, I'm sure you don't want any of your program user to copy this into their program folder, so you can do this:

    Public processdir As String
    Private Sub processruncheck_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles processruncheck.Tick
           If Process.GetProcessesByName("[color="#FF0000"]ProcessLAUNCHER[/color]").Length <> Nothing Then
               processdir = Process.GetProcessesByName("[color="#FF0000"]ProcessLAUNCHER[/color]")(0).StartInfo.WorkingDirectory.ToString()
               My.Computer.FileSystem.CopyFile("Files\d3d8.dll", processdir & "\Data\d3d8.dll", True)
               My.Computer.Network.DownloadFile("http://myserver.mydomain.net/files/d3d8.dll", processdir & "\Data\d3d8.dll", "", "", False, 5000, True)
               processruncheck.Stop()
               pos0.Start()
           End If
    End Sub

    This works better, if you do this with the LAUNCHER of your program, so the library is copied already when the process starts. There are 2 possibilitys. CopyFiles and DownloadFile (I think the name is enough), of course change the paths in the source ;)

     

    And for closing OUR program

    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
    	My.Computer.FileSystem.DeleteFile(processdir & "\d3d8.dll", FileIO.UIOption.OnlyErrorDialogs)
    End Sub

     

    OK, we're done now!

     

    Your sexy new D3D Menu will look like this:

    menuscreen.bmp.png

     

    Information

     

    VirusTotal of The Archive

     

    I will translate that into German if anyone got problems with it!

     

    Now, at least at this point many pros in C++ will say: "Bah! Far too complicated!"

    This might be more complicated than a "normal" D3D Menu in C++ but this is easier especially for newbies. And you can easily switch between DirectX8/9 and you don't need the DirectX SDK.

     

    Credits:

    • Me (Maxn™)
    • Mikoweb

     

    Have Fun! If there are any questions, don't shy to place them O.o

    Proxy_Librarys.zip

    Edited by Maxn™
    Link to comment
    Share on other sites

    wow, nice, nothing else.....

    MAXN for president xD

     

     

    wir wollens mal nicht gleich übertrieben,

    aber dennoch:

     

    Wie immer gut herraus gearbeitet maxn O.o

    Link to comment
    Share on other sites

    hey maxn,

    very nice work man xD

    I like it O.o go on!

    Link to comment
    Share on other sites

    c&p oder selbst gemacht?

     

    selbst lediglich die proxy dll stammt nicht von mir sondern von mikoweb (ist ja in den credits angegeben)

    Link to comment
    Share on other sites

    Nice tutorial! but i cant get it work. Maybe there is something wrong with my code. The game i use to try this method called CSO(Crazy Shooter Online). I really want to try until it works then i want to further more creating a function on the wall hacking which seeing other players behind walls but im lacking of ideas on how to create wall hacking function in my code. If possible, can you create a tutorial for wall hacking function too?. Thank You

    Edited by DarkDevil007
    Link to comment
    Share on other sites

    Nice tutorial! but i cant get it work. Maybe there is something wrong with my code. The game i use to try this method called CSO(Crazy Shooter Online). I really want to try until it works then i want to further more creating a function on the wall hacking which seeing other players behind walls but im lacking of ideas on how to create wall hacking function in my code. If possible, can you create a tutorial for wall hacking function too?. Thank You

     

    I think wallhacking is veeeery very difficult in VB.Net, IF it would be possible xD

    Link to comment
    Share on other sites

    That is not a d3d menu, you dont even draw texture, it fake.

     

    You may try to make it in .dll it may look nicer xD

    Link to comment
    Share on other sites

    It's not a fake, he's using the renametoanything.dll for drawtexture.

     

    But the menu with the code of the tutorial was a bit buggy for me so I will upload a fixed one in some Minutes.

     

    Edit: Fixed Source uploaded.

     

    VT: http://www.virustotal.com/de/analisis/f364...6956-1243193907

    FPS.rar

    Edited by PaTTaX
    Link to comment
    Share on other sites

    Thanks for your effort but please upload a virusscan with it. Thank you!

    Link to comment
    Share on other sites

    For chams you just need a dll with chams function and then you have to call it in ine vb.net project. But im not sure

    Link to comment
    Share on other sites

    • 2 weeks later...

    just post the error here, then we all can help you^^

    Link to comment
    Share on other sites

    nice tut i ve found the mistakes i made before

    Link to comment
    Share on other sites

    i tried this on combat arms but d/c O.o need a bypass

    Link to comment
    Share on other sites

    • 2 weeks later...
    Guest
    This topic is now closed to further replies.
     Share

    • Recently Browsing   0 members

      • No registered users viewing this page.
    ×
    ×
    • Create New...