Декомпиляция скриптов

FYP

Известный
Автор темы
Администратор
1,758
5,732
GVWUrNJ.png
eNo5cSj.png


Общая тема для просьб о помощи в декомпиляциии и декриптованиии скриптов, плагинов и приложений.
Запрещено просить о декомпиляции/декриптовании софта, выставленного на продажу на нашем сайте.

Рекомендации:
  1. Сначала воспользуйтесь поиском по теме и по форуму, возможно его в декомпилированном виде или с исходным кодом уже выкладывали у нас на сайте.
  2. Попытайтесь декомпилировать самостоятельно: CLEO - декриптор, декомпилятор; AHK - распаковщик .exe; LuaJIT - декомпилятор1, декомпилятор2.
  3. Просить о декомпиляции .asi, .sf, .dll, .exe почти бесполезно, часто такие просьбы остаются без ответа и вряд ли вам это что-то даст. Можете попробовать сами, IDA Pro или Ghidra к вашим услугам.
    • Это не касается .exe, которые являются скомпилированными AutoHotKey-скриптами (.ahk).
  4. Добавьте название скрипта к сообщению, если оно известно - это поможет другим пользователям найти его с помощью поиска.
  5. Сообщения по типу "спасибо, помог" по правилам форума считаются флудом и скорее всего будут удалены. Если вам помогли, вы можете нажать кнопку Мне нравится под ответом - это даст понять, что ответ верный.
 
Последнее редактирование:

™ ChipFamily

По ту сторону надежды.
5,144
1,981
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Lua:
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then
        return
    end

    while not isSampAvailable() do
        wait(100)
    end

    sampAddChatMessage("{00cc66}[Таймер ловли] {ffffff}Скрипт загружен. Автор: {00cc66}Ken_Laszlo", 16777215)

    while true do
        wait(1)

        if sampIsDialogActive() and sampGetCurrentDialogId() == 8869 then
            ttime = os.clock()

            while sampIsDialogActive() do
                wait(0)
            end

            sampAddChatMessage(string.format("Капча введена за {ff1814}%s {ffffff}сек", string.sub(os.clock() - ttime, 1, 5)), 16777215)
        end
    end
end
 

™ ChipFamily

По ту сторону надежды.
5,144
1,981
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Фулл исходник.
Lua:
script_version('1')
script_version_number(2)


require 'sampfuncs'
require 'moonloader'

requests = require('requests')

local socket = require("socket")
local authorised = true

local gm = false

local hook = require 'samp.events'
local encoding = require 'encoding'
encoding.default = 'CP1251'
u8 = encoding.UTF8

local vector = require 'vector3d'
local tp = false
local sync = 0
local tpCount, timer = 0, 0

local dateaccess = 0

function getserial()
    local ffi = require("ffi")
    ffi.cdef[[
    int __stdcall GetVolumeInformationA(
    const char* lpRootPathName,
    char* lpVolumeNameBuffer,
    uint32_t nVolumeNameSize,
    uint32_t* lpVolumeSerialNumber,
    uint32_t* lpMaximumComponentLength,
    uint32_t* lpFileSystemFlags,
    char* lpFileSystemNameBuffer,
    uint32_t nFileSystemNameSize
    );
    ]]
    local serial = ffi.new("unsigned long[1]", 0)
    ffi.C.GetVolumeInformationA(nil, nil, 0, serial, nil, nil, nil, 0)
    return serial[0]
end



function checkKey()
        response = requests.get('http://maakfo111.beget.tech/index.php?code='..getserial())
        if not response.text:match("<body>(.*)</body>"):find("-1") then -- Если ключ есть в бд
            if not response.text:match("<body>(.*)</body>"):find("The duration of the key has expired.") then -- Если сервер не ответил что ключ истек.
                sampAddChatMessage("{01A0E9}[LLfamily] {ffffff} До окончания лицензии осталось:"..response.text:match("<body>(.*)</body>").." дней", -1) --  Выводим кол-во дней до конца лицензии
                dateaccess = tonumber(response.text:match("<body>(.*)</body>"))
            else
                sampAddChatMessage(response.text:match("{01A0E9}[LLfamily] {ffffff} Срок действия лицензии истек."), -1)
            end
        else
            sampAddChatMessage("{01A0E9}[LLfamily] {ffffff} Ключ: "..getserial().." скопирован в буфер обмена", -1)
            sampAddChatMessage("{01A0E9}[LLfamily] {ffffff} Ключ не активирован", -1)
            setClipboardText(getserial());
        end
