DGuard - Custom Game Guard

Results 1 to 11 of 11
  1. #1
    Ω -DefaulT is offline
    MemberRank
    Aug 2006 Join Date
    Emerald CityLocation
    1,429Posts

    DGuard - Custom Game Guard

    This is a game guard made by me. It is very basic and really easy to bypass if you know what your doing but it will more then likely keep those script kiddies at bay and helps if you want a little assurance.

    You don't have to use it if you don't want to but its here if you want it.

    How to use it.

    1. Extract the zip to your Rose Online directory.
    2. Edit the DGuard.ini and put in your ip (or the ip for the server)
    3. Edit your launcher to Shell("DGuard.exe") instead of Shell("TRose.exe @TRIGGER_SOFT@ _server IP") or Use easy.exe.
    4. (Optional)[this is if you edited your launcher to shell the gameguard] Delete easy.exe.

    (for neon cube revamp users)
    In main.cpp
    [code=text]go to line 2489
     
    Change
     
    strcpy(settings.szRagExeCall, "TRose.exe @TRIGGER_SOFT@ _server 127.0.0.1");
    to
    strcpy(settings.szRagExeCall, "DGuard.exe");[/code]
    (^ The above has not been tested but in theory it should work)


    If you find this confusing just post your questions and ill try to answer them in the order they are posted. If you find an error post the error (most of the possible errors are codded with a special number, post the error code) and if possible post a screen shot.

    I will update the program when its needed.

    Enjoy.

    Download:
    v2.2
    http://default.site40.net/release/DGuard3.zip

    v2
    http://default.site40.net/release/DGuard2.zip

    v1
    http://default.site40.net/release/DGuard.zip
    (If you would like another mirror just post requesting it)

    Note:
    This is not meant for arcturus

    v2 - Customizable splash screen
    v2.2 - Bug fixes
    - Closes when rose closes
    Last edited by -DefaulT; 16-11-10 at 02:28 AM.


  2. #2
    Gamma GeNyaa is offline
    MemberRank
    Apr 2007 Join Date
    The NetherlandsLocation
    2,586Posts

    Re: DGuard - Custom Game Guard

    You really got time to much ;P
    Hitting the Thanks button xd

  3. #3
    Ω -DefaulT is offline
    MemberRank
    Aug 2006 Join Date
    Emerald CityLocation
    1,429Posts

    Re: DGuard - Custom Game Guard

    thanks for the thanks

  4. #4
    Ω -DefaulT is offline
    MemberRank
    Aug 2006 Join Date
    Emerald CityLocation
    1,429Posts

    Re: DGuard - Custom Game Guard

    updated, made the splash screen customizable through the .ini file.

  5. #5
    Apprentice Tosik-Fall is offline
    MemberRank
    Feb 2009 Join Date
    15Posts

    Re: DGuard - Custom Game Guard

    This good tools)

  6. #6
    Ω -DefaulT is offline
    MemberRank
    Aug 2006 Join Date
    Emerald CityLocation
    1,429Posts

    Re: DGuard - Custom Game Guard

    updated
    -bug fixes

  7. #7
    Member redfox02 is offline
    MemberRank
    Jan 2009 Join Date
    52Posts

    Re: DGuard - Custom Game Guard

    @TS can i use this to other game or private server for protection? thnx

  8. #8
    Ω -DefaulT is offline
    MemberRank
    Aug 2006 Join Date
    Emerald CityLocation
    1,429Posts

    Re: DGuard - Custom Game Guard

    Um you would need to edit the source because the game guard is set to run rose etc if you need it for another game i can make a version of it just pm the what game.

    -Edit, decided to release my source due to a ton of people asking me to hard code there servers ip etc so here ya'll go, do it yourself xD

    You need nini.dll if your going to still use the ini and this was made in vb.net with .net framework 3.5

    Form1.vb
    Code:
    Imports System.IO
    Imports Nini.Config
    Imports System.Data
    Imports System
     
     
    Public Class Form1
        Public Sub GetProcesses()
            ListBox1.Items.Clear()
            Dim p As Process
            For Each p In Process.GetProcesses
                ListBox1.Items.Add(p.ProcessName)
            Next
        End Sub
        Public Sub KillProcess()
            Try
                Dim r = "TRose"
                Dim h = "WPE PRO"
                Dim c = "Cheat Engine"
                Dim t = "TSearch"
                Dim o = "OLLYDBG"
                Dim a = "artmoney733"
                Dim g = "gw32"
                Dim q = "MemEditor"
                Dim m = "DGuard"
                Dim p As Process
                For Each p In Process.GetProcesses
                    If p.ProcessName = ListBox1.SelectedItem Then
                        p.Kill()
                        KillProcess()
     
                    End If
                Next
                If ListBox1.SelectedItem = h Then
                    ListBox1.SelectedItem = r
                    If ListBox1.SelectedItem = r Then
     
                        ListBox1.SelectedItem = r
                        If ListBox1.SelectedItem = r Then
                            KillRose()
                        Else
                            Me.Close()
                        End If
                        KillProcess()
                        Me.Close()
                    End If
                Else
     
                    If ListBox1.SelectedItem = c Then
                        ListBox1.SelectedItem = r
                        If ListBox1.SelectedItem = r Then
     
                            ListBox1.SelectedItem = r
                            If ListBox1.SelectedItem = r Then
                                KillRose()
                            Else
                                Me.Close()
                            End If
                            KillProcess()
                            Me.Close()
                        End If
                    Else
                        If ListBox1.SelectedItem = t Then
                            ListBox1.SelectedItem = r
                            If ListBox1.SelectedItem = r Then
     
                                ListBox1.SelectedItem = r
                                If ListBox1.SelectedItem = r Then
                                    KillRose()
                                Else
                                    Me.Close()
                                End If
                                KillProcess()
                                Me.Close()
                            End If
                        Else
                            If ListBox1.SelectedItem = o Then
                                ListBox1.SelectedItem = r
                                If ListBox1.SelectedItem = r Then
     
                                    ListBox1.SelectedItem = r
                                    If ListBox1.SelectedItem = r Then
                                        KillRose()
                                    Else
                                        Me.Close()
                                    End If
                                    KillProcess()
                                    Me.Close()
                                End If
                            Else
                                If ListBox1.SelectedItem = a Then
                                    ListBox1.SelectedItem = r
                                    If ListBox1.SelectedItem = r Then
     
                                        ListBox1.SelectedItem = r
                                        If ListBox1.SelectedItem = r Then
                                            KillRose()
                                        Else
                                            Me.Close()
                                        End If
                                        KillProcess()
                                        Me.Close()
                                    End If
                                Else
                                    If ListBox1.SelectedItem = g Then
                                        ListBox1.SelectedItem = r
                                        If ListBox1.SelectedItem = r Then
     
                                            ListBox1.SelectedItem = r
                                            If ListBox1.SelectedItem = r Then
                                                KillRose()
                                            Else
                                                Me.Close()
                                            End If
                                            KillProcess()
                                            Me.Close()
                                        End If
                                    Else
                                        If ListBox1.SelectedItem = q Then
                                            ListBox1.SelectedItem = r
                                            If ListBox1.SelectedItem = r Then
     
                                                ListBox1.SelectedItem = r
                                                If ListBox1.SelectedItem = r Then
                                                    KillRose()
                                                Else
                                                    Me.Close()
                                                End If
                                                KillProcess()
                                                Me.Close()
                                            Else
                                                If ListBox1.SelectedItem = r Then
                                                    If ListBox1.SelectedItem = r Then
     
                                                        ListBox1.SelectedItem = r
                                                        If ListBox1.SelectedItem = r Then
                                                            KillRose()
                                                        Else
                                                            Me.Close()
                                                        End If
                                                        KillProcess()
                                                        Me.Close()
                                                    End If
                                                Else
                                                    GetProcesses()
                                                End If
                                            End If
                                        End If
                                    End If
                                End If
                            End If
                        End If
                    End If
                End If
                GetProcesses()
     
            Catch ex As Exception
                MsgBox("Hack Tool Terminated.")
                Me.Close()
            End Try
        End Sub
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
         
            Me.Hide()
            GetProcesses()
            Timer1.Start()
            Timer1.Interval = "1000"
     
     
     
        End Sub
     
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
     
            Try
                Dim r = "TRose"
                Dim h = "WPE PRO"
                Dim c = "Cheat Engine"
                Dim t = "TSearch"
                Dim o = "OLLYDBG"
                Dim a = "artmoney733"
                Dim g = "gw32"
                Dim q = "MemEditor"
                Dim m = "DGuard"
                ListBox1.SelectedItem = h
                If ListBox1.SelectedItem = h Then
                    KillProcess()
                Else
                    ListBox1.SelectedItem = c
                    If ListBox1.SelectedItem = c Then
                        KillProcess()
                    Else
                        ListBox1.SelectedItem = t
                        If ListBox1.SelectedItem = t Then
                            KillProcess()
                        Else
                            ListBox1.SelectedItem = o
                            If ListBox1.SelectedItem = o Then
                                KillProcess()
                            Else
                                ListBox1.SelectedItem = a
                                If ListBox1.SelectedItem = a Then
                                    KillProcess()
                                Else
                                    ListBox1.SelectedItem = g
                                    If ListBox1.SelectedItem = g Then
                                        KillProcess()
                                    Else
                                        ListBox1.SelectedItem = q
                                        If ListBox1.SelectedItem = q Then
                                            KillProcess()
                                        Else
                                            ListBox1.SelectedItem = r
                                            If ListBox1.SelectedItem = r Then
                                                GetProcesses()
                                            Else
                                                Form2.Close()
                                                Me.Close()
                                            End If
                                            GetProcesses()
                                            End If
                                        End If
                                    End If
                                End If
                            End If
                        End If
                    End If
     
     
                GetProcesses()
            Catch ex As Exception
                MsgBox("Hack Tool Terminated")
            End Try
     
        End Sub
     
        Private Sub NotifyIcon1_MouseDoubleClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseDoubleClick
     
        End Sub
     
        Private Sub NotifyIcon1_MouseHover(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon1.MouseUp
            NotifyIcon1.Text = "DGuard - Enabled"
        End Sub
     
        Public Sub KillRose()
            Try
                Dim r = "TRose"
                Dim k As Process
                For Each k In Process.GetProcesses
                    ListBox1.SelectedItem = r
                    If k.ProcessName = ListBox1.SelectedItem Then
                        k.Kill()
                        MsgBox("Hacking program detected - R.O.S.E has been closed.")
                        ListBox1.SelectedItem = r
                        KillRose()
                    End If
                Next
                GetProcesses()
                Form2.Close()
                Me.Close()
            Catch ex As Exception
                MsgBox("Erorr please report it to the admin - ERRCODE - 1001982JDG0x7")
            End Try
        End Sub
    End Class
    Form2.vb (splash)
    Code:
    Imports Nini.Config
    Imports System.IO
     
     
    Public Class Form2
        Public Sub GetProcesses()
            ListBox1.Items.Clear()
            Dim p As Process
            For Each p In Process.GetProcesses
                ListBox1.Items.Add(p.ProcessName)
            Next
        End Sub
     
     
        Public Sub KillProcess()
            Try
                Dim m = "DGuard"
                Dim p As Process
                For Each p In Process.GetProcesses
                    If p.ProcessName = ListBox1.SelectedItem Then
                        p.Kill()
                        Me.Close()
                    End If
                Next
                If ListBox1.SelectedItem = m Then
                    ListBox1.SelectedItem = m
                    If ListBox1.SelectedItem = m Then
                        KillProcess()
                        Me.Close()
                    End If
                Else
                    GetProcesses()
                End If
     
                GetProcesses()
            Catch ex As Exception
                MsgBox("Erorr please report it to the admin - ERRCODE - 1001982JDG0x3")
            End Try
        End Sub
     
     
        Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim source As New IniConfigSource
            ' Load the configuration source file
            source = New IniConfigSource("DGuard.ini")
     
            ' Set the config to the Logging section of the INI file.
            Dim config As IConfig
            config = source.Configs("Server")
     
            ' Load up some normal configuration values
            Dim IP As String = source.Configs("Server").Get("IP")
            Dim Splash As String = source.Configs("App").Get("Splash")
     
            'Start the game 
            Dim trose As String = "TRose.exe @TRIGGER_SOFT@ _server "
            Shell(trose & IP)
     
            Dim client As New System.Net.WebClient()
            Dim stream As New System.IO.MemoryStream()
            Dim data As Byte() = client.DownloadData(Splash)
            client.Dispose()
            stream.Write(Data, 0, Data.Length)
            PictureBox1.Image = Image.FromStream(stream)
            Timer1.Start()
            Timer1.Interval = "1000"
        End Sub
     
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            Me.Hide()
            Form1.Show()
            Timer1.Stop()
        End Sub
    End Class


    I know it is very basic and very messy but hey, it works :P
    Essentially its a programmatic task killer that searches for malicious programs and terminates them and rose if they are caught running.

  9. #9
    be good to beat evils ramispo is offline
    MemberRank
    Mar 2008 Join Date
    Давао, PhiLocation
    1,596Posts

    Re: DGuard - Custom Game Guard

    thanks but unfortunately
    i know nothing about coding
    i hope someone will explain what to do
    thanks again

  10. #10
    Member redfox02 is offline
    MemberRank
    Jan 2009 Join Date
    52Posts

    Re: DGuard - Custom Game Guard

    hey Viper sorry for posting/reply long i got busy this day. hehe BTW just like mine it coded in vb6 i use API but my problem is when the player rename the exe like autopots.exe it only terminate it if he scan autopots.exe in taskmanager but when user rename the hack it will no longer terminate cuz what my guard only terminate is what program is coded inside my guard.exe so is your program is like mine also? BTW thank for ur reply and posting ur work source here. I use mine in ranonline.
    Last edited by redfox02; 30-12-10 at 03:58 PM.

  11. #11
    Ω -DefaulT is offline
    MemberRank
    Aug 2006 Join Date
    Emerald CityLocation
    1,429Posts

    Re: DGuard - Custom Game Guard

    redfox02 yes if it gets renamed it doesn't kill it, i do plan however to make a future release with a better guard that hooks the trose dll so if the packets are being tampered with it will disconnect etc, i am working on a project called Vaffel, its an open source rose server coded in perl based off osrose packet structure, with it though we can hard code a game guard into the source. However right now we have so many filters and checks in Vaffel that it makes it virtually impossible to edit packets.



Advertisement