Rubysh's Firefall Autotrigger

08/21/2012 14:24 Rubyshdj#1
Hello guys, it's been a while since i made my last contribution, this time i want to give you a little script that i made for a new mmofps called Firefall.

This is a auto-trigger for the game, for who doesn't know what it is, its a kind of aim-bot but instead aim at a target, it simply shoots when a enemy (mob, player in pvp, etc...) is in the crosshair area.


To use it, all you have to do is start the game and then start the bot.
It automaticly closes it self if the client stops or isn't running.

I hope it helps you, mainly if you're a nerfed recon (sniper) in the game :D

Download the exe here

[Only registered and activated users can see links. Click Here To Register...]

And here's the autoit source:

p.s im sorry if the func's area is a mess but the normal ways to get the base address from the client for the pointers didn't work for some reason...

Code:
   #include <NomadMemory.au3>
   #include <GUIConstants.au3>
   #include <Misc.au3>
   #include <Array.au3>

   $talk = ObjCreate("SAPI.SpVoice")

HotKeySet('{ESC}','_exit')
HotKeySet('{PAUSE}','pause')
HotKeySet('{HOME}','play')

SeDebugPrivilege()
$sExecutable = 'FirefallClient.exe'
$hProcess = OpenProcess(ProcessExists($sExecutable))
$lol = ProcessModuleGetBaseAddress($hProcess, $sExecutable)
CloseHandle($hProcess)

$stupid_offset1 = 0x01336750
$stupid_offset2 = 0x4
$stupid_offset3 = 0x10
$stupid_offset4 = 0x50
$stupid_offset5 = 0x4
$stupid_offset6 = 0x2bd

$ID=_MemoryOpen(ProcessExists("FirefallClient.exe"))

if ($ID = 0 ) then
		$talk.Speak("Firefall Client not found, please start the game first!")
		_MemoryClose($ID)
		Exit
	EndIf
$talk.Speak("Rubysh's Firefall Autotrigger is now online, Checking pointers...")


$lol2 = _MemoryRead($lol+$stupid_offset1, $ID, "int[32]")
$lol3 = _MemoryRead($lol2+$stupid_offset2, $ID, "int[32]")
$lol4 = _MemoryRead($lol3+$stupid_offset3, $ID, "int[32]")
$lol5 = _MemoryRead($lol4+$stupid_offset4, $ID, "int[32]")
$lol6 = _MemoryRead($lol5+$stupid_offset5, $ID, "int[32]")
$fucking_address = _MemoryRead($lol6+$stupid_offset6, $ID, "BYTE")

$talk.Speak("All pointers found, the bot is ready, Have fun!")

$talk.Speak("Use the end button to close the bot while in the game, the bot will automaticly close it self if the client isn't running.")

autoshoot()

func autoshoot()
While 1
    $idcheck = ProcessExists("FirefallClient.exe")
	$fucking_address = _MemoryRead($lol6+$stupid_offset6, $ID, "BYTE")

	if ($fucking_address = 1 ) then
	MouseDown("left")

		While ($fucking_address = 1 )

   		$fucking_address = _MemoryRead($lol6+$stupid_offset6, $ID, "BYTE")
		Wend
	MouseUp("left")
	else
	sleep(1)
        endIf

	if ($idcheck = 0 ) then
		$talk.Speak("Firefall Client has been closed, The Autotrigger will now shutdown. Thank you for using Rauven's Firefall Autotrigger.")
		_MemoryClose($ID)
		Exit
	EndIf


Wend

endfunc


Func SeDebugPrivilege()
Local $iTokenIndex = 1
Local $Struct = DllStructCreate('DWORD;int')
Local $TOKEN_PRIVILEGES = DllStructCreate('DWORD;DWORD[' & (3 * 1) & ']')
DllStructSetData($TOKEN_PRIVILEGES, 1, 1)
While $iTokenIndex <= 1
  Local $bPrivilegeValue = DllCall('advapi32.dll', _
    'BOOL', 'LookupPrivilegeValue', _
    'str', '', _
    'str', 'SeDebugPrivilege', _ ;SE_DEBUG_NAME
    'ptr', DllStructGetPtr($Struct))
  If $bPrivilegeValue[0] Then
   DllStructSetData($TOKEN_PRIVILEGES, 2, 0x00000002, (3 * $iTokenIndex)) ;SE_PRIVILEGE_ENABLED
   DllStructSetData($TOKEN_PRIVILEGES, 2, DllStructGetData($Struct, 1), (3 * ($iTokenIndex - 1)) + 1)
   DllStructSetData($TOKEN_PRIVILEGES, 2, DllStructGetData($Struct, 2), (3 * ($iTokenIndex - 1)) + 2)
   DllStructSetData($Struct, 1, 0)
   DllStructSetData($Struct, 2, 0)
  EndIf
  $iTokenIndex += 1
