Guten Tag ^^
Da viele danach gefragt haben, gibt es nun hier den Source
für den "Name Changer" in "Visual Basic.net".
Bypass needed!

Selber updaten ? // Update your self ?
Screenshot
AutoIT
Da viele danach gefragt haben, gibt es nun hier den Source
für den "Name Changer" in "Visual Basic.net".
Bypass needed!

Selber updaten ? // Update your self ?
Screenshot
C++ (DLL)Quote:
$address = findpattern......
$readaddydec = ReadProcessMemory($Handle,$address + 5,"dword")
$Address = "0x" & Hex($readaddydec,8)
For getting that address from the pattern.
Code:
memcpy((uintptr_t*)dwBaseAddr + 0xA4E820, "\x90\x90", 2); // NOP x2 ZeroMemory((uintptr_t*)dwBaseAddr + 0x14AB9BD, 200); strcpy((char*)dwBaseAddr + 0x14AB9BD, "Name");
Code:
#cs ----------------------------------------------------------------------------
AutoIt Version: 3.3.14.2
Author: Zyntex
Script Function:
Simple, old self-updating name changer script
small updated for release - 20.08.2016
- please dont flame me for using nomadmemory here
#ce ----------------------------------------------------------------------------
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include "NomadMemory.au3" ;requires nomadmemory
#RequireAdmin
$ac_stat = False
$pattern = "85 C9 75 07 B8 ?? ?? ?? ?? EB 62"
$ini = [MENTION=2621560]appdata[/MENTION]Dir & "\Namechanger.ini"
$orig_byte = "0x7507"
$len = "char[200]"
If Not ProcessExists("S4Client.exe") Then
MsgBox(16, "error", "Open me ingame.")
EndIf
$pid = ProcessExists("S4Client.exe")
$handle = _MemoryOpen($pid)
If Not FileExists($ini) Then Create()
$name = IniRead($ini, "SETTINGS", "name", "")
$Form_main = GUICreate("Name Changer", 284, 85)
$Input_name = GUICtrlCreateInput($name, 8, 8, 265, 21)
$Button_set_name = GUICtrlCreateButton("Set name", 112, 40, 75, 25)
$Button_disable = GUICtrlCreateButton("Disable", 156, 40, 75, 25)
GUICtrlSetState(-1, $GUI_HIDE)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
_Exit()
Case $Button_set_name
ChangeName()
Case $Button_disable
Disable()
EndSwitch
WEnd
Func Create()
$base = _MemoryModuleGetBaseAddress($pid, "S4Client.exe")
$player_name = _MemoryRead($base + 0x016EB588, $handle) + 0x0
$player_name = "0x" & Hex($player_name, StringLen($player_name))
$player_name_read = _MemoryRead($player_name, $handle, "char[255]")
IniWrite($ini, "SETTINGS", "name", $player_name_read)
EndFunc ;==>Create
Func _Exit()
If $ac_stat = True And ProcessExists("S4Client.exe") Then
If MsgBox(64 + 4, "", "Would you like to turn off the name changer before exiting?") = 6 Then
_MemoryWrite($adr + 2, $handle, $orig_byte, "Byte[2]")
EndIf
EndIf
Exit
EndFunc ;==>_Exit
Func Disable()
_MemoryWrite($adr + 2, $handle, $orig_byte, "Byte[2]")
If [MENTION=2544426]Error T[/MENTION]hen
MsgBox(16, "error", "error: " & [MENTION=299637]ErRoR[/MENTION] & [MENTION=3576271]CRLF[/MENTION] & "(Memory-writing)")
Exit
EndIf
$ac_stat = False
GUICtrlSetState($Button_disable, $GUI_HIDE)
ControlMove("Name Changer", "", $Button_set_name, 112, 40)
EndFunc ;==>Disable
Func ChangeName()
If $ac_stat = False Then
Global $adr = _MemoryScan($handle, $pattern)
If [MENTION=2544426]Error T[/MENTION]hen
MsgBox(16, "error", "error: " & [MENTION=299637]ErRoR[/MENTION] & [MENTION=3576271]CRLF[/MENTION] & "(Pattern-scanning)")
Exit
EndIf
_MemoryWrite($adr + 2, $handle, "0x9090", "Byte[2]")
Global $name_address = _MemoryRead($adr + 5, $handle, "dword")
$name_address = "0x" & Hex($name_address, StringLen($name_address))
$ac_stat = True
GUICtrlSetState($Button_disable, $GUI_SHOW)
ControlMove("Name Changer", "", $Button_set_name, 56, 40)
EndIf
$read = GUICtrlRead($Input_name)
_MemoryWrite($name_address, $handle, $read, "char[" & StringLen($read) + 1 & "]")
If [MENTION=2544426]Error T[/MENTION]hen
MsgBox(16, "error", "error: " & [MENTION=299637]ErRoR[/MENTION] & [MENTION=3576271]CRLF[/MENTION] & "(Memory-writing)")
Exit
EndIf
IniWrite($ini, "SETTINGS", "name", $read)
EndFunc ;==>ChangeName
Func _MemoryScan($ah_Handle, $pattern, $after = False, $iv_addrStart = 0x00000000, $iv_addrEnd = 0X0FFFFFFF, $step = 51200)
$pattern = StringReplace($pattern, " ", "")
$pattern = StringReplace($pattern, "??", "..")
If Not IsArray($ah_Handle) Then
SetError(1)
Return -1
EndIf
$pattern = StringRegExpReplace($pattern, "[^0123456789ABCDEFabcdef.]", "")
If StringLen($pattern) = 0 Then
SetError(2)
Return -2
EndIf
For $addr = $iv_addrStart To $iv_addrEnd Step $step - (StringLen($pattern) / 2)
StringRegExp(_MemoryRead($addr, $ah_Handle, "byte[" & $step & "]"), $pattern, 1, 2)
If Not [MENTION=2544426]Error T[/MENTION]hen
If $after Then
Return StringFormat("0x%.8X", $addr + ((@extended - 2) / 2))
Else
Return StringFormat("0x%.8X", $addr + ((@extended - StringLen($pattern) - 2) / 2))
EndIf
EndIf
Next
SetError(3)
Return -3
EndFunc ;==>_MemoryScan
Func _MemoryModuleGetBaseAddress($iPID, $sModule)
If Not ProcessExists($iPID) Then Return SetError(1, 0, 0)
If Not IsString($sModule) Then Return SetError(2, 0, 0)
Local $PSAPI = DllOpen("psapi.dll")
;Get Process Handle
Local $hProcess
Local $PERMISSION = BitOR(0x0002, 0x0400, 0x0008, 0x0010, 0x0020) ; CREATE_THREAD, QUERY_INFORMATION, VM_OPERATION, VM_READ, VM_WRITE
If $iPID > 0 Then
Local $hProcess = DllCall("kernel32.dll", "ptr", "OpenProcess", "dword", $PERMISSION, "int", 0, "dword", $iPID)
If $hProcess[0] Then
$hProcess = $hProcess[0]
EndIf
EndIf
;EnumProcessModules
Local $Modules = DllStructCreate("ptr[1024]")
Local $aCall = DllCall($PSAPI, "int", "EnumProcessModules", "ptr", $hProcess, "ptr", DllStructGetPtr($Modules), "dword", DllStructGetSize($Modules), "dword*", 0)
If $aCall[4] > 0 Then
Local $iModnum = $aCall[4] / 4
Local $aTemp
For $i = 1 To $iModnum
$aTemp = DllCall($PSAPI, "dword", "GetModuleBaseNameW", "ptr", $hProcess, "ptr", Ptr(DllStructGetData($Modules, 1, $i)), "wstr", "", "dword", 260)
If $aTemp[3] = $sModule Then
DllClose($PSAPI)
Return Ptr(DllStructGetData($Modules, 1, $i))
EndIf
Next
EndIf
DllClose($PSAPI)
Return SetError(-1, 0, 0)
EndFunc ;==>_MemoryModuleGetBaseAddress
Enjoy







