Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос Можно ли переписать 32 битный AHK на 64 битный AHK? Или же наоборот

  • Автор темы Автор темы Bilidzon
  • Дата начала Дата начала
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
4 Янв 2023
Сообщения
54
Реакции
3
Играю с ахк, есть вх и аим, проблема в том что вх 32-ух битная, а аим 64-ëх битный, и я вот думаю может кто-то знает можно ли так сделать? И как вообще?
Играю с ахк, есть вх и аим, проблема в том что вх 32-ух битная, а аим 64-ëх битный, и я вот думаю может кто-то знает можно ли так сделать? И как вообще?
Если у вас есть вх [AHК] 64-битный, то можете пожалуйста скинуть файл? Буду благодарен
 
Прикрепи сурсы аима и вх, тогда можно будет посмотреть:blush:
Вопрос возможно для вас будет глупый, но что такое сурсы?
Вопрос возможно для вас будет глупый, но что такое сурсы?
Вопрос возможно для вас будет глупый, но что такое сурсы?
 
Да, более чем возможно. Просто код на ахк32 не факт, что заработает на ахк64. Но если вопрос стоит именно про "переписать" код, то он странный.
 
Код ВХ
Код:
Expand Collapse Copy
#NoEnv
$F3::
t := !t

Data := t
Size = 1

VarSetCapacity(Buf, Size, 0)
NumPut(Data, Buf, "UInt")

PROCESS_VM_WRITE = 0x20
PROCESS_VM_OPERATION = 0x8

Process, Exist, csgo.exe

If(!ErrorLevel) {
  MsgBox, Run the CS:GO.
}

PID := ErrorLevel

base := GetDllBase("client.dll", ErrorLevel)
Address := base + 1903670
;msgbox % Address

hProcess := DllCall("OpenProcess", "UInt", PROCESS_VM_WRITE | PROCESS_VM_OPERATION
                                 , "Int", False
                                 , "UInt", PID)
If(!hProcess) {
   MsgBox, Failed to read memory.
}

Ret := DllCall("WriteProcessMemory", "UInt", hProcess
                                   , "UInt", Address
                                   , "UInt", &Buf
                                   , "UInt", Size
                                   , "UInt", 0)

DllCall("CloseHandle", "UInt", hProcess)

If(!Ret) {
  MsgBox, Failed to write.
}
return


GetDllBase(DllName, PID = 0)
{
   TH32CS_SNAPMODULE := 0x00000008
    INVALID_HANDLE_VALUE = -1
    VarSetCapacity(me32, 548, 0)
    NumPut(548, me32, "Uint")
    snapMod := DllCall("CreateToolhelp32Snapshot", "Uint", TH32CS_SNAPMODULE
                                                 , "Uint", PID)
    If (snapMod = INVALID_HANDLE_VALUE) {
        Return 0
    }
    If (DllCall("Module32First", "Uint", snapMod, "Uint", &me32)){
        while(DllCall("Module32Next", "Uint", snapMod, "UInt", &me32)) {
            If !DllCall("lstrcmpi", "Str", DllName, "UInt", &me32 + 32) {
                DllCall("CloseHandle", "UInt", snapMod)
                Return NumGet(&me32 + 20)
            }
        }
    }
    DllCall("CloseHandle", "Uint", snapMod)
    Return 0
}

Код аимбота
Код:
Expand Collapse Copy
Msgbox, Ao abrir o game, aperte a tecla F2 e aguarde alguns segundos antes de iniciar uma sala.

Version = 1.0
Traytip, Memory CS:GO Aimbot %version%, Abra seu jogo e aperte F2!, 5, 1


ReadMemory(MADDRESS,PROGRAM)
{
winget, pid, PID, %PROGRAM%
VarSetCapacity(MVALUE,4,0)
ProcessHandle := DllCall("OpenProcess", "Int", 24, "Char", 0, "UInt", pid, "UInt")
DllCall("ReadProcessMemory","UInt",ProcessHandle,"UInt",MADDRESS,"Str",MVALUE,"UInt",4,"UInt *",0)
Loop 4
result += *(&MVALUE + A_Index-1) << 8*(A_Index-1)
return, result
}

WriteMemory(WVALUE,MADDRESS,PROGRAM)
{
winget, pid, PID, %PROGRAM%
ProcessHandle := DllCall("OpenProcess", "int", 2035711, "char", 0, "UInt", PID, "UInt")
DllCall("WriteProcessMemory", "UInt", ProcessHandle, "UInt", MADDRESS, "Uint*", WVALUE,"Uint", 4, "Uint *", 0)

DllCall("CloseHandle", "int", ProcessHandle)
return
}

PlayerBase = 0xD8B2BC
EntityBase = 0x4DA2F44
ClientState = 0x58EFE4
CrossHairOffset = 0xB3E4
PositionOffset = 0x138
TeamOffset = 0xF4
HealthOffset = 0x100
MemoryIncrement = 0x10
ClientStateViewAngleOffset = 0x4D10
CLientMemoryAddress = client_panorama.dll