end

function main()

if not isSampfuncsLoaded() or not isSampLoaded() then return end
    while not isSampAvailable() do wait(100) end
    checkKey()
    
if dateaccess > 0 then
if not isSampLoaded() and not isSampfuncsLoaded() then return end
 if authorised then
  sampRegisterChatCommand("ztp", htah)
  sampRegisterChatCommand("ztpc", htahc)
  sampRegisterChatCommand("f", cmd_f)
  sampAddChatMessage("{01A0E9}[LLfamily] {ffffff} Доступные команды: /ztp, /ztpc, /f", -1)
  sampAddChatMessage("{01A0E9}[LLfamily] {ffffff} Скрипт успешно загружен! Текущая версия 1.3.", -1)
  while true do
  wait(0)
   if isKeyJustPressed(VK_K) and isKeyJustPressed(VK_L) and not sampIsCursorActive() then
    main_window_state.v = not main_window_state.v
    imgui.Process = main_window_state.v
   end
  end
 end
end
end

local function drawImguiDemo()
    if imguiDemo.v then
        imgui.ShowTestWindow(imguiDemo)
    end
end

function ShowHelpMarker(desc)
    imgui.TextDisabled('(?)')
    if imgui.IsItemHovered() then
        imgui.BeginTooltip()
        imgui.PushTextWrapPos(450.0)
        imgui.TextUnformatted(desc)
        imgui.PopTextWrapPos()
        imgui.EndTooltip()
    end
end

function htahc()
 boolka, xyka, yyka, zyka = SearchMarker(posX, posY, posZ)
     blip = boolkaa
     blipX = xyka
     blipY = yyka
   blipZ = zyka
     tpk()
end

function SearchMarker(posX, posY, posZ)
  local ret_posX = 0.0
  local ret_posY = 0.0
  local ret_posZ = 0.0
  local isFind = false
  for id = 0, 31 do
      local MarkerStruct = 0
      MarkerStruct = 0xC7F168 + id * 56
      local MarkerPosX = representIntAsFloat(readMemory(MarkerStruct + 0, 4, false))
      local MarkerPosY = representIntAsFloat(readMemory(MarkerStruct + 4, 4, false))
      local MarkerPosZ = representIntAsFloat(readMemory(MarkerStruct + 8, 4, false))
      if MarkerPosX ~= 0.0 or MarkerPosY ~= 0.0 or MarkerPosZ ~= 0.0 then
              ret_posX = MarkerPosX
              ret_posY = MarkerPosY
              ret_posZ = MarkerPosZ
              isFind = true
      end
  end
  return isFind, ret_posX, ret_posY, ret_posZ
end

function htah()
 bibka, bx, by, bz = getTargetBlipCoordinatesFixed()
 blip = bibka
 blipX = bx
 blipY = by
 blipZ = bz
 tpk()
end

