Results 1 to 6 of 6
  1. #1
    maskelilincoln's Avatar
    Join Date
    Nov 2010
    Gender
    male
    Location
    İzmir
    Posts
    6
    Reputation
    10
    Thanks
    0

    Unhappy Float and Ary of bytees Plaseee :(

    ---Float ???? ---
    DWORD daPointer = *(DWORD*)( (DWORD)GetModuleHandleA( "Client.dll" ) + 0x005300D4 );

    daPointer = *(DWORD*)( daPointer + 0x4c0 );

    *(DWORD*)( daPointer + 0x7a ) =-4000;


    ---Ary Of Bytees---

    DWORD daPointer = *(DWORD*)( (DWORD)GetModuleHandleA( "Client.dll" ) + 0x005300D4 );

    daPointer = *(DWORD*)( daPointer + 0x4c0 );

    *(DWORD*)( daPointer + 0x7a ) = 90 90 90 90 90 90;



    Plaseeee....!!!!!!!

  2. #2
    maskelilincoln's Avatar
    Join Date
    Nov 2010
    Gender
    male
    Location
    İzmir
    Posts
    6
    Reputation
    10
    Thanks
    0
    *(BYTE*) ( (DWORD)GetModuleHandleA( "Client.dll" ) + 0xAF00 ) = (0x90,0x90);

    Error Byte ( Plaseeee Helllpppppp

  3. #3
    Hell_Demon's Avatar
    Join Date
    Mar 2008
    Gender
    male
    Location
    I love causing havoc
    Posts
    3,976
    Reputation
    343
    Thanks
    4,320
    My Mood
    Cheeky
    float:
    *(float*)Address = -123.4f;

    byte array:
    char bArray[5] = {0x90,0x90,0x90,0x90,0x90};
    memcpy(address, bArray, 5);

    Or in the case of just nopping:
    memset(address, 0x90, 5);
    Ah we-a blaze the fyah, make it bun dem!

  4. #4
    umutyeniyurt's Avatar
    Join Date
    May 2013
    Gender
    male
    Posts
    58
    Reputation
    10
    Thanks
    0
    My Mood
    Amazed
    what is in dword

  5. #5
    maskelilincoln's Avatar
    Join Date
    Nov 2010
    Gender
    male
    Location
    İzmir
    Posts
    6
    Reputation
    10
    Thanks
    0
    Quote Originally Posted by Hell_Demon View Post
    float:
    *(float*)Address = -123.4f;

    byte array:
    char bArray[5] = {0x90,0x90,0x90,0x90,0x90};
    memcpy(address, bArray, 5);

    Or in the case of just nopping:
    memset(address, 0x90, 5);

    Byte not to work

    C++ VB 2012 Versiyon Plaseeee :/

  6. #6
    abuckau907's Avatar
    Join Date
    Dec 2012
    Gender
    male
    Location
    other side of the wire
    Posts
    1,342
    Reputation
    162
    Thanks
    239
    My Mood
    Cold
    Code:
    DWORD daPointer = *(DWORD*)( (DWORD)GetModuleHandleA( "Client.dll" ) + 0x005300D4 );
    daPointer = *(DWORD*)( daPointer + 0x4c0 );
    
    memset(daPointer + 0x7a, 0x90, 6); // 90h = byte value to set, 6 = number of bytes to write
    but you must convert the DWORD variable to a pointer type for memset's first parameter. Idk c++ well enough : ( someone else?

    memset((void*)daPointer+0x7a, 0x90, 6); ??

    or maybe even
    Code:
    DWORD *daPointer = (DWORD*)( (DWORD)GetModuleHandleA( "Client.dll" ) + 0x005300D4 ); // now a dword pointer
    daPointer = (DWORD*)( daPointer + 0x4c0 ); // got rid of the first dereference *, same as above. 
    
    memset(daPointer + 0x7a, 0x90, 6); // 90h = byte value to set, 6 = number of bytes to write
    ??
    -------------------------------------
     

    Quote Originally Posted by umutyeniyurt View Post
    what is in dword
    DWORD is a typedef by microsoft

    Declare a variable of type DWORD.

    1) When you hover your mouse over the word 'DWORD', it should show you the typedef
    2) Or Right click on DWORD and choose "Go To Definition", where it will show you the typedef


    And of course sizeof(unsigned long) = 4 bytes (On both 32 bit and 64)
    So DWORD = 4 bytes , on both 32 bit and 64.



    -------------------------------------

    edit: From the original post:
    //float
    *(DWORD*)( daPointer + 0x7a ) =-4000;

    Even though a float and dword are both 4 bytes..their internal format is different. The floating types reserve some number of the right-most bits for the "decimal section" and the left-most bits are used for the "whole number" section. Regular integer types don't do this. So a floating-point type will store "4000" with a few right-most bits set to 0, while the integer numeric types do not. Writing 4000 that way would not store it as a floating-point value. Technically you could still try to read it as a float value, but it will not be what you expect, because of how floating-point types actually store their value.
    Should be

    *(float*)( daPointer + 0x7a ) = -4000; // ??

    Using *(DWORD*) is not correct. Use *(float*).
    Last edited by abuckau907; 09-03-2013 at 04:37 AM. Reason: editing my Reason for Editing : p
    'Some things that can be counted, don't matter. And some things that matter, can't be counted' - A.E.
    --
     

    My posts have some inaccuracies/are wrong/wrong keyword(s) used.
    They're (maybe) pretty close, and I hope they helped you, not created confusion. Take with grain of salt.

    -if you give rep, please leave a comment, else it means less.

Similar Threads

  1. [RELEASE||HELP]Compression and Encryption of Byte Arrays
    By topblast in forum Visual Basic Programming
    Replies: 0
    Last Post: 12-24-2010, 01:21 AM
  2. NEW ADDIES (ALSO VIP and byte)
    By super4514 in forum WarRock Discussions
    Replies: 24
    Last Post: 11-09-2009, 09:40 AM
  3. Glitch I found floating on the water and bin glitch
    By jaime in forum Combat Arms Glitches
    Replies: 16
    Last Post: 09-08-2009, 07:01 AM
  4. Snow Valley Float Glitch and Two TOwers Glitch
    By rahutu in forum Combat Arms Glitches
    Replies: 14
    Last Post: 07-08-2009, 02:53 AM
  5. Replies: 4
    Last Post: 05-13-2009, 02:58 AM