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

FYP

Известный
Автор темы
Администратор
1,768
5,954
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. Сообщения по типу "спасибо, помог" по правилам форума считаются флудом и скорее всего будут удалены. Если вам помогли, вы можете нажать кнопку Мне нравится под ответом - это даст понять, что ответ верный.
 
Последнее редактирование:
D

deleted-user-485807

Гость

Файл требует деобфускации, чтобы получить нормальный вид, создается таблица fwbDVxBw, которая содержит в себе большое кол-во строк, записанных в виде escape-последовательности символов, типо \013\01
UPD: приложил деобфусцированный файл, надо фиксить, чтобы он работал.
 

Вложения

  • Police.lua
    241.2 KB · Просмотры: 2
  • Vkey[little_ramzz] .lua
    39.1 KB · Просмотры: 4
  • [deobfuscated].lua
    13.5 KB · Просмотры: 9
Последнее редактирование модератором:
  • Влюблен
Реакции: Oki_Bern

влад динозавр

Известный
1,299
616


Файл требует деобфускации, чтобы получить нормальный вид, создается таблица fwbDVxBw, которая содержит в себе большое кол-во строк, записанных в виде escape-последовательности символов, типо \013\01
)))))))))))))))))))))

Lua:
local imgui = require 'mimgui'
local widget = require 'widgets'
local inicfg = require "inicfg"

local ini = inicfg.load({
    cfg = {
        showImages = true,
        imageX = 200,
        imageY = 200,
        imageSizeX = 851,
        imageSizeY = 409
    }
}, "Vkey.ini")

local WinState1 = imgui.new.bool(true)
local WinState2 = imgui.new.bool(false)
local showImages = imgui.new.bool(ini.cfg.showImages)

local wImagePositions = {
    x = imgui.new.int(ini.cfg.imageX),
    y = imgui.new.int(ini.cfg.imageY),
    sizeX = imgui.new.int(ini.cfg.imageSizeX),
    sizeY = imgui.new.int(ini.cfg.imageSizeY)
}

local wTextureLoaded = false
local wTexture
local wDuplicateTextureLoaded = false
local wDuplicateTexture
local wDuplicateTextureLoadedA = false
local wDuplicateTextureA  -- Gambar a.png
local wDuplicateTextureLoadedS = false
local wDuplicateTextureS  -- Gambar S.png
local wDuplicateTextureLoadedSpa = false
local wDuplicateTextureSpa  -- Gambar spa.png
local wDuplicateTextureLoadedD = false
local wDuplicateTextureD  -- Gambar d.png
local wDuplicateTextureLoadedF = false
local wDuplicateTextureF -- Gambar d.png
local wImageVisible = false  -- Gambar "W" tidak terlihat secara default
local wImageVisibleA = false  -- Gambar "A" tidak terlihat secara default
local wImageVisibleS = false  -- Gambar "S" tidak terlihat secara default
local wImageVisibleSpa = false  -- Gambar "spa" tidak terlihat secara default
local wImageVisibleD = false  -- Gambar "d" tidak terlihat secara default
local scaleFactor = imgui.new.float(1.0)  -- Faktor skala default 1