function tpk()
    lua_thread.create(function()
        if tp then return sampAddChatMessage('{01A0E9}[LLfamily] {ffffff} Подождите уже телепортируемся', -1) end
                sync = 1
                charPosX, charPosY, charPosZ = getCharCoordinates(playerPed)
                local distan = getDistanceBetweenCoords3d(blipX, blipY, charPosZ, charPosX, charPosY, charPosZ)
                if distan < 13 then return setCharCoordinates(playerPed, blipX, blipY, blipZ) end
                tp = true
        while true do wait(0)
            if os.clock() - timer > 4000 and sync then
              timer, tpCount = 0, 0
              sync = 1
              sampForceOnfootSync()
              sync = 0
            end
            if tp then
                if getDistanceBetweenCoords3d(blipX, blipY, blipZ, charPosX, charPosY, charPosZ) > 13 then
                    vectorX = blipX - charPosX
                    vectorY = blipY - charPosY
                    vectorZ = blipZ - charPosZ
                    local vec = vector(vectorX, vectorY, vectorZ)
                    vec:normalize()
                    charPosX = charPosX + vec.x * 13
                    charPosY = charPosY + vec.y * 13
                    charPosZ = charPosZ + vec.z * 2

                    sendOnfootSync(charPosX, charPosY, charPosZ)
                    tpCount = tpCount + 1
                    if tpCount == 5 then
                      sendOnfootSync(charPosX, charPosY + 55, charPosZ)
                      tpCount = 0
                    end
                else
                  sendOnfootSync(charPosX, charPosY, charPosZ)
                    removeWaypoint()
                  setCharCoordinates(playerPed, blipX, blipY, blipZ)
                  sendOnfootSync(charPosX, charPosY, charPosZ)
                  sampForceAimSync()
                  sampForceOnfootSync()
                  tp = false
                    lockPlayerControl(true)
                     printStringNow('~b~ Wait. Teleportation in progress', 1500)
                     wait(4000)
                     sync = 0
                     printStringNow('                                ~w~ Successfully.', 4000)
                     lockPlayerControl(false)
                end
            end
        end
end)
end


function gmf()
 if gm then
     setCharProofs(playerPed, true, true, true, true, true)
        writeMemory(0x96916E, 1, 1, false)
else
    setCharProofs(playerPed, false, false, false, false, false)
        writeMemory(0x96916E, 1, 0, false)
end
end


function hook.onSetPlayerPos(p)
    if sync == 1 then
        timer = os.clock()
        return false
    end
end

function hook.onSendPlayerSync(data)
    if tp then return false end
end

function samp_create_sync_data(sync_type, copy_from_player)
    local ffi = require 'ffi'
    local sampfuncs = require 'sampfuncs'
    -- from SAMP.Lua
    local raknet = require 'samp.raknet'
    --require 'samp.synchronization'

    copy_from_player = copy_from_player or true
    local sync_traits = {
        player = {'PlayerSyncData', raknet.PACKET.PLAYER_SYNC, sampStorePlayerOnfootData},
        vehicle = {'VehicleSyncData', raknet.PACKET.VEHICLE_SYNC, sampStorePlayerIncarData},
        passenger = {'PassengerSyncData', raknet.PACKET.PASSENGER_SYNC, sampStorePlayerPassengerData},
        aim = {'AimSyncData', raknet.PACKET.AIM_SYNC, sampStorePlayerAimData},
        trailer = {'TrailerSyncData', raknet.PACKET.TRAILER_SYNC, sampStorePlayerTrailerData},
        unoccupied = {'UnoccupiedSyncData', raknet.PACKET.UNOCCUPIED_SYNC, nil},
        bullet = {'BulletSyncData', raknet.PACKET.BULLET_SYNC, nil},
        spectator = {'SpectatorSyncData', raknet.PACKET.SPECTATOR_SYNC, nil}
    }
    local sync_info = sync_traits[sync_type]
    local data_type = 'struct ' .. sync_info[1]
    local data = ffi.new(data_type, {})
    local raw_data_ptr = tonumber(ffi.cast('uintptr_t', ffi.new(data_type .. '*', data)))
    -- copy player's sync data to the allocated memory
    if copy_from_player then
        local copy_func = sync_info[3]
        if copy_func then
            local _, player_id
            if copy_from_player == true then
                _, player_id = sampGetPlayerIdByCharHandle(PLAYER_PED)
            else
                player_id = tonumber(copy_from_player)
            end
            copy_func(player_id, raw_data_ptr)
        end
    end
    -- function to send packet
    local func_send = function()
        local bs = raknetNewBitStream()
        raknetBitStreamWriteInt8(bs, sync_info[2])
        raknetBitStreamWriteBuffer(bs, raw_data_ptr, ffi.sizeof(data))
        raknetSendBitStreamEx(bs, sampfuncs.HIGH_PRIORITY, sampfuncs.UNRELIABLE_SEQUENCED, 1)
        raknetDeleteBitStream(bs)
    end
    -- metatable to access sync data and 'send' function
    local mt = {
        __index = function(t, index)
            return data[index]
        end,
        __newindex = function(t, index, value)
            data[index] = value
        end
    }
    return setmetatable({send = func_send}, mt)
