Jump to content

Count_Nosferatu

Ascended
  • Posts

    97
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by Count_Nosferatu

  1. My grandfather used to say: "Everything is new, this is long forgotten old."
  2. Pointer is jump address. For 32bit programs, address is 4 bytes DWORD. For 64bit programs, address is 8 bytes QWORD
  3. Count_Nosferatu

    Game lib

    I think that the problem has not yet been solved. It is not clear which range should be used. The script finds many ranges with ['type'] = 'rw-p' t = gg.getRangesList('com.ea.games.r3_row*base.apk') for i = 1, #t do if t[i]['type'] == 'rw-p' then print(t[i]) end end script-output.txt
  4. Count_Nosferatu

    Game lib

    Script ended: Script error: luaj.o: /storage/emulated/0/Pictures/Scripts/pointerTest.lua:67 ` if ((a[1].address > v["start"]) and (a[1].address < v["end"])) then` attempt to index ? (a nil value) with key 'address' (field '1')
  5. Count_Nosferatu

    Game lib

    Doesn't really work. It is not clear which of base apk to count from. gg.setRanges(gg.REGION_CODE_APP) t = gg.getRangesList('^/data/*com.ea.games.r3_row*base.apk*$') print('Found ' ..#t ..' results') a = 0 for i = 1, #t do if t[i]['type'] == 'rw-p' then print(t[i]) a = a + 1 end end print('Found ' ..a ..' rw-p results') -- -> Script ended: Found 37 results { -- table(5d5648b) ['end'] = 133868052664320, ['internalName'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['name'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['start'] = 133868052647936, ['state'] = 'O', ['type'] = 'rw-p', } { -- table(f005968) ['end'] = 133868054269952, ['internalName'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['name'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['start'] = 133868054241280, ['state'] = 'O', ['type'] = 'rw-p', } { -- table(cd3f181) ['end'] = 133868055478272, ['internalName'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['name'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['start'] = 133868055474176, ['state'] = 'O', ['type'] = 'rw-p', } { -- table(4995226) ['end'] = 133868055621632, ['internalName'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['name'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['start'] = 133868055617536, ['state'] = 'O', ['type'] = 'rw-p', } { -- table(bb3be67) ['end'] = 133868057997312, ['internalName'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['name'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['start'] = 133868057923584, ['state'] = 'O', ['type'] = 'rw-p', } { -- table(a35a414) ['end'] = 133868058820608, ['internalName'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['name'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['start'] = 133868058816512, ['state'] = 'O', ['type'] = 'rw-p', } { -- table(c4d24bd) ['end'] = 133868059889664, ['internalName'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['name'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['start'] = 133868059885568, ['state'] = 'O', ['type'] = 'rw-p', } { -- table(5386ab2) ['end'] = 133868116672512, ['internalName'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['name'] = '/data/app/com.ea.games.r3_row-etCOPHVNo-lYN2A8uKT50Q==/base.apk', ['start'] = 133868116594688, ['state'] = 'O', ['type'] = 'rw-p', } Found 8 rw-p results
  6. Count_Nosferatu

    Game lib

    Tablet Android 10 x64 with VirtualXposed, script returned this: Script ended: { -- table(8e7fafb) [1] = { -- table(2608718) ['arch'] = 'AArch64', ['end'] = 522830204928, ['internalName'] = '/data/data/io.va.exposed/virtual/data/app/com.ea.games.r3_row/base.apk', ['name'] = '/data/data/io.va.exposed/virtual/data/app/com.ea.games.r3_row/base.apk', ['start'] = 522830127104, ['state'] = 'O', ['type'] = 'rw-p', }, } It's normal ? print(gg.getTargetInfo()) --> --- ['nativeLibraryDir'] = '/data/user/0/io.va.exposed/virtual/data/app/com.ea.games.r3_row/lib', ---
  7. View File RR3 All version. Unlocks events in current ROUND. Unlocks events in current ROUND, which have not yet begun. Automatically changes rows count in gg.choice(), depending on the current date. Open source Submitter Count_Nosferatu Submitted 01/16/2024 Category LUA scripts  
  8. Version 1.0.0

    146 downloads

    Unlocks events in current ROUND, which have not yet begun. Automatically changes rows count in gg.choice(), depending on the current date. Open source
  9. Possible version of your script. Search is done once when script starts. Then it goes into invisible mode and waits for GG icon to be pressed. Until you select “Exit”, all found data in tables will be saved. gg.isVisible(false) gg.clearResults() gg.clearList() -------------Flying cost-------------------- gg.searchNumber( "-8.0004e10",gg.TYPE_FLOAT) -- Why do a refining if you don’t have a group search? gg.refineNumber(' -8.0004e10',gg.TYPE_FLOAT) Fly = gg.getResults(gg.getResultsCount()) gg.clearResults() -------------Energy cost-------------------- gg.searchNumber('55;53', gg.TYPE_FLOAT) -- Refining is needed here. gg.refineNumber('53', gg.TYPE_FLOAT) Energy = gg.getResults(gg.getResultsCount()) gg.clearResults() -------------Water cost-------------------- gg.searchNumber("7018090782024269824",gg.TTYPE_QWORD) -- Why do a refining if you don’t have a group search? gg.refineNumber("7018090782024269824",gg.TTYPE_QWORD) Water = gg.getResults(gg.getResultsCount()) gg.clearResults() ::retr1:: choices = gg.choice({'Engery cost', 'Water cost', 'Exit'}, 0, '\tSelect item cost:\n⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯') if choices == 1 then for i = 1, #Water do gg.setValues({{ address = Water[i].address, flags = gg.TTYPE_QWORD, value = 7018090361117474816 }}) end for i = 1, #Energy do gg.setValues({{ address = Energy[i].address, flags = gg.TYPE_FLOAT, value = 25 }}) end for i = 1, #Fly do gg.setValues({{ address = Fly[i].address, flags = gg.TYPE_FLOAT, value = 0 }}) end gg.toast('Engery cost') end if choices == 2 then for i = 1, #Fly do gg.setValues({{ address = Fly[i].address, flags = gg.TYPE_FLOAT, value = -8.0004e10 }}) end for i = 1, #Energy do gg.setValues({{ address = Energy[i].address, flags = gg.TYPE_FLOAT, value = 53 }}) end for i = 1, #Water do gg.setValues({{ address = Water[i].address, flags = gg.TTYPE_QWORD, value = 7018090782024269824 }}) end gg.toast('Water cost') end if choices == nil or choices == 3 then gg.setVisible(true) os.exit() end while not gg.isVisible() do gg.sleep(100) end gg.setVisible(false) goto retr1 os.exit()
  10. local resultnumber = {1} print(resultnumber) --> { -- table(d2fd880) --> [1] = 1, --> }
  11. See the description of the gg.loadResults() command. https://gameguardian.net/help/classgg.html#ade5f40667e80938ba1678d0623fe7b82 Existing search results will be cleared. After executing gg.loadResults(gg.getListItems()) - "list" table is empty. In the "troll" table, results of last search.gg.searchNumber() and gg.refineNumber() You don't check the number of results found. Maybe it doesn't find anything. PS Script example is clearer if you highlight it as “code”
  12. Like first and then download? I'm already laughing.
  13. Thank you, Captain Obvious.
  14. gg.setVisible(false) -- -- Put Your first process -- while gg.isVisible() == false do if gg.isVisible() == true then break end gg.sleep(100) end gg.setVisible(false) -- -- Put Your second process --
  15. So you don't need to use gg.addListItems() Make three tables: control, health and energy. And process what you need in each table. Main use of gg.addListItems() is to freeze values.
  16. gg.setVisible(false) gg.searchNumber('100;140', gg.TYPE_FLOAT) -- ??? -- Do you really want to search for two 4 byte numbers in 512 byte range? gg.refineNumber('100', gg.TYPE_FLOAT) controlvalue = gg.getResults(999) -- ??? -- If you need only first variable, why fill the table with 999 numbers? -- May be need controlvalue = gg.getResults(1) gg.clearResults() choice = gg.choice({'Edit it to 100','Edit it to -1','Edit it back'}) if choice == 0 then -- insert cancel message in command gg.alert() or gg.toast() gg.setVisible(true) os.exit() end if choice == 1 then gg.setVlaues({{ address = controlvalue[1].address, flags = gg.TYPE_FLOAT, value = -100 }}) end if choice == 2 then gg.setVlaues({{ address = controlvalue[1].address, flags = gg.TYPE_FLOAT, value = -1 }}) end if choice == 3 then gg.setVlaues({{ address = controlvalue[1].address, flags = gg.TYPE_FLOAT, value = 100 }}) end gg.setVisible(true) os.exit()
  17. Your script contains a function call ch1() But there is no such function.
  18. Count_Nosferatu

    Lua Obfuscator

    This has already been described. All work is done on server side. Protecting Your Lua Scripts (#55ny5bi2)
  19. Who's stopping you from handing over scripts to game developers? You can write whatever you want here, the question is whether they will believe you.
  20. And I'm the Pope, will you believe me? Sometimes source code contains name of game. I don’t want anything from you, I wrote for others. Let scripters think about which tools should be used and which ones should not.
  21. For me, using your script is not safe. Maybe your script will send my source file to your server. It is impossible to understand without decrypting your script. This script is special for lazy "housewives".
  22. Did I understand correctly that You searched for DWORD "220" in the ANONYMOUS region. What did you look for then, what did you find "0"
  23. Try searching in other regions. If it doesn’t find it again, then the value 202 can be encrypted.
×
×
  • 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.