Есть ли стиллер?

MaratSafin

Активный
Автор темы
139
40
Помогите пожалуйста определить, есть ли стиллер в данном скрипте (kamaz aimbot)? Как-то все разобщенно получилось, проверял всем, чем можно, итог:

nxAtsG2.png

mNWq9Ja.png


Код:
{$CLEO .cs}
{$INCLUDE SF}
0000:

repeat
wait 0
until SAMP.Available()
//////////////////////////////////////////////////////////////////////////////////////
var
    $CFG: array 21 of Integer
end
//////////////////////////////////////////////////////////////////////////////////////
const
    FOV = $CFG[0]
    AnyDistance = $CFG[1]
    SkinVector = $CFG[2]
    WallShot = $CFG[3]
    DisableRpcHook = $CFG[20]
    WeaponsUpdate = $CFG[4]
    RandomShot = $CFG[5]
    InCarVictim = $CFG[6] 
    SendRPC = $CFG[7]
    ModelGroup = $CFG[8]
    DrawBlood = $CFG[9]
    BloodDensity = $CFG[10]   
    AutoActivation = $CFG[11]
    ActivationMode = $CFG[12]
    GameKey = $CFG[13]
    ShowMessages = $CFG[14]
    ////// System /////////
    AllowRPC = $CFG[15]
    ActiveStatus = $CFG[16]
    LastTargetHandle = $CFG[17]
    DeagleCounter = $CFG[18]
    CountLimit = $CFG[19]
end
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
gosub @DefaultVarInit
0093: 12@ = integer FOV to_float
0AB1: call @AutoMark 2 AutoActivation ActiveStatus ret_to ActiveStatus
0946: set_actor $PLAYER_ACTOR actions_uninterupted_by_weapon_fire 1
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
0B34: samp register_client_command "kamaz" to_label @cmd_hook
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if DisableRpcHook == 0
then 0BE1: raknet setup_outcoming_rpc_hook @MyRPC_Hook
end
0BE2: raknet setup_outcoming_packet_hook @PACKET_SYNC_HOOK
print " ~w~mihailkamazov ~r~v1.1 ~w~by ~w~AIR" time 300 0

:get_serial
wait 0
0AA2: 1@ = load_library "kernel32.dll"
0AA4: 2@ = get_proc_address "GetVolumeInformationA" library 1@
0AC7: 3@ = var 0@ offset
0AA5: call 2@ num_params 8 pop 0 0 0 0 0 3@ 0 0 0
0AB2: ret 1 0@
///////////////////////////////////////////////////////////////////////////////////////////////////////////
while true
wait 0
    if SAMP.Available()
    then
        if and
            0B61: samp is_local_player_spawned
            8B21: not samp is_chat_opened
        then
            if GameKey <> -1
            then
                if ActivationMode == 2
                then
                    if key_down GameKey
                    then
                        0B12: ActiveStatus = ActiveStatus XOR 1
                        if ShowMessages == 1
                        then
                            if ActiveStatus == 1
                            then print "~w~mihailkamazov ~w~za ~g~ rabotoy" time 1000
                            else print "~w~mihailkamazov ~w~na ~r~ otdixe" time 1000
                            end
                        end
                        wait 228
                    end
                end
                if ActivationMode == 3
                then 0AB1: call @HookKeyModer 2 GameKey ShowMessages ret_to ActiveStatus
                end
            end
        end
    end
end
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:HookKeyModer
0001: wait 0
if key_down 0@
then 2@ = 1
else 2@ = 0
end
if 1@ == 1
then
    if 2@ == 1
    then print "~g~Active" time 50
    end
end
0AB2: ret 1 2@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:cmd_hook
if 0B61: samp is_local_player_spawned
then
    if ShowMessages == 1
    then
        if ActiveStatus == 0
        then print "~w~mihailkamazov ~w~za ~g~ rabotoy" time 3000
        else print "~w~mihailkamazov ~w~na ~r~ otdixe" time 3000
        end
    end
    0B12: ActiveStatus = ActiveStatus XOR 1 
end
0B43: samp cmd_ret
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