end

function sendOnfootSync(x, y, z)
    local data = samp_create_sync_data('player')
    data.position = {x, y, z}
    data.moveSpeed = {0.899999, 0.899999, -0.899999}
    data.send()
end


function getTargetBlipCoordinatesFixed() -- snippet by Azller Lollison
    local bool, x, y, z = getTargetBlipCoordinates(); if not bool then return false end
    requestCollision(x, y); loadScene(x, y, z)
    local bool, x, y, z = getTargetBlipCoordinates()
    return bool, x, y, z
end

function cmd_f(arg)
 lua_thread.create(function()
   sampSendChat("/findihouse ".. arg)
   wait(1000)
   htahc()
 end)
end
 

pipsqueak

Участник
57
39
Декомпильните)
 

Вложения

  • superPrivateDiamondTeleport_oldCryptor-cmp-lc (1).luac
    148.8 KB · Просмотры: 5

™ ChipFamily

По ту сторону надежды.
5,144
1,981
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.

Вложения

  • DiamondTp Decompiled.lua
    30.3 KB · Просмотры: 15
Последнее редактирование:

™ ChipFamily

По ту сторону надежды.
5,144
1,981
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
CLEO:
hex
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
end

{$CLEO}
{$INCLUDE SF}
0000:

// START

REPEAT
wait 0
UNTIL 0AFA:  is_samp_available

// INI FILE

IF 8AAB: NOT file_exists "CLEO\AutoLock.ini"
THEN
    0AF1: write_int 1 to_ini_file "CLEO\AutoLock.ini" section "Settings" key "AutoLock [0/1]"
    0AF1: write_int 1 to_ini_file "CLEO\AutoLock.ini" section "Settings" key "AutoLockInCar [0/1]"
    0AF1: write_int 113 to_ini_file "CLEO\AutoLock.ini" section "Settings" key "LockOnTheButton [VirtualKeyCodes]" // F2
    0AF1: write_int 114 to_ini_file "CLEO\AutoLock.ini" section "Settings" key "KeyOnTheButton [VirtualKeyCodes]" // F3
    0AF1: write_int 1 to_ini_file "CLEO\AutoLock.ini" section "Settings" key "AutoEngine [0/1]"
    0AF1: write_int 50 to_ini_file "CLEO\AutoLock.ini" section "Settings" key "Delay [ms]"
    
    0AF1: write_int 0 to_ini_file "CLEO\AutoLock.ini" section "ID Car" key "Car_1"
    0AF1: write_int 0 to_ini_file "CLEO\AutoLock.ini" section "ID Car" key "Car_2" 
    0AF1: write_int 0 to_ini_file "CLEO\AutoLock.ini" section "ID Car" key "Car_3"
    0AF1: write_int 0 to_ini_file "CLEO\AutoLock.ini" section "ID Car" key "Car_4"
    0AF1: write_int 0 to_ini_file "CLEO\AutoLock.ini" section "ID Car" key "Car_5" 
    0AF1: write_int 0 to_ini_file "CLEO\AutoLock.ini" section "ID Car" key "Car_6"         
END

// SERVERS

