Page 1 of 2 12 LastLast
Results 1 to 15 of 26
  1. #1
    .::SCHiM::.'s Avatar
    Join Date
    Sep 2010
    Gender
    male
    Posts
    733
    Reputation
    180
    Thanks
    880
    My Mood
    Twisted

    [Code] Fast and reliable hybrid-nop patch

    First of all, why using inline asm?
    It's faster, and you can actually see what you're doing
    I understand that some of you don't have the least intention of learning asm
    That's why I'm posing this code, since this is an improvement over the memcpy() api

    The function:
    Note: The only thing you have to do is supplying the address and how many bytes you want to patch (gg)

    Code:
    int NopPatch(LPVOID address, int gg){
    {	__declspec( naked );
    __asm{
      push eax
      push esi
    
     mov eax, address
     xor esi, esi
     
    nopp:
     
      mov [eax], 0x90
    
     add eax, 1d
     add esi, 1d
    
     cmp esi, gg
     jnz nopp
    
    
       pop esi
       pop eax
    
    	}
    	}
    
    		return 0;
    }
    Usage:
    The address used, is one of 5 no-recoil addresses
    Code:
    NopPatch((LPVOID)0x3745FCE0, 3);
    If you chose to use my code, please give proper credits for it
    Thank you, and happy hacking

    -SCHiM

    I'm SCHiM

    Morals derive from the instinct to survive. Moral behavior is survival behavior above the individual level.

    Polymorphic engine
    Interprocess callback class
    SIN
    Infinite-precision arithmetic
    Hooking dynamic linkage
    (sloppy)Kernel mode Disassembler!!!

    Semi debugger




  2. The Following 3 Users Say Thank You to .::SCHiM::. For This Useful Post:

    Drake (10-24-2010),NOOB (10-25-2010),Solify (10-24-2010)

  3. #2
    Solify's Avatar
    Join Date
    Feb 2009
    Gender
    male
    Location
    Frankfurt, Germany
    Posts
    2,291
    Reputation
    143
    Thanks
    2,477
    My Mood
    Aggressive
    nice schim, but what if you want to set it back to original

  4. #3
    .::SCHiM::.'s Avatar
    Join Date
    Sep 2010
    Gender
    male
    Posts
    733
    Reputation
    180
    Thanks
    880
    My Mood
    Twisted
    Quote Originally Posted by Solify View Post
    nice schim, but what if you want to set it back to original
    duno, why would you want that?

    I'm SCHiM

    Morals derive from the instinct to survive. Moral behavior is survival behavior above the individual level.

    Polymorphic engine
    Interprocess callback class
    SIN
    Infinite-precision arithmetic
    Hooking dynamic linkage
    (sloppy)Kernel mode Disassembler!!!

    Semi debugger




  5. #4
    Solify's Avatar
    Join Date
    Feb 2009
    Gender
    male
    Location
    Frankfurt, Germany
    Posts
    2,291
    Reputation
    143
    Thanks
    2,477
    My Mood
    Aggressive
    Quote Originally Posted by .::SCHiM::. View Post
    duno, why would you want that?
    if somebody is hacking legit and someone says, shoot against the wall, you turn no recoil off and you shoot normaly

  6. #5
    .::SCHiM::.'s Avatar
    Join Date
    Sep 2010
    Gender
    male
    Posts
    733
    Reputation
    180
    Thanks
    880
    My Mood
    Twisted
    Quote Originally Posted by Solify View Post
    if somebody is hacking legit and someone says, shoot against the wall, you turn no recoil off and you shoot normaly
    Who would want to know that XD
    I mean, most people act completely by the book regarding hackers: "When in doubt, Hit the SMITE/BAN/KICK button!"
    See where shooting against the wall brings ya

    I'm SCHiM

    Morals derive from the instinct to survive. Moral behavior is survival behavior above the individual level.

    Polymorphic engine
    Interprocess callback class
    SIN
    Infinite-precision arithmetic
    Hooking dynamic linkage
    (sloppy)Kernel mode Disassembler!!!

    Semi debugger




  7. #6
    Solify's Avatar
    Join Date
    Feb 2009
    Gender
    male
    Location
    Frankfurt, Germany
    Posts
    2,291
    Reputation
    143
    Thanks
    2,477
    My Mood
    Aggressive
    Quote Originally Posted by .::SCHiM::. View Post
    Who would want to know that XD
    I mean, most people act completely by the book regarding hackers: "When in doubt, Hit the SMITE/BAN/KICK button!"
    See where shooting against the wall brings ya
    lets say, its good for an auto on hack ^^

  8. #7
    Mr.Magicman's Avatar
    Join Date
    Sep 2009
    Gender
    male
    Location
    Sitting in my cave full of thoughts learning Asembly
    Posts
    2,102
    Reputation
    16
    Thanks
    649
    My Mood
    Cold
    Wow you made a asm variant of patching memory.

  9. #8
    HaX4LiFe!'s Avatar
    Join Date
    Jan 2010
    Gender
    male
    Posts
    1,639
    Reputation
    22
    Thanks
    1,420
    omg why i dnt understand asm xD

  10. #9
    mo3ad001's Avatar
    Join Date
    Apr 2009
    Gender
    male
    Posts
    842
    Reputation
    53
    Thanks
    797
    My Mood
    Busy
    Good idea man Like it
    it's nop to /x90 /x90 but the Glass wall want /x01
    and we can't back it for the Main Bytes
    just if we used the Old one to back and this way to Nop it

    H A X O
    Email : Noobmem@hotmail.com


  11. #10
    .::SCHiM::.'s Avatar
    Join Date
    Sep 2010
    Gender
    male
    Posts
    733
    Reputation
    180
    Thanks
    880
    My Mood
    Twisted
    Quote Originally Posted by Mr.Magicman View Post
    Wow you made a asm variant of patching memory.
    Sarcasm?
    I acctually made a complete hack in asm just now

    ps: You have one hell of a scary avatar :O

    Good idea man Like it
    it's nop to /x90 /x90 but the Glass wall want /x01
    and we can't back it for the Main Bytes
    just if we used the Old one to back and this way to Nop it
    Yea but that wouldn't be nopping*, that's changing values
    I might add that though

    *nopping or nop stands for the machine no-operation op-code (operating code...)
    if the processor encounters a nop (0x90 or 90h) it knows that it doesn't have to do anything, and just changes the eip to the next command (it goes to the next opcode, and sees what it has to do next)

    omg why i dnt understand asm xD
    I don't know, maybe you should learn it
    It's really easy actually, once you understand sizes and hex, this isn't much of a deal
    Last edited by .::SCHiM::.; 10-25-2010 at 10:00 AM.

    I'm SCHiM

    Morals derive from the instinct to survive. Moral behavior is survival behavior above the individual level.

    Polymorphic engine
    Interprocess callback class
    SIN
    Infinite-precision arithmetic
    Hooking dynamic linkage
    (sloppy)Kernel mode Disassembler!!!

    Semi debugger




  12. #11
    doofbla's Avatar
    Join Date
    May 2010
    Gender
    male
    Location
    Biel*****/Germany
    Posts
    369
    Reputation
    10
    Thanks
    179
    My Mood
    Psychedelic

    answer 0.O

    Quote Originally Posted by Solify View Post
    nice schim, but what if you want to set it back to original
    You could just use it this way:
    Code:
    int NopPatch(LPVOID address, int gg, int value){
    {	__declspec( naked );
    __asm{
      push eax
      push esi
    
     mov eax, address
     xor esi, esi
     
    nopp:
     
      mov [eax], value
    
     add eax, 1d
     add esi, 1d
    
     cmp esi, gg
     jnz nopp
    
    
       pop esi
       pop eax
    
    	}
    	}
    
    		return 0;
    }
    If this is not correct : SCHIM please correct me
    _____________________________________________

    READING TUTORIAL:

    1. READ MY POST
    2. THINK ABOUT MY POST
    3. PRESS THANKS
    4. MAYBE CORRECT MY POSTS :P




    Dijkstra:
    "Computer Science is no more about computers than astronomy is about
    telescopes."


    THANKS BUTTON RIGHT DOWN --->

  13. #12
    .::SCHiM::.'s Avatar
    Join Date
    Sep 2010
    Gender
    male
    Posts
    733
    Reputation
    180
    Thanks
    880
    My Mood
    Twisted
    Quote Originally Posted by doofbla View Post
    You could just use it this way:
    Code:
    int NopPatch(LPVOID address, int gg, int value){
    {	__declspec( naked );
    __asm{
      push eax
      push esi
    
     mov eax, address
     xor esi, esi
     
    nopp:
     
      mov [eax], value
    
     add eax, 1d
     add esi, 1d
    
     cmp esi, gg
     jnz nopp
    
    
       pop esi
       pop eax
    
    	}
    	}
    
    		return 0;
    }
    If this is not correct : SCHIM please correct me
    Hmm, Maybe you could, but there is an error (altough I'm not sure. I cannot test it now, since some of my current programs are eating cpu time like it's pizza)

    1. The value you're going to expect is only 1 byte long, well it would be 4 bytes long, but you're only going to write 1 byte, which is useless since most on/off features require the full 3 or 6 bytes

    It would probably (not sure again)
    work like this:

    Code:
    int NopPatch(LPVOID address, int gg, char* value){
    {	__declspec( naked );
    __asm{
      push eax
      push esi
      push edx
    
     mov eax, address
     mov edx, [value] 
     xor esi, esi
      
    nopp:
     
      mov [eax], [value + esi]
    
     add eax, 1d
     add esi, 1d
    
     cmp esi, gg
     jnz nopp
    
    
       pop esi
       pop eax
    
    	}
    	}
    I don't think it'll work, but you can try

    I'm SCHiM

    Morals derive from the instinct to survive. Moral behavior is survival behavior above the individual level.

    Polymorphic engine
    Interprocess callback class
    SIN
    Infinite-precision arithmetic
    Hooking dynamic linkage
    (sloppy)Kernel mode Disassembler!!!

    Semi debugger




  14. #13
    doofbla's Avatar
    Join Date
    May 2010
    Gender
    male
    Location
    Biel*****/Germany
    Posts
    369
    Reputation
    10
    Thanks
    179
    My Mood
    Psychedelic
    hmm OK xD
    But when you say MOV expects a 1Byte value I would like to advice you not to use a char*
    but instead a BYTE* cuz sometimes a char is 2Bytes (UNICODE)

    But please notice that I don't want to flame you but it is meant as constructive critic
    _____________________________________________

    READING TUTORIAL:

    1. READ MY POST
    2. THINK ABOUT MY POST
    3. PRESS THANKS
    4. MAYBE CORRECT MY POSTS :P




    Dijkstra:
    "Computer Science is no more about computers than astronomy is about
    telescopes."


    THANKS BUTTON RIGHT DOWN --->

  15. #14
    .::SCHiM::.'s Avatar
    Join Date
    Sep 2010
    Gender
    male
    Posts
    733
    Reputation
    180
    Thanks
    880
    My Mood
    Twisted
    Quote Originally Posted by doofbla View Post
    hmm OK xD
    But when you say MOV expects a 1Byte value I would like to advice you not to use a char*
    but instead a BYTE* cuz sometimes a char is 2Bytes (UNICODE)

    But please notice that I don't want to flame you but it is meant as constructive critic
    Mov doesn't expect one byte
    But a sole integer only holds one value (ranging from -2147483648 to 2147483648 or from 0 to 42944967295)

    And an ansi char is always one byte big:
    Note: char as it should be

    type: char
    size(bytes): 1
    range of values: -128 to 127

    Add that to the fact that a character is acctualy a byte for the machine
    And I see no reason not to use a char

    Your turn
    Last edited by .::SCHiM::.; 10-27-2010 at 01:39 PM.

    I'm SCHiM

    Morals derive from the instinct to survive. Moral behavior is survival behavior above the individual level.

    Polymorphic engine
    Interprocess callback class
    SIN
    Infinite-precision arithmetic
    Hooking dynamic linkage
    (sloppy)Kernel mode Disassembler!!!

    Semi debugger




  16. #15
    mo3ad001's Avatar
    Join Date
    Apr 2009
    Gender
    male
    Posts
    842
    Reputation
    53
    Thanks
    797
    My Mood
    Busy
    if you want it work i don't think ! maybe you should do
    Code:
    int NopPatch(LPVOID address, char* value ,int gg){
    {	__declspec( naked );
    __asm{
      push eax
      push esi
      push edx
    
     mov eax, address
     mov edx, [value] 
     xor esi, esi
      
    nopp:
     
      mov [eax], value 
    
     add eax, 1d
     add esi, 1d
    
     cmp esi, gg
     jnz nopp
    
    
       pop esi
       pop eax
    
    	}
    	}

    H A X O
    Email : Noobmem@hotmail.com


Page 1 of 2 12 LastLast

Similar Threads

  1. [TRADE] Bypass and new UCE for retail code generator and lvl 16+
    By hoélozabimaru in forum Trade Accounts/Keys/Items
    Replies: 8
    Last Post: 02-09-2018, 12:04 PM
  2. Replies: 9
    Last Post: 09-24-2011, 01:34 PM
  3. code fast as famas
    By hotevoz in forum WarRock - International Hacks
    Replies: 9
    Last Post: 03-06-2008, 10:49 AM
  4. need help plz vb6 codeing fast registration
    By cjg333 in forum WarRock - International Hacks
    Replies: 3
    Last Post: 07-05-2007, 06:38 AM
  5. Any way to make my computer go fast and fater
    By Gourav2122 in forum Hardware & Software Support
    Replies: 18
    Last Post: 12-19-2006, 09:27 PM