0B43: samp cmd_ret
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:AutoMark
0001: wait 0
if 0@ == 1
then 0B12: 1@ = 1@ XOR 1
end
0AB2: ret 1 1@
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:DamageConvert
0001: wait 0  
var
    1@ : Float
end
0470: 0@ = actor $PLAYER_ACTOR current_weapon
if or
    0@ == 22
    0@ == 29
then 1@ = 8.25
end
if 0@ == 23
then 1@ = 13.200000762939453125
end
if or
    0@ == 28
    0@ == 32
then 1@ = 6.6000003814697265625
end
if or
    0@ == 30
    0@ == 31
then 1@ = 9.90000057220458984375
end
if 0@ == 33
then 1@ = 24.7500019073486328125
end
if 0@ == 34
then 1@ = 41.25
end
if or
    0@ == 24
    0@ == 38
then 1@ = 46.200000762939453125
end
if or
    0@ == 25
    0@ == 26
then 1@ = 49.50000286102294921875
end
if 0@ == 27
then 1@ = 39.600002288818359375
end
0AB2: ret 1 1@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:GiveTakeDamageRPC
0001: wait 0
0470: 25@ = actor $PLAYER_ACTOR current_weapon
0209: 15@ = random_int_in_ranges 3 9
0B3D: raknet 4@ = new_bit_stream
0B40: raknet bit_stream 4@ write 0 type BS_TYPE_BOOL size 1
0B40: raknet bit_stream 4@ write 0@ type BS_TYPE_SHORT size 2
0B40: raknet bit_stream 4@ write 1@ type BS_TYPE_FLOAT size 4
0B40: raknet bit_stream 4@ write 25@ type BS_TYPE_INT size 4
0B40: raknet bit_stream 4@ write 15@ type BS_TYPE_INT size 4
0B8A: raknet send_rpc 115 bit_stream 4@    
0B3E: raknet delete_bit_stream 4@
0AB2: ret 0
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:Detour
0001: wait 0
0AB1: call @DamageConvert 0 return_to 13@
0AB1: call @GiveTakeDamageRPC 2 0@ 13@
0AB2: ret 0      
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:SendSilentBullet
0001: wait 0    
00A0: store_actor 3@ position_to 9@ 10@ 11@
00A0: store_actor $PLAYER_ACTOR position_to 19@ 5@ 6@
////////////////////////////////////////////////////
0470: 25@ = actor $PLAYER_ACTOR current_weapon
0B2B: samp 8@ = get_player_id_by_actor_handle 3@
0AC8: 17@ = allocate_memory_size 40
0C0D: struct 17@ offset 0 size 1 = 1
0C0D: struct 17@ offset 1 size 2 = 8@
0C0D: struct 17@ offset 3 size 4 = 19@
0C0D: struct 17@ offset 7 size 4 = 5@
0C0D: struct 17@ offset 11 size 4 = 6@
/////////////////////////////////////////
0C0D: struct 17@ offset 15 size 4 = 9@
0C0D: struct 17@ offset 19 size 4 = 10@
0C0D: struct 17@ offset 23 size 4 = 11@
/////////////////////////////////////////
0098: 22@ = random_float 0.0 _to_ 0.2
0098: 23@ = random_float 0.0 _to_ 0.2
0098: 24@ = random_float 0.0 _to_ 0.5
/////////////////////////////////////////
0063: 28@ = 22@
0063: 29@ = 23@
0063: 30@ = 24@
/////////////////////////////////////////
0209: 27@ = random 1 to_ 10
if 27@ >= 5
then
    22@ = -0.1
    0063: 22@ -= 28@
end
/////////////////////////////////////////
0209: 27@ = random 1 to_ 10
if 27@ >= 5
then
    23@ = -0.1
    0063: 23@ -= 29@
end
/////////////////////////////////////////
0209: 27@ = random 1 to_ 10
if 27@ >= 5
then
    24@ = -0.1
    0063: 24@ -= 30@