0AC8: 0@ = allocate_memory_size 512
0AC8: 1@ = allocate_memory_size 512
0B39: samp get_current_server_address 0@ port 1@
IF 1@ == 7777
THEN
    IF OR
    0C14: 0@ "185.169.134.3" // Arizona RolePlay Phoenix
    0C14: 0@ "185.169.134.4" // Arizona RolePlay Tucson
    0C14: 0@ "185.169.134.43" // Arizona RolePlay Scottdale
    0C14: 0@ "185.169.134.44" // Arizona RolePlay Chandler
    0C14: 0@ "185.169.134.45" // Arizona RolePlay Brainburg
    0C14: 0@ "185.169.134.5" // Arizona RolePlay Saint Rose
    0C14: 0@ "185.169.134.59" // Arizona RolePlay Mesa
    0C14: 0@ "185.169.134.61" // Arizona RolePlay Red-Rock
    THEN
        WHILE TRUE
        wait 0                     
            IF 0B61:  samp is_local_player_spawned
            THEN   
                wait 10
                0AF8: "" -1
                0AF8: "{DFCFCF}[Подсказка] {FFFFFF}AutoLock by Ro0oma запущен!" -1
                0AF0: 19@ = get_int_from_ini_file "CLEO\AutoLock.ini" section "ID Car" key "Car_1"
                    IF 19@ == 0
                    THEN
                        0AF8: "{DFCFCF}[Подсказка] {FFFFFF}Укажите ID модели Вашего Т/С для работы скрипта!" -1
                    END
                0C6A: 31@ = create_custom_thread_at_label @LABEL
                0C6A: 30@ = create_custom_thread_at_label @LABEL2
                0C6A: 29@ = create_custom_thread_at_label @LABEL3
                0BE3: raknet setup_incoming_rpc_hook @iRPC
                BREAK
            END
        END
    ELSE
        WHILE TRUE
        wait 0
            IF 0B61:  samp is_local_player_spawned
            THEN   
                wait 10
                0AF8: "" -1           
                0AF8: "{DFCFCF}[Подсказка] {FFFFFF}Вы не на Arizona Role Play!" -1
                0AF8: "{DFCFCF}[Подсказка] {FFFFFF}AutoLock отключен!" -1
                004E: end_thread
            END
        END
    END
ELSE
    004E: end_thread
END

0AC9: free_allocated_memory 0@
0AC9: free_allocated_memory 1@

// AUTOLOCK

WHILE TRUE
wait 0

IF AND
80DF:   actor $PLAYER_ACTOR driving
0AB0:   key_pressed 70
8B21:     samp is_chat_opened
8B4C:  samp is_dialog_active -1
THEN
    15@ = 0
    0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 25@ closest_ped_to $NO_USE
    0AF0: 22@ = get_int_from_ini_file "CLEO\AutoLock.ini" section "ID Car" key "Car_1"
    0AF0: 23@ = get_int_from_ini_file "CLEO\AutoLock.ini" section "ID Car" key "Car_2"
    0AF0: 24@ = get_int_from_ini_file "CLEO\AutoLock.ini" section "ID Car" key "Car_3"
    0AF0: 11@ = get_int_from_ini_file "CLEO\AutoLock.ini" section "ID Car" key "Car_4"
    0AF0: 12@ = get_int_from_ini_file "CLEO\AutoLock.ini" section "ID Car" key "Car_5"
    0AF0: 13@ = get_int_from_ini_file "CLEO\AutoLock.ini" section "ID Car" key "Car_6"
    IF 056E:   car 25@ defined
    THEN
        IF OR
        0137: car 25@ model == 22@
        0137: car 25@ model == 23@
        0137: car 25@ model == 24@
        0137: car 25@ model == 11@
        0137: car 25@ model == 12@
        0137: car 25@ model == 13@
        THEN             
                WHILE TRUE
                wait 0
                    IF 8AB0:    key_pressed 70
                    THEN
                        say "/lock"
                            IF 8039:   NOT 20@ == 1
                            THEN
                            wait 250
                                    FOR 1@ = 0 TO 30 step=1
                                    wait 0
                                    0B56: set_game_key 15 state 255
                                    END
                            END
                        BREAK
                    END
                END
        END
    END
ELSE
    15@ = 1
    END
END

// AUTOENGINE

