Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 04:26

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

Advertisement



.dll Code Frage WarRock

Discussion on .dll Code Frage WarRock within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
erudite's Avatar
 
elite*gold: 338
Join Date: Aug 2010
Posts: 533
Received Thanks: 201
.dll Code Frage WarRock

Hey Com

Ich will einen HSBypass schreiben und habe den Check in der Warrock.exe gefunden. Nun möchte ich eine .dll schreiben, die dafür sorgt, dass der Check nicht ausgeführt wird.


Kann mir das jemand eventuell erklären. Ich habe Basics in C++ jedoch vermutlich nicht genug.

Ich würde mich über eine pn sehr freuen
erudite is offline  
Old 08/22/2013, 03:20   #2
 
Tyrar's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
Wenn du diesen Check raus haust wird das nicht reichen, der Server wird trotzdem Heartbeat Packets von dir verlangen, die du emulieren müsstest.
Außerdem sind es mehr als nur 1 Check und diese sitzen auch in der ehsvc.dll!
Tyrar is offline  
Thanks
1 User
Old 08/22/2013, 11:31   #3
 
erudite's Avatar
 
elite*gold: 338
Join Date: Aug 2010
Posts: 533
Received Thanks: 201
Quote:
Originally Posted by HeavyHacker View Post
Wenn du diesen Check raus haust wird das nicht reichen, der Server wird trotzdem Heartbeat Packets von dir verlangen, die du emulieren müsstest.
Außerdem sind es mehr als nur 1 Check und diese sitzen auch in der ehsvc.dll!
Aber Ich muss nur für mein verständnis mit der .dll den Wert der Adresse auf C3 setzen richtig?


Also der erste Check den ich hier habe der wurde aus der Global.fcl geholt.
erudite is offline  
Old 08/22/2013, 23:17   #4

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,479
Received Thanks: 3,318
0xC3 dürfte ret sein, das bringt dir rein gar nichts. Ich kenne mich mit HS / Warrock nicht aus, aber die werden nicht einfach nur einen boolean erwarten & wenn HS z.B. CRCs an den Server schickt, hast du auch ziemlich schnell verloren, da die ja dann inkorrekt sind. Wie HeavyHacker schon sagte, du kannst nicht einfach was rausschneiden & hoffen, dass alles gut geht.
snow is offline  
Thanks
1 User
Old 08/23/2013, 00:23   #5
 
Raz9r's Avatar
 
elite*gold: 297
Join Date: Dec 2010
Posts: 1,129
Received Thanks: 1,687
Wenn der Gameserver nach ca. 1h noch keine Antwort von HS bekommen hat, wird man in War Rock gebannt. Man kann zwar rein theoretisch alle Threads von HS ins leere laufen lassen mit einem CreateThread[Ex] Hook, aber dann sollte man nicht länger als 50 Minuten am Stück spielen.
Raz9r is offline  
Thanks
1 User
Old 08/24/2013, 17:21   #6
 
erudite's Avatar
 
elite*gold: 338
Join Date: Aug 2010
Posts: 533
Received Thanks: 201
Quote:
Originally Posted by Raz9r View Post
Wenn der Gameserver nach ca. 1h noch keine Antwort von HS bekommen hat, wird man in War Rock gebannt. Man kann zwar rein theoretisch alle Threads von HS ins leere laufen lassen mit einem CreateThread[Ex] Hook, aber dann sollte man nicht länger als 50 Minuten am Stück spielen.
Alles klar.

Ja ich will ja nur etwas mit itemshopscritping ausprobieren. Ich weiß dass es seit neustem großteils serverside ist. Aber ich will etwas ausprobieren.
erudite is offline  
Old 08/25/2013, 16:21   #7
 
scodeih's Avatar
 
elite*gold: 3
Join Date: Dec 2012
Posts: 79
Received Thanks: 9
Post

Also, wenn du fertig mitt deinem project bist, dann brauchst du noch ein unique dll injector, also mit diesem source code kannst du ein injector - software machen. Hier ist die source.