*~$F2::
Soundbeep
localplayer:=ReadMemory(clientMemoryAddress+playerbase,"Counter-Strike: Global Offensive")
CrosshairID:=ReadMemory(localplayer+crosshairoffset,"Counter-Strike: Global Offensive")
Enemyincrosshair:=ReadMemory(clientMemoryAddress+entitybase+((crosshairid - 1)*memoryincrement),"Counter-Strike: Global Offensive")
EnemyHealth:=ReadMemory(Enemyincrosshair+Healthoffset,"Counter-Strike: Global Offensive")
EnemyTeam:=ReadMemory(Enemyincrosshair+Teamoffset,"Counter-Strike: Global Offensive")
LocalTeam:=ReadMemory(LocalPLayer+Teamoffset,"Counter-Strike: Global Offensive")
if (CrossHairID > 0 && EnemyTeam!=LocalTeam && EnemyTeam)
{
DllCall("mouse_event", uint,1, int,0, int,0, uint,0, int,0 )
}
c=0
flag = false
i=1
(i<32)
i++
Currentbaseaddress:=ReadMemory(ClientMemoryAddress+Entitybase + (i * MemoryIncrement),"Counter-Strike: Global Offensive")
Entity.x:=ReadMemory(Currentbaseaddress+positionoffset,"Counter-Strike: Global Offensive")
Entity.y:=ReadMemory(Currentbaseaddress+positionoffset + 4,"Counter-Strike: Global Offensive")
Entity.z:=ReadMemory(Currentbaseaddress+positionoffset + 8,"Counter-Strike: Global Offensive")
Entity.health:=ReadMemory(Currentbaseaddress+healthoffset,"Counter-Strike: Global Offensive")
Entity.teamid:=ReadMemory(Currentbaseaddress+teamoffset,"Counter-Strike: Global Offensive")
Entity.distance:=sqrt(((player.x-entity.x),2) +((player.y-entity.y),2) + ((player.z-entity.z),2)  )
if(entity.health > 0 && player.teamID != entity.teamID)
        {
            enemyDistance[c] = entity.distance
            enemyID[c++] = i
        }
i=0
(i<c-1)
i++
j=i+1
(j<c)
j++
if(enemyDistance[j]<enemyDistance)
            {
                enemyDistance=enemyDistance+enemyDistance[j]
                enemyDistance[j]=enemyDistance-enemyDistance[j]
                enemyDistance=enemyDistance-enemyDistance[j]
                enemyID = enemyID + enemyID[j]
                enemyID[j] = enemyID - enemyID[j]
                enemyID = enemyID - enemyID[j]
                
            }
Currentbaseaddress:=ReadMemory(ClientMemoryAddress+Playerbase,"Counter-Strike: Global Offensive")
Player.x:=ReadMemory(ClientMemoryAddress+Positionoffset,"Counter-Strike: Global Offensive")
Player.y:=ReadMemory(ClientMemoryAddress+Positionoffset+4,"Counter-Strike: Global Offensive")
Player.z:=ReadMemory(ClientMemoryAddress+Positionoffset+8,"Counter-Strike: Global Offensive")
Player.health:=ReadMemory(Client+healthoffset,"Counter-Strike: Global Offensive")
Player.teamid:=ReadMemory(Client+teamoffset,"Counter-Strike: Global Offensive")
player.distance := -1

distance_X = entity.x - player.x
distance_Y = entity.y - player.y
    distance_Z = entity.z - player.z - ycorr
  distance_XY_Plane = sqrt((distance_X, 2) + (distance_Y, 2))
    if((distance_X / distance_XY_Plane) > 1 || (distance_X / distance_XY_Plane) < -1)
{
        
   x_r = acos(distance_X / distance_XY_Plane) * 180 / 3.141592
    x_r *= (entity.y < player.y) ? -1 : 1
    y_r = -1 * atan(distance_Z / distance_XY_Plane) * 180 / 3.141592
    changeAngle(x_r,y_r)
}
changeAngle(xangle, yangle)
{
WriteMemory(xangle,client+clientstateviewangleoffset,"Counter-Strike: Global Offensive")
WriteMemory(yangle,client+clientstateviewangleoffset,"Counter-Strike: Global Offensive")
}
main()
{
aimto = 0
client:=ReadMemory(Enginememoryaddress+clientstate,"Counter-Strike: Global Offensive")
localplayer:=ReadMemory(clientmemoryaddress+Playerbase,"Counter-Strike: Global Offensive")
localteam:=ReadMemory(localplayer+teamoffset,"Counter-Strike: Global Offensive")
crosshairid:=ReadMemory(localplayer+crosshairoffset,"Counter-Strike: Global Offensive")
if(aimto<0)
            aimto = 0
}
 
Последнее редактирование модератором:
Да, более чем возможно. Просто код на ахк32 не факт, что заработает на ахк64. Но если вопрос стоит именно про "переписать" код, то он странный.
То есть, нужно написать новый вх на 64х битной системе? Переписать нельзя?
 