WEnd
Local $hCurrentProcess = DllCall('kernel32.dll', _
   'HANDLE', 'GetCurrentProcess')
Local $hProcessToken = DllCall('advapi32.dll', _
   'BOOL', 'OpenProcessToken', _
   'HANDLE', $hCurrentProcess[0], _
   'DWORD', 0x00000020 + 0x00000008, _ ;TOKEN_ADJUST_PRIVILEGES + TOKEN_QUERY
   'HANDLE*', '')
Local $NEWTOKEN_PRIVILEGES = DllStructCreate('DWORD;DWORD[' & (3 * 1) & ']')
DllCall('advapi32.dll', _
   'BOOL', 'AdjustTokenPrivileges', _
   'HANDLE', $hProcessToken[3], _
   'BOOL', False, _
   'ptr', DllStructGetPtr($TOKEN_PRIVILEGES), _
   'DWORD', DllStructGetSize($NEWTOKEN_PRIVILEGES), _
   'ptr', '', _
   'DWORD*', '')
DllCall('kernel32.dll', _
   'BOOL', 'CloseHandle', _
   'HANDLE', $hProcessToken[3])
EndFunc
Func OpenProcess($iProcessID)
Local $hProcess = DllCall('kernel32.dll', _
   'HANDLE', 'OpenProcess', _
   'DWORD', 0x1F0FFF, _ ;DesiredAccess = PROCESS_ALL_ACCESS
   'BOOL', True, _ ;InheritHandle = True
   'DWORD', $iProcessID)
Return $hProcess[0]
EndFunc
Func ProcessModuleGetBaseAddress($hProcess, $sModuleName)
Local $ModulesMax = DllStructCreate('ptr[1024]')
Local $iProcessModules = DllCall('psapi.dll', _
   'BOOL', 'EnumProcessModules', _
   'HANDLE', $hProcess, _
   'ptr', DllStructGetPtr($ModulesMax), _
   'DWORD', DllStructGetSize($ModulesMax), _
   'DWORD*', '')
Local $sModuleBaseName
For $i = 1 To $iProcessModules[4] / 4
  $sModuleBaseName = DllCall('psapi.dll', _
    'DWORD', 'GetModuleBaseNameW', _
    'HANDLE', $hProcess, _
    'ptr', DllStructGetData($ModulesMax, 1, $i), _
    'wstr', '', _
    'DWORD', 256)
  If $sModuleBaseName[3] = $sModuleName Then Return DllStructGetData($ModulesMax, 1, $i)
Next
EndFunc
Func CloseHandle($hProcess)
Local $bResult = DllCall('kernel32.dll', _
   'BOOL', 'CloseHandle', _
   'HANDLE', $hProcess)
Return $bResult[0]
EndFunc
08/21/2012 14:30 ÐΣαtђ#2
#repoted
Wrong Section, comes to Coding Realease's If it's a Realease ;D

Mfg

#repoted
Wrong Section, comes to Coding Realease's If it's a Realease ;D

Mfg
08/21/2012 14:31 isaias#3
nice work *thanks*
08/22/2012 09:08 Rubyshdj#4
Quote:
Originally Posted by ÐΣαtђ View Post
#repoted
Wrong Section, comes to Coding Realease's If it's a Realease ;D

Mfg

#repoted
Wrong Section, comes to Coding Realease's If it's a Realease ;D

Mfg
K, i'll repost on the right section
08/09/2013 16:37 groggy171#5
I loaded the script into .au3 file, downloaded NomadMemory (cause I got an error when I tried to run previously), and it runs, I hear the voice say "pointers found" etc.

But in game, nothing happens.

Any advice on what I'm doing wrong? Sorry, I'm pretty newb, probably something obvious I'm missing.

Thanks
08/09/2013 17:08 shive#6
Dude.... 08-21-2012, 14:24
08/09/2013 17:10 groggy171#7
Thanks, didn't notice the date. :(