end
/////////////////////////////////////////
0C0D: struct 17@ offset 27 size 4 = 22@
0C0D: struct 17@ offset 31 size 4 = 23@
0C0D: struct 17@ offset 35 size 4 = 24@
/////////////////////////////////////////
0C0D: struct 17@ offset 39 size 1 = 25@
0B3D: raknet 12@ = new_bit_stream
0B40: raknet bit_stream 12@ write 206 type BS_TYPE_BYTE size 1    
0B40: raknet bit_stream 12@ write 17@ type BS_TYPE_ARRAY size 40
0B8B: raknet send bit_stream 12@
0B3E: raknet delete_bit_stream 12@
0AC9: free_allocated_memory 17@
if 0@ == 1
then 09B8: create_blood_gush_at 9@ 10@ 11@ with_offset 22@ 23@ 24@ density 2@ on_actor 3@
end
if 4@ == 1
then 0AB1: call @Detour 1 8@
end
0AB2: ret 0
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:ModelGroup
0001: wait 0  
18@ = 1
if 0@ <> 0
then
    0665: get_actor 1@ model_to 17@
    if 0@ == 1
    then
        if or
            17@ == 105
            17@ == 106
            17@ == 107
        then 18@ = 0
        end
    end
    if 0@ == 2
    then
        if or
            17@ == 102
            17@ == 103
            17@ == 104
        then 18@ = 0
        end
    end
    if 0@ == 3
    then
        if or
            17@ == 114
            17@ == 115
            17@ == 116
        then 18@ = 0
        end
    end
    if 0@ == 4
    then
        if or
            17@ == 108
            17@ == 109
            17@ == 110
        then 18@ = 0
        end
    end
    if 0@ == 5
    then
        if or
            17@ == 173
            17@ == 174
            17@ == 175
        then 18@ = 0
        end
    end
    if 0@ == 6
    then
        if or
            17@ == 111
            17@ == 112
            17@ == 125
            17@ == 126
            17@ == 127
        then 18@ = 0
        end
    end
    if 0@ == 7
    then
        if or
            17@ == 113
            17@ == 124
        then 18@ = 0
        end
    end
    if 0@ == 8
    then
        if or
            17@ == 121
            17@ == 122
            17@ == 123
            17@ == 117
            17@ == 118
            17@ == 120 
        then 18@ = 0
        end
    end
    if 18@ == 0
    then
        if 2@ == 1
        then print "~g~Friendly ~r~Fire!" 500
        end
    end
end
0AB2: ret 1 18@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:MyRPC_Hook
0001: wait 0
0BE5: raknet 10@ = get_hook_param PARAM_PACKETID
if 10@ == 115
then
    if ActiveStatus == 1
    then
        if AllowRPC <> 1
        then 0BE0: raknet hook_ret false
        else 0B12: AllowRPC = AllowRPC XOR 1
        end
    end
end
0BE0: raknet hook_ret true
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:GetRandom
wait 0
0470: 2@ = actor $PLAYER_ACTOR current_weapon
if or
    2@ == 28
    2@ == 29
    2@ == 30
    2@ == 31
    2@ == 32
    2@ == 38
then 3@ = 1
else 3@ = 2
end
0209: 19@ = random_int_in_ranges 1 10
if 3@ = 1    
then
    if 19@ <= 2
    then 1@ = 0
    else 1@ = 1
    end
else
    if 82D8: not actor $PLAYER_ACTOR current_weapon == 24
    then
        if 19@ <= 5
        then 1@ = 1
        else 1@ = 0
        end
    else
        if 19@ >= 5
        then 4@ = 2
        else 4@ = 3 
        end
        if 003B: 0@ == 4@
        then 1@ = 1
        else 1@ = 0
        end
    end 