То есть, нужно написать новый вх на 64х битной системе? Переписать нельзя?
Твой вопрос, включая саму тему, впринципе крайне странный. Я читаю и вообще не могу понять что тебе нужно. Можешь конкретно сформулировать свой вопрос целиком, что и зачем тебе надо?
 
Я так понимаю проблема в том, что два скрипта не работают одновременно? Если так, то я думаю что корень проблемы может лежать в том, что в ахк нет в принципе многопотоковости, то есть, если у тебя без остановки выполняется один скрипт, то другой работать не будет. Я немного полистал код, если ты уверен, что проблема в том, что скрипты разной разрядности то попробуй запустить через 64 бит ярлык тот, что у тебя 32 битный и наоборот. О многопотоковости, кстати, если в этом все таки проблема, то запускай сначала вх, там нет ни одного цикла, скрипт просто прописывает чамсы(грубо говоря) в память игры и после этого отключается. Но учитывая то, что код в таком виде прочитать просто очень тяжело, так как я даже не понимаю где заканчиваются операторные скобки, то возможно что я сейчас вру и в таком случае два скрипта у тебя одновременно точно работать не будут и единственным выходом из положения будет является решение переписать код и засунуть один скрипт в другой, чтобы они работали вместе. А вообще я бы не советовал пользоваться таким вх и аимом, которые без всякой защиты просто пишут что то в память игры, вероятность отлететь от VAC'а очень высока :blush:
 
Твой вопрос, включая саму тему, впринципе крайне странный. Я читаю и вообще не могу понять что тебе нужно. Можешь конкретно сформулировать свой вопрос целиком, что и зачем тебе надо?
Я так понимаю проблема в том, что два скрипта не работают одновременно? Если так, то я думаю что корень проблемы может лежать в том, что в ахк нет в принципе многопотоковости, то есть, если у тебя без остановки выполняется один скрипт, то другой работать не будет. Я немного полистал код, если ты уверен, что проблема в том, что скрипты разной разрядности то попробуй запустить через 64 бит ярлык тот, что у тебя 32 битный и наоборот. О многопотоковости, кстати, если в этом все таки проблема, то запускай сначала вх, там нет ни одного цикла, скрипт просто прописывает чамсы(грубо говоря) в память игры и после этого отключается. Но учитывая то, что код в таком виде прочитать просто очень тяжело, так как я даже не понимаю где заканчиваются операторные скобки, то возможно что я сейчас вру и в таком случае два скрипта у тебя одновременно точно работать не будут и единственным выходом из положения будет является решение переписать код и засунуть один скрипт в другой, чтобы они работали вместе. А вообще я бы не советовал пользоваться таким вх и аимом, которые без всякой защиты просто пишут что то в память игры, вероятность отлететь от VAC'а очень высока :blush:
Возможно они не работают одновременно, но как утверждал автор аима, этот аим может работать и на 64 бит, и на 32 бит, но когда я играю с аимом на 64 бит ( без вх) то аим работает, а когда на 32 бит то вх работает, а аим с трудом работает, а возможно он даже не работает. По поводу вака, играю вроде месяц, или 3 недели
Твой вопрос, включая саму тему, впринципе крайне странный. Я читаю и вообще не могу понять что тебе нужно. Можешь конкретно сформулировать свой вопрос целиком, что и зачем тебе надо?
Я хочу играть с аимом и вх, но не могу потому что аим 64 бит, а вх 32 бит, как быть в таком случае
 
Последнее редактирование:
Возможно они не работают одновременно, но как утверждал автор аима, этот аим может работать и на 64 бит, и на 32 бит, но когда я играю с аимом на 64 бит ( без вх) то аим работает, а когда на 32 бит то вх работает, а аим с трудом работает, а возможно он даже не работает. По поводу вака, играю вроде месяц, или 3 недели

Я хочу играть с аимом и вх, но не могу потому что аим 64 бит, а вх 32 бит, как быть в таком случае
Значит проблема в том, что ты одновременно запускаешь два скрипта, я вообще не понимаю особо причем тут разрядность. Как я писал выше, в ахк нет многопотоковости, один скрипт не будет работать, пока второй не закончит работу. Единственным разумным решением я считаю переписать код и засунуть два скрпита в один.
 
Значит проблема в том, что ты одновременно запускаешь два скрипта, я вообще не понимаю особо причем тут разрядность. Как я писал выше, в ахк нет многопотоковости, один скрипт не будет работать, пока второй не закончит работу. Единственным разумным решением я считаю переписать код и засунуть два скрпита в один.
?, это уже будет мульти ахк получается, я хз как такое делать
 
Значит проблема в том, что ты одновременно запускаешь два скрипта, я вообще не понимаю особо причем тут разрядность. Как я писал выше, в ахк нет многопотоковости, один скрипт не будет работать, пока второй не закончит работу. Единственным разумным решением я считаю переписать код и засунуть два скрпита в один.
многопоточности*
 
Назад
Сверху Снизу