Code:
Public Class Form1

    Private TargetProcessHandle As Integer
    Private pfnStartAddr As Integer
    Private pszLibFileRemote As String
    Private TargetBufferSize As Integer

    Public Const PROCESS_VM_READ = &H10
    Public Const TH32CS_SNAPPROCESS = &H2
    Public Const MEM_COMMIT = 4096
    Public Const PAGE_READWRITE = 4
    Public Const PROCESS_CREATE_THREAD = (&H2)
    Public Const PROCESS_VM_OPERATION = (&H8)
    Public Const PROCESS_VM_WRITE = (&H20)

    Public Declare Function ReadProcessMemory Lib "kernel32" ( _
    ByVal hProcess As Integer, _
    ByVal lpBaseAddress As Integer, _
    ByVal lpBuffer As String, _
    ByVal nSize As Integer, _
    ByRef lpNumberOfBytesWritten As Integer) As Integer

    Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" ( _
    ByVal lpLibFileName As String) As Integer

    Public Declare Function VirtualAllocEx Lib "kernel32" ( _
    ByVal hProcess As Integer, _
    ByVal lpAddress As Integer, _
    ByVal dwSize As Integer, _
    ByVal flAllocationType As Integer, _
    ByVal flProtect As Integer) As Integer

    Public Declare Function WriteProcessMemory Lib "kernel32" ( _
    ByVal hProcess As Integer, _
    ByVal lpBaseAddress As Integer, _
    ByVal lpBuffer As String, _
    ByVal nSize As Integer, _
    ByRef lpNumberOfBytesWritten As Integer) As Integer

    Public Declare Function GetProcAddress Lib "kernel32" ( _
    ByVal hModule As Integer, ByVal lpProcName As String) As Integer

    Private Declare Function GetModuleHandle Lib "Kernel32" Alias "GetModuleHandleA" ( _
    ByVal lpModuleName As String) As Integer

    Public Declare Function CreateRemoteThread Lib "kernel32" ( _
    ByVal hProcess As Integer, _
    ByVal lpThreadAttributes As Integer, _
    ByVal dwStackSize As Integer, _
    ByVal lpStartAddress As Integer, _
    ByVal lpParameter As Integer, _
    ByVal dwCreationFlags As Integer, _
    ByRef lpThreadId As Integer) As Integer

    Public Declare Function OpenProcess Lib "kernel32" ( _
    ByVal dwDesiredAccess As Integer, _
    ByVal bInheritHandle As Integer, _
    ByVal dwProcessId As Integer) As Integer

    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
    ByVal lpClassName As String, _
    ByVal lpWindowName As String) As Integer

    Private Declare Function CloseHandle Lib "kernel32" Alias "CloseHandleA" ( _
    ByVal hObject As Integer) As Integer


    Dim ExeName As String = IO.Path.GetFileNameWithoutExtension(Application.ExecutablePath)

    Private Sub Inject()
        On Error GoTo 1 ' If error occurs, app will close without any error messages
        Timer1.Stop()
        Dim TargetProcess As Process() = Process.GetProcessesByName("WarRock")
        TargetProcessHandle = OpenProcess(PROCESS_CREATE_THREAD Or PROCESS_VM_OPERATION Or PROCESS_VM_WRITE, False, TargetProcess(0).Id)
        pszLibFileRemote = Application.StartupPath & "\" + ExeName + ".dll"
        pfnStartAddr = GetProcAddress(GetModuleHandle("Kernel32"), "LoadLibraryA")
        TargetBufferSize = 1 + Len(pszLibFileRemote)
        Dim Rtn As Integer
        Dim LoadLibParamAdr As Integer
        LoadLibParamAdr = VirtualAllocEx(TargetProcessHandle, 0, TargetBufferSize, MEM_COMMIT, PAGE_READWRITE)
        Rtn = WriteProcessMemory(TargetProcessHandle, LoadLibParamAdr, pszLibFileRemote, TargetBufferSize, 0)
        CreateRemoteThread(TargetProcessHandle, 0, 0, pfnStartAddr, LoadLibParamAdr, 0, 0)
        CloseHandle(TargetProcessHandle)
1:      Me.Close()
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If IO.File.Exists(Application.StartupPath & "\" + ExeName + ".dll") Then
            Dim TargetProcess As Process() = Process.GetProcessesByName("HSUpdate")
            If TargetProcess.Length = 0 Then
                Me.TextBox1.Text = ("Waiting for Warrock.exe")
                Me.TextBox2.Text = ("Let´s Hack")
            Else
                Timer1.Stop()
                Me.TextBox1.Text = "Done..."
                Call Inject()
            End If
        Else
            Me.TextBox1.Text = ("" + ExeName + ".dll not found")
            Me.TextBox2.Text = ("Rename the .dll To " + "" + ExeName)
        End If
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Timer1.Interval = 50
        Timer1.Start()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MsgBox("Thats the Status Box!", MsgBoxStyle.Information, "Info")
    End Sub
End Class


[ Source from Heptic ]
scodeih is offline  
Thanks
1 User
Old 08/25/2013, 16:54   #8

 
Delinquenz's Avatar
 
elite*gold: 0
Join Date: Jan 2009
Posts: 1,160
Received Thanks: 232
Quote:
Also, wenn du fertig mitt deinem project bist, dann brauchst du noch ein unique dll injector, also mit diesem source code kannst du ein injector - software machen. Hier ist die source.
Wieso nimmt man keinen, der bereits veröffentlicht wurde, anstatt irgendwelche Sources zu c&p'n und in den meisten Fällen seinen eigenen Namen drunter zu setzen!?
Delinquenz is offline  
Old 08/26/2013, 04:10   #9
 
Tyrar's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
Quote:
Originally Posted by Delinquenz View Post
Wieso nimmt man keinen, der bereits veröffentlicht wurde, anstatt irgendwelche Sources zu c&p'n und in den meisten Fällen seinen eigenen Namen drunter zu setzen!?
Dazu kommt noch die Frage: Warum ausgerechnet einen Injector in so einer Dreckssprache wie VB zu schreiben?
Tyrar is offline  
Thanks
2 Users
Old 08/29/2013, 12:08   #10
 
erudite's Avatar
 
elite*gold: 338
Join Date: Aug 2010
Posts: 533
Received Thanks: 201
Ich hätte einfach einen e*pvp Injector genommen?
erudite is offline  
Reply




All times are GMT +1. The time now is 04:29.


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