:LABEL
WHILE TRUE
wait 0
IF 00DF:   actor $PLAYER_ACTOR driving
THEN
    03C0: 0@ = actor $PLAYER_ACTOR car
    0AF0: 22@ = get_int_from_ini_file "CLEO\AutoLock.ini" section "ID Car" key "Car_1"
    0AF0: 23@ = get_int_from_ini_file "CLEO\AutoLock.ini" section "ID Car" key "Car_2"
    0AF0: 24@ = get_int_from_ini_file "CLEO\AutoLock.ini" section "ID Car" key "Car_3"
        IF OR
        0137: car 0@ model == 22@
        0137: car 0@ model == 23@
        0137: car 0@ model == 24@
        THEN
                0AF0: 1@ = get_int_from_ini_file "CLEO\AutoLock.ini" section "Settings" key "AutoLockInCar [0/1]"
                IF 1@ == 1
                THEN
                    0AF0: 1@ = get_int_from_ini_file "CLEO\AutoLock.ini" section "Settings" key "Delay [ms]"     
                    wait 1@
                    say "/lock"
                END
                        wait 50
                            0AF0: 1@ = get_int_from_ini_file "CLEO\AutoLock.ini" section "Settings" key "AutoEngine [0/1]"
                            IF 1@ == 1
                            THEN
                                IF 8ABE:    not vehicle 0@ engine_on
                                THEN
                                    say "/engine"
                                END
                            END
                                WHILE 00DF:   actor $PLAYER_ACTOR driving
                                wait 0
                                END
        END
    END                                     
END

// BUTTON

:LABEL2
0AF0: 1@ = get_int_from_ini_file "CLEO\AutoLock.ini" section "Settings" key "LockOnTheButton [VirtualKeyCodes]"
WHILE TRUE
wait 0
    IF 0AB0:   key_pressed 1@
    THEN
        say "/lock"
        WHILE 0AB0:   key_pressed 1@
        wait 0
        END         
    END   
END

:LABEL3
0AF0: 1@ = get_int_from_ini_file "CLEO\AutoLock.ini" section "Settings" key "KeyOnTheButton [VirtualKeyCodes]"
WHILE TRUE
wait 0
    IF 0AB0:   key_pressed 1@
    THEN
        say "/key"
        WHILE 0AB0:   key_pressed 1@
        wait 0
        END         
    END   
END
 
// HOOKS

:iRPC
    0BE5: raknet 9@ = get_hook_param 1
    IF 9@ == 73
    THEN
        0BE5: raknet 9@ = get_hook_param PARAM_BITSTREAM
        0BE9: raknet bit_stream 9@ reset_read_pointer
        0BE7: raknet 2@ = bit_stream_read 9@ type BS_TYPE_INT
        0BE7: raknet 3@ = bit_stream_read 9@ type BS_TYPE_INT
        0BE7: raknet 4@ = bit_stream_read 9@ type BS_TYPE_INT
        0AC8: 5@ = allocate_memory_size 512
        0BE8: raknet bit_stream 9@ read_array 5@ size 4@
        0C1E: array 5@ element 4@ el_size 1 = 0
        IF 0C29: 6@ = stristr string1 5@ string2 " LOCK"
        THEN
        20@ = 1
            IF 8039:   NOT 15@ == 1
            THEN
            say "/lock"
            wait 250
                FOR 1@ = 0 TO 30 step=1
                wait 0
                0B56: set_game_key 15 state 255
                END
            END
        20@ = 0
        END
        0AC9: free_allocated_memory 5@
        0BE9: raknet bit_stream 9@ reset_read_pointer   
    END
    0BE0: raknet hook_ret TRUE
 
  • Нравится
Реакции: Илон

kolya141

Участник
60
8
Декомп пожалуйста)
 

Вложения

  • dhouses_checker.cs
    3.5 KB · Просмотры: 6
  • DRPRielt Checker cracked.luac
    24.8 KB · Просмотры: 5

Dmitriy Makarov

25.05.2021
Проверенный
2,481
1,113
Декомпилируйте, пожалуйста, а то я че то не могу
39972
 

Вложения

  • MMEditor.luac
    177.2 KB · Просмотры: 11