end
ret 2 1@ 4@
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:InTarget
wait 0
0A96: 2@ = actor $PLAYER_ACTOR struct
0A8E: 1@ = 2@ + 0x79C
0A8D: 2@ = read_memory 1@ size 1 virtual_protect 1
if 003B: 2@ == 0@
then ret 1 1
end
ret 1 -1
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:SendValidVector
wait 0
0B2B: samp 9@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0AC8: 11@ = allocate_memory_size 31
0BBE: samp store_player 9@ aim_data 11@
068D: get_camera_position_to 2@ 3@ 14@
Actor.StorePos(0@, 27@, 21@, 31@)
0063: 2@ -= 27@
0063: 3@ -= 21@
0604: get_Z_angle_for_point 2@ 3@ store_to 4@
0C02: math 4@ = angle_to_radian 4@
4@ *= -1.0
0C03: math 2@ = sine 4@
0C05: math 3@ = cosine 4@
2@ *= -1.0
3@ *= -1.0
0C0D: struct 11@ offset 1 size 4 = 2@
0C0D: struct 11@ offset 5 size 4 = 3@
0BC3: samp send_aim_data 11@
0AC9: free_allocated_memory 11@
0AB2: ret 0
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:PACKET_SYNC_HOOK
0001: wait 0
0BE5: raknet 2@ = get_hook_param PARAM_BITSTREAM
0BE5: raknet 3@ = get_hook_param PARAM_PACKETID
///////////////////////////////////////////////////////////////////////////////////////////////
if 3@ == PACKET_WEAPONS_UPDATE
then
    if and
        ActiveStatus == 1
        WeaponsUpdate == 1
    then
        call @InTarget 1 LastTargetHandle ret_to 25@
        if 25@ <> 1
        then
            0BF3: raknet 4@ = bit_stream 2@ get_data_ptr
            0B2B: samp 26@ = get_player_id_by_actor_handle LastTargetHandle
            0C0D: struct 4@ offset 1 size 2 = 26@
        end
    end   
end
///////////////////////////////////////////////////////////////////////////////////////////////
if 3@ == PACKET_BULLET_SYNC
then
    if ActiveStatus == 1
    then
        0470: 15@ = actor $PLAYER_ACTOR current_weapon
        if or
            15@ == 34
            15@ == 33
        then 12@ = 150.0
        else 0093: 12@ = integer FOV to_float
        end
        call @GET_TARGET_ACTOR 6 12@ WallShot ModelGroup ShowMessages AnyDistance InCarVictim ret_to 7@
        if 7@ <> -1
        then
            008A: LastTargetHandle = 7@
            if RandomShot == 0
            then
                if SkinVector == 1
                then call @SendValidVector 1 LastTargetHandle
                end
                0AB1: call @SendSilentBullet 5 DrawBlood AnyDistance BloodDensity LastTargetHandle SendRPC
                0BE0: raknet hook_ret false
            else
                var
                    13@ : Integer
                    19@ : Integer
                end
                if 02D8: actor $PLAYER_ACTOR current_weapon == 24
                then DeagleCounter++
                end
                call @GetRandom 1 DeagleCounter ret_to 13@ CountLimit
                if 02D8: actor $PLAYER_ACTOR current_weapon == 24
                then
                    if DeagleCounter >= CountLimit
                    then DeagleCounter = 0
                    end
                end        
                if 13@ == 1
                then
                    if SkinVector == 1
                    then call @SendValidVector 1 LastTargetHandle
                    end
                    0AB1: call @SendSilentBullet 5 DrawBlood AnyDistance BloodDensity LastTargetHandle SendRPC
                    0BE0: raknet hook_ret false
                else AllowRPC = 1
                end
            end
        end
    end
end
0BE0: raknet hook_ret true
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:ValidDistance
wait 0
0470: 25@ = actor $PLAYER_ACTOR current_weapon
if or
    25@ == 22
    25@ == 23
    25@ == 24
    25@ == 26
    25@ == 28
    25@ == 32
then 0@ = 35.0
end
if or
    25@ == 25
    25@ == 27