function renderImages()
    -- Selalu tampilkan gambar 1.png
    if wTextureLoaded then
        renderDrawTexture(wTexture, wImagePositions.x[0], wImagePositions.y[0], wImagePositions.sizeX[0], wImagePositions.sizeY[0], 0, 0xFFFFFFFF)
    end

    -- Gambar duplikat w.png hanya ditampilkan jika wImageVisible adalah true
    if wDuplicateTextureLoaded and wImageVisible then
        renderDrawTexture(wDuplicateTexture, wImagePositions.x[0], wImagePositions.y[0], wImagePositions.sizeX[0], wImagePositions.sizeY[0], 0, 0xFFFFFFFF)
    end

    -- Gambar a.png hanya ditampilkan jika wImageVisibleA adalah true
    if wDuplicateTextureLoadedA and wImageVisibleA then
        renderDrawTexture(wDuplicateTextureA, wImagePositions.x[0], wImagePositions.y[0], wImagePositions.sizeX[0], wImagePositions.sizeY[0], 0, 0xFFFFFFFF)
    end

    -- Gambar S.png hanya ditampilkan jika wImageVisibleS adalah true
    if wDuplicateTextureLoadedS and wImageVisibleS then
        renderDrawTexture(wDuplicateTextureS, wImagePositions.x[0], wImagePositions.y[0], wImagePositions.sizeX[0], wImagePositions.sizeY[0], 0, 0xFFFFFFFF)
    end

    -- Gambar spa.png hanya ditampilkan jika wImageVisibleSpa adalah true
    if wDuplicateTextureLoadedSpa and wImageVisibleSpa then
        renderDrawTexture(wDuplicateTextureSpa, wImagePositions.x[0], wImagePositions.y[0], wImagePositions.sizeX[0], wImagePositions.sizeY[0], 0, 0xFFFFFFFF)
    end
      
          if wDuplicateTextureLoadedF and wImageVisibleF then
        renderDrawTexture(wDuplicateTextureF, wImagePositions.x[0], wImagePositions.y[0], wImagePositions.sizeX[0], wImagePositions.sizeY[0], 0, 0xFFFFFFFF)
    end
      
    -- Gambar d.png hanya ditampilkan jika wImageVisibleD adalah true
    if wDuplicateTextureLoadedD and wImageVisibleD then
        renderDrawTexture(wDuplicateTextureD, wImagePositions.x[0], wImagePositions.y[0], wImagePositions.sizeX[0], wImagePositions.sizeY[0], 0, 0xFFFFFFFF)
    end
end

function loadTextures()
    if not wTextureLoaded then
        wTexture = renderLoadTextureFromFile("resource/Vkeys/1.png")
        wTextureLoaded = true
    end
    if not wDuplicateTextureLoaded then
        wDuplicateTexture = renderLoadTextureFromFile("resource/Vkeys/w.png")  -- Gambar duplikat
        wDuplicateTextureLoaded = true
    end
    if not wDuplicateTextureLoadedA then
        wDuplicateTextureA = renderLoadTextureFromFile("resource/Vkeys/a.png")  -- Gambar a.png
        wDuplicateTextureLoadedA = true
    end
    if not wDuplicateTextureLoadedS then
        wDuplicateTextureS = renderLoadTextureFromFile("resource/Vkeys/S.png")  -- Gambar S.png
        wDuplicateTextureLoadedS = true
    end
    if not wDuplicateTextureLoadedSpa then
        wDuplicateTextureSpa = renderLoadTextureFromFile("resource/Vkeys/spa.png")  -- Gambar spa.png
        wDuplicateTextureLoadedSpa = true
    end
 
          if not wDuplicateTextureLoadedF then
        wDuplicateTextureF = renderLoadTextureFromFile("resource/Vkeys/f.png")  -- Gambar d.png
        wDuplicateTextureLoadedF = true
    end
    
    if not wDuplicateTextureLoadedD then
        wDuplicateTextureD = renderLoadTextureFromFile("resource/Vkeys/d.png")  -- Gambar d.png
        wDuplicateTextureLoadedD = true
    end
end

local function saveSettings()
    ini.cfg.showImages = showImages[0]
    ini.cfg.imageX = wImagePositions.x[0]
    ini.cfg.imageY = wImagePositions.y[0]
    ini.cfg.imageSizeX = wImagePositions.sizeX[0]
    ini.cfg.imageSizeY = wImagePositions.sizeY[0]
    inicfg.save(ini, "Vkey.ini")
end

