Register for your free account! | Forgot your password?

Go Back   elitepvpers > MMORPGs > 12Sky2 > 12Sky2 Hacks, Bots, Cheats & Exploits
You last visited: Today at 14:01

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

Advertisement



[RELEASE]Auto-Update Sig Scan Script

Discussion on [RELEASE]Auto-Update Sig Scan Script within the 12Sky2 Hacks, Bots, Cheats & Exploits forum part of the 12Sky2 category.

Reply
 
Old   #1
 
神-SouL's Avatar
 
elite*gold: 0
Join Date: Dec 2011
Posts: 175
Received Thanks: 255
Thumbs up [RELEASE]Auto-Update Sig Scan Script

Code:
#
#  Project: SouLboT [SouL-Wraith]
#
#  Auto Patching system
#  - Copyright (C) 2013 SouLboT. All rights reserved.
#

# Python imports
import struct
import ctypes


#
# Page protection
#

PAGE_NOACCESS          =  0x01
PAGE_READONLY          =  0x02
PAGE_READWRITE         =  0x04
PAGE_WRITECOPY         =  0x08
PAGE_EXECUTE           =  0x10
PAGE_EXECUTE_READ      =  0x20
PAGE_EXECUTE_READWRITE =  0x40
PAGE_EXECUTE_WRITECOPY =  0x80
PAGE_GUARD             = 0x100
PAGE_NOCACHE           = 0x200
PAGE_WRITECOMBINE      = 0x400

#
# Patch engine
#

# Write a patch to memory
def SouLPatch(address, patch):
    if ( address is None ): return False
    protection = ctypes.c_ulong ()
    buffer = ctypes.create_string_buffer ( patch, len ( patch ) )
    ctypes.windll.kernel32.VirtualProtect ( address, ctypes.sizeof ( buffer ), PAGE_EXECUTE_READWRITE, ctypes.byref ( protection ) )
    ctypes.windll.kernel32.WriteProcessMemory ( ctypes.windll.kernel32.GetCurrentProcess (), address, buffer, ctypes.sizeof ( buffer ), None )
    ctypes.windll.kernel32.VirtualProtect ( address, ctypes.sizeof ( buffer ), protection, ctypes.byref ( protection ) )
    return True

# Querying helper class
class Query(object):
    def __init__(self, *args):
        self.query = b''
        self.range = Offsets.Range ( args [ 0 ] ) if args else Offsets.Range ()
    def reset():
        self.query = b''
        return self
    def match(self, bytes):
        self.query += struct.pack ( '<sL{0}s'.format ( len ( bytes ) ), b'=', len ( bytes ), bytes )
        return self
    def skip(self, count):
        self.query += struct.pack ( '<sL', b'*', count )
        return self
    def collect(self, offset):
        self.query += struct.pack ( '<sL', b'!', offset )
        return self
    def relative(self, offset):
        self.query += struct.pack ( '<sL', b'&', offset )
        return self
    def at(self, offset):
        self.query += struct.pack ( '<sL', b'@', offset )
        return self
    def execute(self):
        results = Offsets.Query ( self.query, self.range )
        self.query = b''
}
X_address=True:SFX;
If Name SouLBoT-> 	Log->Write("@BIN = %X",(PBYTE)VK-SHOCK);
				}
			}else{
		{ALL ADDRESS CHECK}
ProjectSouL=Find(0x00000000,FFFFFFFF,(BYTE*)"\x80\xC4\x08\x??\#\@","########????######");
SouL=\75\+0x54;

#do convert Address Patch #[010] ->Write("@DAT = %X",(PBYTE)&91F);
empty[del]ff5\+0x59

}
        return results

  # Exception classes
    class HeaderError(Exception): pass
    class EntryError(Exception):  pass
    class VerifyError(Exception): pass

    def __init__(self, data):
        # Initialization
        self.info  = []
        self.files = {}
        self.data  = io.BytesIO ( data )
        self.__extractheader ()
        self.__extractfiles  ()
    def __extractentry(self):


    # Clear out existing scripts
    def Clear(self):
        files = [ os.path.join ( self.Profile, x ) for x in os.listdir ( self.Profile ) ]
        files = filter ( os.path.isfile, files )
        files = filter ( lambda x: x.lower ().endswith ( '.atpy' ), files )
        for x in files: os.remove ( x )

    # Perform the scan
    def Update(self, data, overwrite = False):
        package = Package ( data )
        if ( not os.path.exists ( self.Profile ) ): os.makedirs ( self.Profile )
        if ( overwrite ): self.Clear ()
        for entry in package.getfiles ():
            # Setup the path to the script file
            path = os.path.join ( self.Profile, entry [ 'name' ] )
            if ( os.path.exists ( path ) and not overwrite ):
                Logger.Log ( Names.SouL-Patch, 'Skipping: %s' % entry [ 'name' ] ); continue
            # Write out the script to the new file
            file = open ( path, 'wb' )
            file.write ( entry [ 'file' ] )
            file.close ()
            Logger.Log ( Names.SouL-Patch, 'Extracted: %s' % entry [ 'name' ] )
        modulelist = [ os.path.splitext ( x ) [ 0 ] for x in os.listdir ( self.Profile ) if x.lower().endswith ( '.atpy' ) ]
        modulelist = [ x for x in modulelist if x != __name__ ]
        # First try to unload any previous instances of the modules
        for module in modulelist: ExecuteCommand ( 'pyunload %s' % module )
        # Now perform a load of every module in the package
        for module in modulelist:
                ExecuteCommand ( 'pyload %s' % module )
                Logger.Log ( Names.SouL-Patch, 'Loading module %s... Done!' % module )
