Jump to content

TekMonts

Ascended
  • Posts

    70
  • Joined

  • Last visited

  • Days Won

    5

Everything posted by TekMonts

  1. original('7F 45 4C 46 01 01 01 00') -- begin hex of original file, open the libil2cpp.so with HexView and find first 8 bytes of hex replaced('01 00 A0 E3 1E FF 2F E1') -- use arm to hex converter, convert "return true" to hex, see https://armconverter.com/?code=mov%20r0,%20%231%0Abx%20lr uses the arm code to hack directly, 01 00 A0 E3 1E FF 2F E1 = mov r0, #1 bx lr = return true
  2. Try to bypass by remove the debugger, find the url checking data and block it, find the function in the lib and modify...
  3. Too many guys ask about GG and libil2cpp.so to working with gameguardian. So I decided to make some guides to working around with it using offset. Game: Call of duty - Mobile VN Funtion to hack: Show enemy on radar This game was protected from dumper, so I uses Il2CppInspector to inspect the lib. Open up the Il2CppInspector.exe and drag the apk to the app GUI then wait a bit: I exported the Json file to find the function and address, and I want to find where the function to show enemy on rada, I found this: 0x046C37F4 -- here is address holded the function get_ShowEnemyOnRadar() So what should we do? We can mod directly in libil2cpp.so, using the hock, create the app to call... But here, I willshow you how to modify this function using GameGuardian First, you need the function tohandle the lib, share on Internet and I just copy paste here: local memFrom, memTo, lib, num, lim, results, src, ok = 0, -1, nil, 0, 32, {}, nil, false function name(n) if lib ~= n then lib = n local ranges = gg.getRangesList(lib) if #ranges == 0 then print("⚠ERROR: " .. lib .. " are not found!⚠") gg.toast("⚠ERROR: " .. lib .. " are not found!⚠") os.exit() else memFrom = ranges[1].start memTo = ranges[#ranges]["end"] end end end function hex2tbl(hex) local ret = {} hex:gsub( "%S%S", function(ch) ret[#ret + 1] = ch return "" end ) return ret end function original(orig) local tbl = hex2tbl(orig) local len = #tbl if len == 0 then return end local used = len if len > lim then used = lim end local s = "" for i = 1, used do if i ~= 1 then s = s .. ";" end local v = tbl[i] if v == "??" or v == "**" then v = "0~~0" end s = s .. v .. "r" end s = s .. "::" .. used gg.searchNumber(s, gg.TYPE_BYTE, false, gg.SIGN_EQUAL, memFrom, memTo) if len > used then for i = used + 1, len do local v = tbl[i] if v == "??" or v == "**" then v = 256 else v = ("0x" .. v) + 0 if v > 127 then v = v - 256 end end tbl[i] = v end end local found = gg.getResultCount() results = {} local count = 0 local checked = 0 while true do if checked >= found then break end local all = gg.getResults(8) local total = #all local start = checked if checked + used > total then break end for i, v in ipairs(all) do v.address = v.address + myoffset end gg.loadResults(all) while start < total do local good = true local offset = all[1 + start].address - 1 if used < len then local get = {} for i = lim + 1, len do get[i - lim] = {address = offset + i, flags = gg.TYPE_BYTE, value = 0} end get = gg.getValues(get) for i = lim + 1, len do local ch = tbl[i] if ch ~= 256 and get[i - lim].value ~= ch then good = false break end end end if good then count = count + 1 results[count] = offset checked = checked + used else local del = {} for i = 1, used do del[i] = all[i + start] end gg.removeResults(del) end start = start + used end end end function replaced(repl) num = num + 1 local tbl = hex2tbl(repl) if src ~= nil then local source = hex2tbl(src) for i, v in ipairs(tbl) do if v ~= "??" and v ~= "**" and v == source[i] then tbl[i] = "**" end end src = nil end local cnt = #tbl local set = {} local s = 0 for _, addr in ipairs(results) do for i, v in ipairs(tbl) do if v ~= "??" and v ~= "**" then s = s + 1 set[s] = {["address"] = addr + i, ["value"] = v .. "r", ["flags"] = gg.TYPE_BYTE} end end end if s ~= 0 then gg.setValues(set) end ok = true end Now you need to call the function: gg.setRanges ( gg .REGION_CODE_APP | gg .REGION_C_DATA) -- usally you only need this region name('libil2cpp.so') -- name the lib myoffset = 0x046C37F4 -- offset you found original('7F 45 4C 46 01 01 01 00') -- begin hex, open the libil2cpp.so with HexView and find first 8 bytes of hex replaced('01 00 A0 E3 1E FF 2F E1') -- use arm to hex converter, convert "return true" to hex, see https://armconverter.com/?code=mov%20r0,%20%231%0Abx%20lr gg.toast("Done!") Put it in your lua and done, you're now can hack the radar using GG and libil2cpp. Demo: Demo file: CODHack_Demo.lua
  4. Damage table store in Anonymous Region (RAM). Each times game load screen, address change, unless you hard code the mod in apk, otherwise nothing can help you just run script one times and it's always work.
  5. Nope, you can find on google, I'm busy for new project right now.
  6. Too lazy to do that, each character have different damage address table, and I don't have all characters to find out, not sure pointer will work.
  7. l = gg.getRangesList('libil2cpp.so') if (l[1] ~= nil) then libaddres = string.format( "0X%8.8X", t[1]['start'] ) end function haxx(offsethax,valuehax,type) _address = libaddres + offsethax local _value = {} _value[1] = {} _value[1].address = _address _value[1].flags = type _value[1].value = valuehax gg.setValues(_value) end function main() gg.alert("begin hack abc at xyz") haxx(0xABCDEF01, 9999, 16) end You can use this code to hack the Xa region (code app) directly without finding anything.
  8. How about x10 dmg? Does anyone interesting?
  9. Load into the game world then try again, must set GG language to EN-US
  10. New ban wave, they detected memory changes, finding the ways to bypass:
  11. Drop rate is server side, stamina has some random offset, I'm working on it. Fyi, One hit kill can be used in any mode including abyss/Multiplayer
  12. More characters will update later. I'm working with binary file.
  13. Yes because the memory changed, some time it re-locate the memories, like reload the map, or reconnect. GG not smart enough to catch up with memory changed.
  14. the image dead. Try to re-open the game/set gg language to en-us
  15. I'm still not find out stamina offset but already have some fun like one hit kill, normal atack = super skill, but lazy to update...
  16. View File No CD hack - All characters. Amber damage multiple Genshin Impact No CD hack for all characters, just need to run one times. Don't use multiple damage in Multiplayer/Abyss mode or you'll got ban. Password (if any): 123 Language: VN/EN Please keep the name of the file. Credit by me: TekMonts - GG Required GG 100, not tested on lower version yet. Please review the script. If positive review, I will update more stub. Use at your all risk. Submitter TekMonts Submitted 10/17/2020 Category LUA scripts  
  17. Wait for @mod approval
  18. Hello, Please try this: Genshin Impact No CD hack - All characters (#alqjymjq) So many requests so I write this, hope it help.
  19. Version 1.0.2

    12,237 downloads

    Genshin Impact No CD hack for all characters, just need to run one times. Don't use multiple damage in Multiplayer/Abyss mode or you'll got ban. Password (if any): 123 Language: VN/EN Please keep the name of the file. Credit by me: TekMonts - GG Required GG 100, not tested on lower version yet. Please review the script. If positive review, I will update more stub. Use at your all risk.
  20. Line 131, you have 0 number that you don't need. I mentioned @SB2P but he don't fixed yet.
  21. For unlimited scroll, enter battle, get first scroll (example Ring Scroll x3) search for DWORD: 30101;1;3::9 => Edit 3 to 999999, after end battle you will get 999999 Ring Scroll. After that you got Armor Scroll x5? => search for DWORD: 30102;1;5::9 => edit 5 to 999999, after end batter you will get 999999 Armor Scroll also. You can continue with 3th, 4th, 5th Scroll/Item.... with 30103, 30104, 30105.... Good luck.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.