Skocz do zawartości

[TuT] Jak crackować skrypty


# CSH External VIP Project

Masz dosyć problemów z czynnikiem zaufania w CS2 lub notorycznymi banami?

Sprawdź CSH External VIP Project.


Więcej informacji  

Rekomendowane odpowiedzi

Siems :)

Dzisiaj wam pokaże jak crackować niezabezpieczone przez Jave skrypty do BoL'a.

NP. mój stary płatny skrypt :

Slay Belle Katarina

 

Wymagania :

- NotePad++

- Java

Lua binaries (5.2.3 32bit)

- Unluac 5.2

- Windows (cmd)

 

 

Okej :) Gdy już wszystko pobraliście kopiujecie Lua Bins i UnLuac do folderu z Java.

Następnie pobieramy skrypt do scrackowania i ładujemy go do NotePada++ w taki sposób, że kasujecie 

assert(load(Base64Decode("

i

"), nil, "bt", _ENV))()

to co w cudzysłowiu jest zostawiamy i decodujemy przez Base64Decode ( jest taka funkcja w NotePad++).

W rezultacie tego otrzymacie kod z nagłówkiem LuaR ... .

Zapisujecie plik z tym kodem i kopiujecie do folderu Java.

 

Teraz odpalacie CMD i wpisujecie :

cd "folder z Java"

a potem :

java -jar unluac.jar "plik do scrackowania.lua" > "nazwa pliku w którym będzie odszyfrowany kod.lua"

O i jeszcze dodam :

Musicie zmienić nazwę waszego unluac2015....jar na unluac.jar :)

 

Korzystając z mojego skryptu po decodzie powinien wam się pokazać taki kod :

local a_a = "9.3"
local b_a = true
local c_a = "SlayBelleKatarina"
local d_a = "raw.github.com"
local _aa = "/ajgoreq/BoL/master/SlayBelleKatarina.lua"
local aaa = SCRIPT_PATH .. GetCurrentEnv().FILE_NAME
local baa = "https://" .. d_a .. _aa
local caa
if b_a then
  GetAsyncWebResult(d_a, _aa, function(a_
    caa = a_b
  end)
  function update()
    if caa ~= nil then
      do
        local a_b
        local b_b, c_b, d_b = nil, string.find(caa, "local version = \"")
        if d_b then
          b_b, c_b = string.find(caa, "\"", d_b + 1)
        end
        if b_b then
          a_b = tonumber(string.sub(caa, d_b + 1, b_b - 1))
        end
        if a_b ~= nil and tonumber(a_ ~= nil and tonumber(a_ > tonumber(a_a) then
          DownloadFile(baa .. "?nocache" .. myHero.charName .. os.clock(), aaa, function()
            print("<font color=\"#FF0000\"><b>" .. c_a .. ":</b> successfully updated. Reload (double F9) Please. (" .. a_a .. " => " .. a_b .. ")</font>")
          end)
        elseif a_b then
          print("<font color=\"#FF0000\"><b>" .. c_a .. ":</b> You have got the latest version: <u><b>" .. a_b .. "</b></u></font>")
        end
        caa = nil
      end
    else
    end
  end
  AddTickCallback(update)
end
if myHero.charName ~= "Katarina" then
  return
end
function split(a_b, b_
  local c_b = {}
  if not a_b or not b_b then
    return c_b
  end
  for d_b in (a_b .. b_:gmatch("(.-)" .. b_ do
    c_b[#c_b + 1] = d_b
  end
  return c_b
end
local daa = "teamclarity.co"
local _ba = GetWebResult(daa, "/auth/users.php")
local aba = split(_ba, ",")
local bba = GetUser():lower()
function Auth()
  for a_b, b_b in pairs(aba) do
    if b_b:lower() == bba then
      return true
    end
  end
  for a_b, b_b in pairs(aba) do
    if bba == b_b:lower() then
      return true
    end
  end
end
if not Auth() then
  print("Couldn't auth you")
  return
end
print("Authed as " .. bba .. ".")
if not Auth() then
  return
end
local cba = {}
assert(load(Base64Decode("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"), nil, "bt", _ENV))()
ScriptStatus("WJMLQIIKJLL")
lastE = 0
eDelay = 3500
local dba = 400
local _ca = 700
local aca = 675
local bca = 490
local cca
local dca = 0
local _da, ada = nil, 0
local bda, cda, dda, __b = false, nil, nil, nil
function OnLoad()
  ForceTarget = nil
  lastAttack = 0
  previousAttackCooldown = 0
  previousWindUp = 0
  ultOn = 0
  StayBelle()
  IgniteSet()
  Variables()
  AddMsgCallback(CustomOnWndMsg)
  AddDrawCallback(CustomOnDraw)
  AddProcessSpellCallback(CustomOnProcessSpell)
  AddTickCallback(CustomOnTick)
  for a_b, b_b in ipairs(GetEnemyHeroes()) do
    table.insert(cba, b_
  end
end
function StayBelle()
  Config = scriptConfig("Katarina - SlayBelle By Igoreeeku", "SlayBelle")
  Config:addSubMenu("Key Settings", "Keys")
  Config.Keys:addParam("combokey", "Combo key", SCRIPT_PARAM_ONKEYDOWN, false, 32)
  Config.Keys:addParam("harass", "Harass Key", SCRIPT_PARAM_ONKEYDOWN, false, 67)
  Config.Keys:addParam("farmkey", "Farm On/Off", SCRIPT_PARAM_ONKEYTOGGLE, false, string.byte("Z"))
  Config:addSubMenu("Combo Settings", "Combo")
  Config.Combo:addParam("UseQ", "Use Q", SCRIPT_PARAM_ONOFF, true)
  Config.Combo:addParam("UseW", "Use W", SCRIPT_PARAM_ONOFF, true)
  Config.Combo:addParam("UseE", "Use E", SCRIPT_PARAM_ONOFF, true)
  Config.Combo:addParam("UseR", "Use R", SCRIPT_PARAM_ONOFF, true)
  Config.Combo:addParam("UseAA", "Use AutoAttack", SCRIPT_PARAM_ONOFF, true)
  Config.Combo:addParam("UseEDel", "Humanizer", SCRIPT_PARAM_ONOFF, true)
  Config:addSubMenu("Misc", "Misc")
  Config.Misc:addParam("KSQ", "Auto KS with Q", SCRIPT_PARAM_ONOFF, true)
  Config.Misc:addParam("KSW", "Auto KS with W", SCRIPT_PARAM_ONOFF, true)
  Config.Misc:addParam("KSE", "Auto KS with E", SCRIPT_PARAM_ONOFF, true)
  Config.Misc:addParam("KSIG", "Auto KS using ignite", SCRIPT_PARAM_ONOFF, true)
  if VIP_USER then
    Config:addSubMenu("Packets", "Packets")
    Config.Packets:addParam("QPACK", "Q Packets", SCRIPT_PARAM_ONOFF, false)
    Config.Packets:addParam("WPACK", "W Packets", SCRIPT_PARAM_ONOFF, false)
    Config.Packets:addParam("EPACK", "E Packets", SCRIPT_PARAM_ONOFF, false)
  end
  Config:addSubMenu("Drawings", "Draw")
  Config.Draw:addParam("drawDD", "Draw Dmg Text", SCRIPT_PARAM_ONOFF, true)
  Config.Draw:addParam("DrawQ", "Draw Q range", SCRIPT_PARAM_ONOFF, true)
  Config.Draw:addParam("DrawW", "Draw W range", SCRIPT_PARAM_ONOFF, true)
  Config.Draw:addParam("DrawE", "Draw E range", SCRIPT_PARAM_ONOFF, true)
  Config:addSubMenu("Farm", "farm")
  Config.farm:addParam("UseQFarm", "Use Q", SCRIPT_PARAM_ONOFF, true)
  Config.farm:addParam("UseWFarm", "Use W", SCRIPT_PARAM_ONOFF, false)
  Config:addSubMenu("Credits", "Credits")
  Config.Credits:addParam("info", " >> Autor : ", SCRIPT_PARAM_INFO, "Igoreeeku")
  Config.Credits:addParam("info8", " >> Tester : ", SCRIPT_PARAM_INFO, "Venemo")
  Config:addParam("info4", " >> Version ", SCRIPT_PARAM_INFO, "9.3")
  ts = TargetSelector(TARGET_LESS_CAST, 700, DAMAGE_MAGICAL, false, true)
  enemyMinions = minionManager(MINION_ENEMY, aca, myHero, MINION_SORT_MAXHEALTH_DEC)
  ts.name = "Belle"
  Config:addSubMenu("Target Selector", "TS")
  Config.TS:addTS(ts)
  Config.Keys:permaShow("combokey")
  Config.Keys:permaShow("harass")
  Config.Keys:permaShow("farmkey")
end
function OnTick()
  Checks()
  IgniteKS()
  Human()
  KillSteal()
  killstring = {}
  if Config.Keys.combokey then
    ts:update()
    Combo()
  elseif ulti then
    return
  end
  if Config.Keys.harass then
    Harass()
  end
  if Config.Keys.farmkey then
    Farm()
  end
end
function OnDraw()
  if Config.Keys.farmkey then
    DrawText("Farm: ON", 18, 100, 100, 4294901760)
  else
    DrawText("Farm: OFF", 18, 100, 100, 4294901760)
  end
  if Config.Draw.DrawQ and bda and not myHero.dead then
    DrawCircle(myHero.x, myHero.y, myHero.z, aca, 65280)
  end
  if Config.Draw.DrawW and cda and not myHero.dead then
    DrawCircle(myHero.x, myHero.y, myHero.z, dba, 65280)
  end
  if Config.Draw.DrawE and dda and not myHero.dead then
    DrawCircle(myHero.x, myHero.y, myHero.z, _ca, 65280)
  end
end
function Variables()
  allyHeroes = GetAllyHeroes()
  enemyHeroes = GetEnemyHeroes()
  enemyMinions = minionManager(MINION_ENEMY, _ca, player, MINION_SORT_HEALTH_ASC)
  allyMinions = minionManager(MINION_ALLY, _ca, player, MINION_SORT_HEALTH_ASC)
  killstring = {}
end
function Checks()
  target = ts.target
  if Forcetarget ~= nil and ValidTarget(Forcetarget, 900) then
    target = Forcetarget
  end
  allyMinions:update()
  bda = myHero:CanUseSpell(_Q) == READY
  cda = myHero:CanUseSpell(_W) == READY
  dda = myHero:CanUseSpell(_E) == READY
  __b = myHero:CanUseSpell(_R) == READY
  IREADY = _da ~= nil and myHero:CanUseSpell(_da) == READY
end
function Combo()
  if ValidTarget(target) then
    CastQ()
    CastE()
    CastW()
    CastR()
    AA()
  end
end
function AA()
  if Config.Combo.UseAA and target and GetDistance(target) < myHero.range + myHero.boundingRadius + target.boundingRadius + 25 and timeToShoot() and not ultOn then
    myHero:Attack(target)
  end
end
function CastQ()
  if bda and Config.Combo.UseQ and GetDistance(target) <= aca then
    if VIP_USER and Config.Packets.QPACK then
      Packet("S_CAST", {
        spellId = _Q,
        targetNetworkId = target.networkID
      }):send()
    else
      CastSpell(_Q, target)
    end
  end
end
function CastW()
  if cda and Config.Combo.UseW and GetDistance(target) <= dba then
    if VIP_USER and Config.Packets.WPACK then
      Packet("S_CAST", {
        spellId = _W,
        targetNetworkId = target.networkID
      }):send()
    else
      CastSpell(_W)
    end
  end
end
function CastE()
  if dda and Config.Combo.UseE and GetDistance(target) <= _ca then
    if VIP_USER and Config.Packets.EPACK then
      Packet("S_CAST", {
        spellId = _E,
        targetNetworkId = target.networkID
      }):send()
    else
      CastSpell(_E, target)
    end
  end
end
function CastR()
  if __b and not bda and not cda and not dda and Config.Combo.UseR and GetDistance(target) <= bca then
    CastSpell(_R)
  end
end
function AutoIgnite(a_
  iDmg = IREADY and getDmg("IGNITE", a_b, myHero) or 0
  if a_b.health <= iDmg and GetDistance(a_ <= 600 and _da ~= nil and IREADY then
    CastSpell(_da, a_
  end
end
function IgniteSet()
  if myHero:GetSpellData(SUMMONER_1).name:find("summonerdot") then
    _da = SUMMONER_1
  elseif myHero:GetSpellData(SUMMONER_2).name:find("summonerdot") then
    _da = SUMMONER_2
  end
end
function IgniteKS()
  if ValidTarget(target) and not __b and Config.Misc.KSIG then
    AutoIgnite(target)
  end
end
function KillSteal()
  for a_b, b_b in ipairs(cba) do
    if not ulti then
      if ValidTarget(b_ and GetDistance(b_ < 675 and Config.Misc.KSQ and bda and getDmg("Q", b_b, myHero) > b_b.health then
        CastSpell(_Q, b_
      end
      if ValidTarget(b_ and GetDistance(b_ < 400 and Config.Misc.KSW and cda and getDmg("W", b_b, myHero) > b_b.health then
        CastSpell(_W)
      end
      if Config.Misc.KSE and ValidTarget(b_ and GetDistance(b_ < 700 and dda and getDmg("E", b_b, myHero) > b_b.health then
        CastSpell(_E, b_
      end
    end
  end
end
function Harass()
  if not target then
    return
  end
  if ValidTarget(target) and bda and GetDistance(target) < aca then
    CastSpell(_Q, target)
  end
end
function Farm()
  enemyMinions:update()
  for a_b, b_b in ipairs(enemyMinions.objects) do
    if Config.farm.UseQFarm and ValidTarget(b_ and GetDistance(b_ <= aca and bda and getDmg("Q", b_b, myHero) > b_b.health then
      CastSpell(_Q, b_
    end
  end
  for a_b, b_b in ipairs(enemyMinions.objects) do
    if Config.farm.UseWFarm and ValidTarget(b_ and GetDistance(b_ <= dba and cda and getDmg("W", b_b, myHero) > b_b.health then
      CastSpell(_W)
    end
  end
end
function getHitBoxRadius(a_
  return GetDistance(a_b.minBBox, a_b.maxBBox) / 2
end
function Human()
  if lastE + eDelay > GetTickCount() then
    lastE = GetTickCount()
    Combo()
  end
end
function DmgCalc()
  for i = 1, heroManager.iCount do
    local a_b = heroManager:GetHero(i)
    if a_b ~= nil and ValidTarget(a_ then
      local b_b = a_b.health
      local c_b = 50 + 20 * myHero.level
      local d_b = getDmg("Q", a_b, myHero)
      local _ab = getDmg("E", a_b, myHero)
      local aab = getDmg("R", a_b, myHero)
      if b_b > d_b + _ab + c_b then
        killstring[a_b.networkID] = "Harass Him!!!"
      elseif b_b < d_b then
        killstring[a_b.networkID] = "Q Kill!"
      elseif b_b < _ab then
        killstring[a_b.networkID] = "E Kill!"
      elseif b_b < aab then
        killstring[a_b.networkID] = "R Kill!"
      elseif b_b < c_b then
        killstring[a_b.networkID] = "Ignite Kill!"
      elseif b_b < d_b + c_b then
        killstring[a_b.networkID] = "Q+Ignite Kill!"
      elseif b_b < _ab + c_b then
        killstring[a_b.networkID] = "E+Ignite Kill!"
      elseif b_b < aab + c_b then
        killstring[a_b.networkID] = "R+Ignite Kill!"
      elseif b_b < d_b + _ab then
        killstring[a_b.networkID] = "Q+E Kill!"
      elseif b_b < d_b + aab then
        killstring[a_b.networkID] = "Q+R Kill!"
      elseif b_b < _ab + aab then
        killstring[a_b.networkID] = "E+R Kill!"
      elseif b_b < d_b + _ab + aab then
        killstring[a_b.networkID] = "Q+E+R Kill!"
      elseif b_b < d_b + _ab + c_b then
        killstring[a_b.networkID] = "Q+E+Ignite Kill!"
      elseif b_b < d_b + _ab + aab + c_b then
        killstring[a_b.networkID] = "Q+E+R+Ignite Kill!"
      end
    end
  end
end
function CustomOnDraw()
  if Config.Draw.drawDD then
    DmgCalc()
    for a_b, b_b in ipairs(GetEnemyHeroes()) do
      if ValidTarget(b_b, 100000) and killstring[b_b.networkID] ~= nil then
        local c_b = WorldToScreen(D3DXVECTOR3(b_b.x, b_b.y, b_b.z))
        DrawText(killstring[b_b.networkID], 20, c_b.x - 35, c_b.y - 40, 4294967040)
      end
    end
  end
end
function OnAnimation(a_b, b_
  if a_b.isMe and (b_b == "Spell4" or b_b == "Spell4_Loop") then
    ulti = true
    AnimTrack = GetTickCount() + 50 + GetLatency()
  else
    ulti = false
  end
end
function IsChanneling()
  return AnimTrack > GetTickCount()
end
function timeToShoot()
  return GetTickCount() + GetLatency() / 2 > lastAttack + previousAttackCooldown and (ultOn < GetInGameTimer() or target.dead)
end
function heroCanMove()
  return GetTickCount() + GetLatency() / 2 > lastAttack + previousWindUp + 50 and (ultOn < GetInGameTimer() or target.dead)
end
function OnWndMsg(a_b, b_
  if a_b == WM_LBUTTONDOWN then
    local c_b = 0
    local d_b
    for _ab, aab in ipairs(GetEnemyHeroes()) do
      if ValidTarget(aab) and (c_b >= GetDistance(aab, mousePos) or d_b == nil) then
        c_b = GetDistance(aab, mousePos)
        d_b = aab
      end
    end
    if d_b and c_b < 500 then
      if Forcetarget and d_b.charName == Forcetarget.charName then
        Forcetarget = nil
      else
        Forcetarget = d_b
        print("<font color=\"#FF0000\">Slay Belle Katarina: New target selected: " .. d_b.charName .. "</font>")
      end
    end
  end
end
print("<font color=\"#FF0000\">SlayBelle Katarina Activated.</font>") 

Jeśli tak to poprawnie zdecodowaliście :)

Teraz wyrzucacie ze skryptu ten fragment :

local daa = "teamclarity.co"
local _ba = GetWebResult(daa, "/auth/users.php")
local aba = split(_ba, ",")
local bba = GetUser():lower()
function Auth()
  for a_b, b_b in pairs(aba) do
    if b_b:lower() == bba then
      return true
    end
  end
  for a_b, b_b in pairs(aba) do
    if bba == b_b:lower() then
      return true
    end
  end
end
if not Auth() then
  print("Couldn't auth you")
  return
end
print("Authed as " .. bba .. ".")
if not Auth() then
  return
end

i korzystacie za Free :)

 

Jak coś jest nie jasne lub masz jakiś problem pisz niżej :)

Odnośnik do komentarza
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

  Tagi

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Regulamin. Polityka prywatności