imgui.OnFrame(function() return WinState2[0] end, function(player)
    imgui.Begin("Vkey by Little_ramZz", WinState2)

    if imgui.Button(showImages[0] and "off" or "on", imgui.ImVec2(150, 30)) then
        showImages[0] = not showImages[0]
        saveSettings()
    end

    imgui.Text("posX")
    imgui.SliderInt("##1ImageX", wImagePositions.x, 0, 2000)
    imgui.Text("posY")
    imgui.SliderInt("##1ImageY", wImagePositions.y, 0, 1080)

    -- Slider untuk mengubah ukuran gambar secara langsung
    imgui.Text("scale")
    imgui.SliderFloat("##WImageScale", scaleFactor, 0.1, 5.0)  -- Faktor skala antara 0.1 dan 5.0

    -- Mengubah ukuran gambar berdasarkan faktor skala
    wImagePositions.sizeX[0] = 851 * scaleFactor[0]
    wImagePositions.sizeY[0] = 409 * scaleFactor[0]

    saveSettings() 

    imgui.End()
end)

imgui.OnFrame(function() return WinState1[0] end, function(player)
    loadTextures()

    -- Periksa apakah player berada di dalam kendaraan
    local playerPed = PLAYER_PED  -- Pastikan ini adalah referensi yang benar untuk karakter pemain
    if isCharInAnyCar(playerPed) then
        -- Selalu render gambar 1.png jika pemain dalam kendaraan
        if showImages[0] then
            renderImages()
        end
    end
end)

function main()
    while true do
        wait(0)

        -- Pastikan WIDGET_HORN terdefinisi dan bukan nil
        if WIDGET_HORN ~= nil then
            if isWidgetSwipedLeft(WIDGET_HORN) then
                WinState2[0] = not WinState2[0]
                wait(200)
            end
        else
            print("WIDGET_HORN is nil!")
        end

        -- Periksa apakah player berada di dalam kendaraan
        local playerPed = PLAYER_PED  -- Pastikan ini adalah referensi yang benar untuk karakter pemain
        if isCharInAnyCar(playerPed) then
            -- Periksa apakah WIDGET_ACCELERATE ditekan
            if isWidgetPressed(WIDGET_ACCELERATE) then
                wImageVisible = true  -- Tampilkan gambar "W" jika ditekan
            else
                wImageVisible = false  -- Sembunyikan gambar "W" jika tidak ditekan
            end

            -- Periksa apakah WIDGET_BRAKE ditekan
            if isWidgetPressed(WIDGET_VEHICLE_STEER_LEFT) then
                wImageVisibleA = true  -- Tampilkan gambar "A" jika ditekan
            else
                wImageVisibleA = false  -- Sembunyikan gambar "A" jika tidak ditekan
            end

            -- Periksa apakah WIDGET_HANDBRAKE ditekan
            if isWidgetPressed(WIDGET_BRAKE) then
                wImageVisibleS = true  -- Tampilkan gambar "S" jika ditekan
            else
                wImageVisibleS = false  -- Sembunyikan gambar "S" jika tidak ditekan
            end
            
            
            
                       if isWidgetPressed(WIDGET_ENTER_CAR) then
                wImageVisibleF = true  -- Tampilkan gambar "S" jika ditekan
            else
                wImageVisibleF = false  -- Sembunyikan gambar "S" jika tidak ditekan
            end

            -- Periksa apakah WIDGET_SPA ditekan
            if isWidgetPressed(WIDGET_HANDBRAKE) then  -- Misalkan ada widget untuk SPA
                wImageVisibleSpa = true  -- Tampilkan gambar "spa" jika ditekan
            else
                wImageVisibleSpa = false  -- Sembunyikan gambar "spa" jika tidak ditekan
            end

            -- Periksa apakah WIDGET_D ditekan
            if isWidgetPressed(WIDGET_VEHICLE_STEER_RIGHT) then  -- Misalkan ada widget untuk D
                wImageVisibleD = true  -- Tampilkan gambar "d" jika ditekan
            else
                wImageVisibleD = false  -- Sembunyikan gambar "d" jika tidak ditekan
            end
        else
            -- Jika tidak di dalam kendaraan, sembunyikan semua gambar
            wImageVisible = false
            wImageVisibleA = false
            wImageVisibleS = false
            wImageVisibleSpa = false
            wImageVisibleD = false
        end
    end
end