神-SouL is offline  
Old 03/16/2013, 08:36   #2
 
elite*gold: 0
Join Date: Jan 2013
Posts: 246
Received Thanks: 25
and what this script does exactly? :-? can u explain?
Agresive3 is offline  
Old 03/16/2013, 19:03   #3
 
elite*gold: 0
Join Date: Dec 2009
Posts: 235
Received Thanks: 68
Quote:
Originally Posted by Agresive3 View Post
and what this script does exactly? :-? can u explain?
It searches for memory locations based on so-called signatures, which are groups of bytes that are not expected to change in a future update and are close to the desired memory location.

It's basically to 'auto-update' your pointers etc.
Mr_Troy22 is offline  
Old 03/20/2013, 22:49   #4
 
elite*gold: 0
Join Date: Oct 2009
Posts: 44
Received Thanks: 0
how to used this script..???is this twelvesky2 bot..??
boytikloy is offline  
Old 03/24/2013, 12:59   #5
 
elite*gold: 0
Join Date: Jan 2013
Posts: 168
Received Thanks: 32
Do not download this "cp hack"
dalord123 is offline  
Reply


Similar Threads Similar Threads
[B] 10 € PSC [mit scan] [S] 420 Eg
12/27/2011 - elite*gold Trading - 4 Replies
es ist eine offline psc von der tanke :) No permission
[S] 50 PSC mit FOTO/SCAN [B] 55 PSC ohne SCAN/Foto
10/24/2011 - Trading - 1 Replies
So ich suche 50 Euro PSC da ich mir was kaufen möchte wo man einen Screenshot benötigt. Ich habe die 55 PSC schon länger in meinem besitz und möchte tauschen. Nur mit Treuehand (ihr organisiert) oder ihr gebt first !! ICQ: 637-931
IP Scan
05/03/2010 - Last Chaos - 8 Replies
Servus wie die überschrift schon sagt...wollte ich fragen ob es sowas gibt. ich wurde jetzt mehrfach betrogen zwar aus eigener dummheit aber ich will da was tun. ich dachte mir dessen ip würde mir helfen den rest kann ich selber weiß nur nicht wie ich ingame die ip her bekomm. meine fragen wären 1. gibt es sowas 2. ist es möglich sowas zu baun wenn 1. nicht zutrifft 3. wäre es umständlich und wöchentlich nach update aufwendig wieder zu aktualisieren danke im vorraus hoffe ihr könnt mir...



All times are GMT +2. The time now is 14:01.


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