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.

    [TuT] How to make a Hack


    Kvn'X
     Share

    Recommended Posts

    Hello.

     

    I have a problem with the offset.

     

    i want to write a pointer with 2 offset

     

    example from autoit:

     

    Global $adresse1 = 6236604
    Global $adressxpos[3]
    $adressxpos[0] = 0; this is a zero offset, but that have to in autoit
    $adressxpos[2] = 1412
    $adressxpos[1] = 16
    
    
    Dim $xread = _MemoryPointerRead($adresse1, $tmpidopen, $adressxpos, "FLOAT")

     

     

    that is a auoit source, but i can't use 2 offsets in VB

     

    my vb source:

     

    xcord = ReadFloatPointer(&H5F29BC, &H584)

     

     

    how i made this?

     

     

    PS: help text from autoit

     

    ;===============================================================================

    ==================

    ; Function: _MemoryPointerRead ($iv_Address, $ah_Handle, $av_Offset[, $sv_Type])

    ; Description: Reads a chain of pointers and returns an array containing the destination

    ; address and the data at the address.

    ; Parameter(s): $iv_Address - The static memory address you want to start at. It must be in

    ; hex format (0x00000000).

    ; $ah_Handle - An array containing the Dll handle and the handle of the open

    ; process as returned by _MemoryOpen().

    ; $av_Offset - An array of offsets for the pointers. Each pointer must have an

    ; offset. If there is no offset for a pointer, enter 0 for that

    ; array dimension.

    ; $sv_Type - (optional) The "Type" of data you intend to read at the destination

    ; address. This is set to 'dword'(32bit(4byte) signed integer) by

    ; default. See the help file for DllStructCreate for all types.

    ; Requirement(s): The $ah_Handle returned from _MemoryOpen.

    ; Return Value(s): On Success - Returns an array containing the destination address and the value

    ; located at the address.

    ; On Failure - Returns 0

    ; @Error - 0 = No error.

    ; 1 = $av_Offset is not an array.

    ; 2 = Invalid $ah_Handle.

    ; 3 = $sv_Type is not a string.

    ; 4 = $sv_Type is an unknown data type.

    ; 5 = Failed to allocate the memory needed for the DllStructure.

    ; 6 = Error allocating memory for $sv_Type.

    ; 7 = Failed to read from the specified process.

    ; Author(s): Nomad

    ; Note(s): Values returned are in Decimal format, unless a 'char' type is selected.

    ; Set $av_Offset like this:

    ; $av_Offset[0] = NULL (not used)

    ; $av_Offset[1] = Offset for pointer 1 (all offsets must be in Decimal)

    ; $av_Offset[2] = Offset for pointer 2

    ; etc...

    ; (The number of array dimensions determines the number of pointers)

    ;===============================================================================

    ==================

     

    pls help

     

    Mario2323

     

    PS: sry for my bad english

    Link to comment
    Share on other sites

    @mario2323 du bist deutsch, kannst auch deutsch schreiben..

    Ehm ich verstehe deine Codeart nicht^^

    Code so nicht wie du es tust^^

    Link to comment
    Share on other sites

    nene

     

    ich bin vorn n monat von autoit (skriptsprache)

    z.B.

    Global $adresse1 = 6236604
    Global $adressxpos[3]
    $adressxpos[0] = 0; this is a zero offset, but that have to in autoit
    $adressxpos[2] = 1412
    $adressxpos[1] = 16
    
    
    Dim $xread = _MemoryPointerRead($adresse1, $tmpidopen, $adressxpos, "FLOAT")

    auf Visual Basic 2008 umgestiegen

     

    nun habe ich das problem, das man bei vb 2008 bei der read und write funktionen kein array als offset angeben kann.

     

    aber ich habe des schon gelöst

     

    offset in array heist einfach: ein pointer hat ein pointer und der pointer hat die adresse, dann lass ich einfach 2mal die funktion laufen.

     

     

    achja die art zum code war etwas verwierend, weil autoit nicht so bekannt ist, außer bei epvpers.

     

    naja ich progge ja so

     

    Dim car1 As String = "sdfg"

     

    und so also nicht falsches

     

    EDit:

     

    Wenn ich ne längere Zahl schreiben will gibt es immer den error :

     

    post1_1.jpg

     

    ich habe schon versucht die int value as Long zu deklarieren, aber hat nichts gebraucht. auch die value ist: 1342177280

     

    weiß jemand ne lösung?

    Edited by mario2323
    Link to comment
    Share on other sites

    Vll ist die value zu lang?

    Link to comment
    Share on other sites

    das habe ich ja gesagt, das die value für int zu lang ist.

     

    aber nicht zu lang um die zu schreiben. in ce gehts prima in anderen sprachen gehtsd prima nur in vb nicht

    Link to comment
    Share on other sites

    Warum schreibst du denn solch eine lange zahl? oo

    Link to comment
    Share on other sites

    weil des muss.

     

    die value im game hat diesen Wert - 1 gerechnet. wenn ich jetzt drunter was schreibe stürzt das spiel ab.

     

    also von 0 - 1342177278 stürz das spiel ab. nur dadrüber stürzt das nicht ab und es lässt sich was deaktivieren(in ce ausprobiert)

     

    aber könnte man teoretisch nicht die zahl durch 2 nehmen und dann mit 2 bytes schreiben???

    Link to comment
    Share on other sites

    i've got this:

    3449ndd.jpg

     

    Well, in Public Class Form1 write this:

    Public TmForeverLookUp As Process() = Process.GetProcessesByName("TmForever")

    Link to comment
    Share on other sites

    Hm ich weiß nicht so recht,versuche es einfach mal O.o

    Hab schon wida lang nicht mit vb2008 gecoded

    Link to comment
    Share on other sites

    hab die lösung.

     

    an alle, die das problem mal kriegen werden: es lässt sich so beheben:

    anstatt int long nehmen ( heut zu tage sind paar kb ja wwieso nichts mehr also geht auch ein 64bit integer)

     

    Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Long, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer

    Link to comment
    Share on other sites

    • 2 weeks later...
    • 2 weeks later...

    I will reup it O.o

     

     

    Edit :

    Module updated

    Link to comment
    Share on other sites

    • 3 weeks later...

    Go to D3D section O.o

    Link to comment
    Share on other sites

    • 3 weeks later...

    I work with Xaero at new hacks O.o

    Please be patient

    Link to comment
    Share on other sites

    TmFucker update is cool! O.o

    maby could i help with some ideas that you can make? (im not that good at finding addresses)

     

    but your the best!

    Edited by CruZotH
    Link to comment
    Share on other sites

    • 2 weeks later...

    private: void WriteLongPointer(int Base, short Offset, long Value, int Bytes)
    		 {
    			long RBuff = 0;
    			long fullAddress = 0;
    			array<System::Diagnostics::Process^> ^TmForeverLookUp = System::Diagnostics::Process::GetProcessesByName("TmForever");
    
    			if (TmForeverLookUp->Length == 0)
    			{
    				Application::Exit();
    			}		
    			HANDLE processHandle = OpenProcess(PROCESS_VM_WRITE |PROCESS_VM_OPERATION , false, TmForeverLookUp[0]->Id);
    
    			ReadProcessMemory(processHandle,(LPCVOID)Base,(LPVOID)RBuff,4, NULL);
    
    			fullAddress = RBuff + Offset;
    
    			WriteProcessMemory(processHandle,(LPVOID)fullAddress,(LPVOID)Value,Bytes, NULL);
    
    			CloseHandle(processHandle);
    
    		}

     

    Das wärs in c++ (cli Umgebung) allerdings was ist das so eine art von adresse.

    weil:

     

    private: System::Void cptimer_Tick(System::Object^  sender, System::EventArgs^  e) {
    			 WriteLongPointer(&HABE2D0 + &H400000, &H32C, -100, 4);
    			 WriteLongPointer(&HAC1908 + &H400000, &H31C, -100, 4);
    			 WriteLongPointer(&HABE2D0 + &H400000, &H328, -100, 4);
    			 WriteLongPointer(&HAC1908 + &H400000, &H318, -100, 4);
    		 }

     

     

    hier kommt er dann überhaupt nicht weiter mit diesen Adressen.

    Vllt kennt sich ja jemand hier mit c++ gut aus (ich kann eigentlich nur das nötigste) und hilft mir^^.

     

    Mfg Mark

    Link to comment
    Share on other sites

    ive done this and when i press the Button1 nothing happens .... why?

     

     

    i uploaded it .... pls help me i want to know what is false...

     

     

    VT: http://www.virustotal.com/de/analisis/bdb8...aa7f-1255674899

     

     

     

    update?

    my_hack.zip

    Edited by Omgtheykilledkenny
    Link to comment
    Share on other sites

    • 3 months later...

    No problem O.o

    Link to comment
    Share on other sites

    Guest
    This topic is now closed to further replies.
     Share

    • Recently Browsing   0 members

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