then 0@ = 40.0
end
if 25@ == 29   
then 0@ = 45.0
end
if 25@ == 30
then 0@ = 70.0
end
if 25@ == 31
then 0@ = 90.0
end
if 25@ == 33
then 0@ = 100.0
end
if 25@ == 34
then 0@ = 320.0
end
if 25@ == 38
then 0@ = 75.0
end
ret 1 0@
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:GET_TARGET_ACTOR
0001: wait 0
0087: 28@ = 0@  
0A8D: 29@ = read_memory 0xB74490 size 4 virtual_protect 0
000A: 29@ += 0x4
0A8D: 29@ = read_memory 29@ size 4 virtual_protect 0
for 30@ = 0 to 35584 step 0x100
    0A8D: 31@ = read_memory 29@ size 1 virtual_protect 0
    000A: 29@ += 0x1
    if and
        0029:  31@ >= 0x00
        001B:  0x80 > 31@
    then
        005A: 31@ += 30@
        if 056D:  actor 31@ defined
        then
            if 803C: $PLAYER_ACTOR == 31@
            then
                04C4: store_coords_to 27@ 26@ 25@ from_actor 31@ with_offset 0.0 0.0 0.0
                068D: get_camera_position_to 24@ 23@ 22@
                8@ = SAMP.GetSAMPPlayerIDByActorHandle(31@)
                if and
                    8118:  not actor 31@ dead
                    02CB:  actor 31@ bounding_sphere_visible
                    not SAMP.IsPlayerPaused(8@)
                then
                    04C4: store_coords_to 10@ 11@ 12@ from_actor 31@ 0.0 0.0 0.0
                    0AB1: call_scm_func @getScreenXYFrom3DCoords 3 3D_coords_X 10@ Y 11@ Z 12@ store_screen_X_to 13@ Y_to 14@
                    0509: 15@ = distance_between_XY 339.1 179.1 and_XY 13@ 14@
                    if 0035: 28@ >= 15@
                    then
                        if 1@ == 0
                        then
                            if 06BD: no_obstacles_between 27@ 26@ 25@ and 24@ 23@ 22@ solid 1 car 1 actor 0 object 1 particle 1
                            then wait 0
                            else continue
                            end  
                        end
                        /////////////////////////////////////////////////////////////////
                        if 5@ == 0
                        then
                            if 0449: actor 31@ in_a_car
                            then continue
                            end
                        end
                        ////////////////////////////////////////////////////////////////////////   
                        if 4@ == 0
                        then
                            var
                                9@ : Float
                                20@ : Float
                            end
                            0509: 9@ = distance_between_XY 10@ 11@ and_XY 24@ 23@
                            call @ValidDistance 0 ret_to 20@
                            ///////////////////////////////////////////////////////////////////
                            if 9@ >= 20@
                            then continue  
                            end
                        end
                        //////////////////////////////////////////////////////////////////
                        if 2@ <> 0
                        then
                            0AB1: call @ModelGroup 3 2@ 31@ 3@ ret_to 6@
                            if 6@ == 1
                            then 7@ = 1
                            else 7@ = 0
                            end  
                        else 7@ = 1
                        end
                        ////////////////////////////////////////////////////////////////
                        if 7@ == 1
                        then 0AB2: 1 31@
                        else continue
                        end
                    end
                else continue
                end
            end
        end
    end
end
0AB2: 1 -1  
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:getScreenXYFrom3DCoords
0001: wait 0
0AC7: 14@ = var 0@ offset
0AC7: 15@ = var 3@ offset
0AC7: 16@ = var 6@ offset
0AC7: 17@ = var 9@ offset
0AA5: call 0x70CE30 num_params 6 pop 6 0 0 17@ 16@ 15@ 14@
0007: 12@ = 640.0
0007: 13@ = 448.0
0A8D: 14@ = read_memory 0xC17044 size 4 virtual_protect 0
0A8D: 15@ = read_memory 0xC17048 size 4 virtual_protect 0
0093: 14@ = integer 14@ to_float
0093: 15@ = integer 15@ to_float
0073: 12@ /= 14@
0073: 13@ /= 15@
006B: 3@ *= 12@
006B: 4@ *= 13@
0AB2: ret 2 3@ 4@
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
:DefaultVarInit
FOV = 40
AnyDistance = 0
SkinVector = 1
WallShot = 0
WeaponsUpdate = 1
RandomShot = 1
DisableRpcHook = 1
InCarVictim = 0
SendRPC = 1
ModelGroup = 0
DrawBlood = 1
BloodDensity = 20
AutoActivation = 0
ActivationMode = 1
GameKey = -1
ShowMessages = 1
AllowRPC = 0
return

Так есть ли стиллер или нет? И если есть, можно его вырезать? Кто сможет помочь?
 

Вложения

  • mihailkamazov.cs
    41.9 KB · Просмотры: 61