Scan to open on your phone
Point a camera at the QR code - it opens this exact paste, no app needed.
https://codepastes.com/tttetuntitledPlain Text
local F="/storage/emulated/0/Download/"
package.path=F.."?.lua;"..package.path
require("Il2CppGG")
Il2Cpp({log={INFO=false}})
local img=Il2Cpp.Image("Assembly-CSharp")
local sc=img and img:Class(nil,"SkillController")
local um=sc and sc:GetMethod("UseSkill")
local U=um and (um.methodPointer or um.virtualMethodPointer)
if not U then gg.alert("UseSkill bulunamadi");os.exit()end
local function u32(x)
x=tonumber(x) or 0
if x<0 then x=x+4294967296 end
return x
end
-- Known call resolves Distance(UnitBase), and UseSkill RVA gives ASLR base.
local known=U+0x8DC
local op=u32(gg.getValues({{address=known,flags=gg.TYPE_DWORD}})[1].value)
if math.floor(op/67108864)~=37 then gg.alert("UseSkill +0x8DC BL degil");os.exit() end
local imm=op%67108864
if imm>=33554432 then imm=imm-67108864 end
local DIST=known+imm*4
local BASE=U-0x106B560
-- Caller RVAs found in previous scan.
local rv={
0xFECB2C,0xFED844,0xFF5848,0xFF5E4C,0xFF6250,
0xFF6BFC,0xFF8190,0x106BE3C,0x106F96C,0x106FE50
}
-- Read a small window before each caller. No patching.
local out={}
out[#out+1]=string.format("BASE: 0x%X",BASE)
out[#out+1]=string.format("Distance: 0x%X",DIST)
out[#out+1]=""
out[#out+1]="CALLER CONTEXTS (READ ONLY)"
for n,rva in ipairs(rv) do
local A=BASE+rva
out[#out+1]=""
out[#out+1]=string.format("[%02d] RVA 0x%X runtime 0x%X%s",
n,rva,A,(rva==0x106BE3C and " <UseSkill>" or ""))
local q={}
for o=-0x40,0x20,4 do
q[#q+1]={address=A+o,flags=gg.TYPE_DWORD}
end
local v=gg.getValues(q)
for i=1,#v do
local off=-0x40+(i-1)*4
local mark=(off==0) and " <CALL>" or ""
out[#out+1]=string.format("%+04X %08X%s",off,u32(v[i].value),mark)
end
end
out[#out+1]=""
out[#out+1]="Kod degistirilmedi."
out[#out+1]="Cikti panoya kopyalandi."
local s=table.concat(out,"\n")
gg.copyText(s)
gg.alert(s)
1,805 chars · codepastes.com