Jump to content

Enyby

Administrators
  • Posts

    8,811
  • Joined

  • Last visited

  • Days Won

    1,011

File Comments posted by Enyby

  1. Again crash similar as above.

    GG: 88.0 [15815]
    Android: 6.0.1
    SDK: 23
    vSpace: com.ludashi.superboost
    Thread: Script thread
    luaj.LuaError$Internal: /storage/emulated/0/Download/S.Crisis Action.lua:-1
    
    vm error: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
    level = 1, const = 424, proto = 3, upval = 22, vars = 66, code = 6364
    SETTABLE v7 v6 v8
     ; PC 485 CODE 030201CA OP 10 A 7 B 6 C 8 Bx 3080 sBx -127991
    stack traceback:
    	/storage/emulated/0/Download/S.Crisis Action.lua: in function </storage/emulated/0/Download/S.Crisis Action.lua:624>
    	(...tail calls...)
    	/storage/emulated/0/Download/S.Crisis Action.lua: in function </storage/emulated/0/Download/S.Crisis Action.lua:444>
    	(...tail calls...)
    	[Java]: in ?
    	at luaj.LuaClosure.execute(LuaClosure.java:832)
    	at luaj.LuaClosure.onInvoke(LuaClosure.java:207)
    	at luaj.TailcallVarargs.eval(TailcallVarargs.java:73)
    	at luaj.LuaClosure.execute(LuaClosure.java:600)
    	at luaj.LuaClosure.call(LuaClosure.java:160)
    	at luaj.LuaClosure.execute(LuaClosure.java:537)
    	at luaj.LuaClosure.onInvoke(LuaClosure.java:207)
    	at luaj.TailcallVarargs.eval(TailcallVarargs.java:73)
    	at luaj.LuaClosure.execute(LuaClosure.java:600)
    	at luaj.LuaClosure.call(LuaClosure.java:160)
    	at android.ext.Script.runScript(Script.java:5628)
    	at android.ext.Script$ScriptThread.run(Script.java:5366)
    Caused by: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
    	at luaj.LuaTable.rehash(LuaTable.java:886)
    	at luaj.LuaTable.hashset(LuaTable.java:652)
    	at luaj.LuaTable.rawset(LuaTable.java:335)
    	at luaj.LuaTable.set(LuaTable.java:320)
    	at luaj.LuaClosure.execute(LuaClosure.java:383)
    	... 11 more

    PC 485

    not

    PC 455

    as before. Then it is from new version, not from old.

    I think it can be bug in Lua Implementation, but I  can not reproduce it.

  2. I don't know. I have only these sent logs.

    But according to them, an error occurs inside a function call that is declared on line numbers 513-3786.
    this function was called from another function, which is declared on line numbers 383-512.

    If you want, you can try to provide the source code of the script to me in a personal message.
    Or you can figure out for yourself under what conditions an error occurs, and on which part of the code, and then give an example of such code.

  3. Again see crash in logs. 3 different devices in same place. Like two above.

    GG: 87.6 [15749]
    Android: 7.1.1
    SDK: 25
    vSpace: com.ludashi.multspace
    Thread: Script thread
    luaj.LuaError$Internal: /storage/emulated/0/Download/S.Crisis Action.lua:-1
    
    vm error: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
    level = 1, const = 421, proto = 3, upval = 14, vars = 66, code = 5946
    SETTABLE v7 v6 v8
     ; PC 455 CODE 030201CA OP 10 A 7 B 6 C 8 Bx 3080 sBx -127991
    stack traceback:
    	/storage/emulated/0/Download/S.Crisis Action.lua: in function </storage/emulated/0/Download/S.Crisis Action.lua:507>
    	(...tail calls...)
    	/storage/emulated/0/Download/S.Crisis Action.lua: in function </storage/emulated/0/Download/S.Crisis Action.lua:356>
    	(...tail calls...)
    	[Java]: in ?
    	at luaj.LuaClosure.execute(LuaClosure.java:832)
    	at luaj.LuaClosure.onInvoke(LuaClosure.java:207)
    	at luaj.TailcallVarargs.eval(TailcallVarargs.java:73)
    	at luaj.LuaClosure.execute(LuaClosure.java:600)
    	at luaj.LuaClosure.call(LuaClosure.java:167)
    	at luaj.LuaClosure.execute(LuaClosure.java:538)
    	at luaj.LuaClosure.onInvoke(LuaClosure.java:207)
    	at luaj.TailcallVarargs.eval(TailcallVarargs.java:73)
    	at luaj.LuaClosure.execute(LuaClosure.java:600)
    	at luaj.LuaClosure.call(LuaClosure.java:160)
    	at android.ext.Script.runScript(Script.java:5707)
    	at android.ext.Script$ScriptThread.run(Script.java:5445)
    Caused by: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
    	at luaj.LuaTable.rehash(LuaTable.java:893)
    	at luaj.LuaTable.hashset(LuaTable.java:647)
    	at luaj.LuaTable.rawset(LuaTable.java:335)
    	at luaj.LuaTable.set(LuaTable.java:320)
    	at luaj.LuaClosure.execute(LuaClosure.java:383)
    	... 11 more
    GG: 87.6 [15749]
    Android: 6.0.1
    SDK: 23
    vSpace: com.ludashi.dualspace
    Thread: Script thread
    luaj.LuaError$Internal: /storage/emulated/0/Download/S.Crisis Action.lua:-1
    
    vm error: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
    level = 1, const = 421, proto = 3, upval = 14, vars = 66, code = 5946
    SETTABLE v7 v6 v8
     ; PC 455 CODE 030201CA OP 10 A 7 B 6 C 8 Bx 3080 sBx -127991
    stack traceback:
    	/storage/emulated/0/Download/S.Crisis Action.lua: in function </storage/emulated/0/Download/S.Crisis Action.lua:507>
    	(...tail calls...)
    	/storage/emulated/0/Download/S.Crisis Action.lua: in function </storage/emulated/0/Download/S.Crisis Action.lua:356>
    	(...tail calls...)
    	[Java]: in ?
    	at luaj.LuaClosure.execute(LuaClosure.java:832)
    	at luaj.LuaClosure.onInvoke(LuaClosure.java:207)
    	at luaj.TailcallVarargs.eval(TailcallVarargs.java:73)
    	at luaj.LuaClosure.execute(LuaClosure.java:600)
    	at luaj.LuaClosure.call(LuaClosure.java:167)
    	at luaj.LuaClosure.execute(LuaClosure.java:538)
    	at luaj.LuaClosure.onInvoke(LuaClosure.java:207)
    	at luaj.TailcallVarargs.eval(TailcallVarargs.java:73)
    	at luaj.LuaClosure.execute(LuaClosure.java:600)
    	at luaj.LuaClosure.call(LuaClosure.java:160)
    	at android.ext.Script.runScript(Script.java:5707)
    	at android.ext.Script$ScriptThread.run(Script.java:5445)
    Caused by: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
    	at luaj.LuaTable.rehash(LuaTable.java:893)
    	at luaj.LuaTable.hashset(LuaTable.java:647)
    	at luaj.LuaTable.rawset(LuaTable.java:335)
    	at luaj.LuaTable.set(LuaTable.java:320)
    	at luaj.LuaClosure.execute(LuaClosure.java:383)
    	... 11 more
    GG: 87.6 [15749]
    Android: 9
    SDK: 28
    vSpace: su
    Thread: Script thread
    luaj.LuaError$Internal: /storage/emulated/0/Download/S.Crisis Action.lua:-1
    
    vm error: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
    level = 1, const = 427, proto = 4, upval = 14, vars = 56, code = 3967
    SETTABLE v7 v6 v8
     ; PC 455 CODE 030201CA OP 10 A 7 B 6 C 8 Bx 3080 sBx -127991
    stack traceback:
    	/storage/emulated/0/Download/S.Crisis Action.lua: in function </storage/emulated/0/Download/S.Crisis Action.lua:513>
    	(...tail calls...)
    	/storage/emulated/0/Download/S.Crisis Action.lua: in function </storage/emulated/0/Download/S.Crisis Action.lua:383>
    	(...tail calls...)
    	[Java]: in ?
    	at luaj.LuaClosure.execute(LuaClosure.java:832)
    	at luaj.LuaClosure.onInvoke(LuaClosure.java:207)
    	at luaj.TailcallVarargs.eval(TailcallVarargs.java:73)
    	at luaj.LuaClosure.execute(LuaClosure.java:600)
    	at luaj.LuaClosure.call(LuaClosure.java:167)
    	at luaj.LuaClosure.execute(LuaClosure.java:538)
    	at luaj.LuaClosure.onInvoke(LuaClosure.java:207)
    	at luaj.TailcallVarargs.eval(TailcallVarargs.java:73)
    	at luaj.LuaClosure.execute(LuaClosure.java:600)
    	at luaj.LuaClosure.call(LuaClosure.java:160)
    	at android.ext.Script.runScript(Script.java:5707)
    	at android.ext.Script$ScriptThread.run(Script.java:5445)
    Caused by: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
    	at luaj.LuaTable.rehash(LuaTable.java:893)
    	at luaj.LuaTable.hashset(LuaTable.java:647)
    	at luaj.LuaTable.rawset(LuaTable.java:335)
    	at luaj.LuaTable.set(LuaTable.java:320)
    	at luaj.LuaClosure.execute(LuaClosure.java:383)
    	... 11 more

     

  4. It seems you didn’t understand anything.

    I attached you two logs with crashes that occurred on different devices, in the same place in the script.

    I did not receive similar logs on other scripts.

    From which it follows that this is some rare case that occurs only on your script.

    Obviously, your script works almost always, except in this rare case.

    If you do not consider this a problem, you can do nothing.

    If you want to correct this behavior, then you need to look for the problem area and the conditions under which it occurs.
    Not the fact that you can reproduce the problem.
    Perhaps it does not play at all.

    In general, I told you that this is, then see for yourself.

  5. Something going wrong when this script run:

    GG: 87.5 (15723)
    Android: 8.1.0
    SDK: 27
    vSpace: com.tencent.ig.gb
    Thread: Script thread
    luaj.LuaError$Internal: /storage/emulated/0/Download/S.Crisis Action.lua:-1
    
    vm error: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
    level = 1, const = 427, proto = 4, upval = 14, vars = 56, code = 3967
    SETTABLE v7 v6 v8
     ; PC 455 CODE 030201CA OP 10 A 7 B 6 C 8 Bx 3080 sBx -127991
    stack traceback:
    	/storage/emulated/0/Download/S.Crisis Action.lua: in function </storage/emulated/0/Download/S.Crisis Action.lua:513>
    	(...tail calls...)
    	/storage/emulated/0/Download/S.Crisis Action.lua: in function </storage/emulated/0/Download/S.Crisis Action.lua:383>
    	(...tail calls...)
    	[Java]: in ?
    	at luaj.LuaClosure.execute(LuaClosure.java:821)
    	at luaj.LuaClosure.onInvoke(LuaClosure.java:203)
    	at luaj.TailcallVarargs.eval(TailcallVarargs.java:73)
    	at luaj.LuaClosure.execute(LuaClosure.java:595)
    	at luaj.LuaClosure.call(LuaClosure.java:167)
    	at luaj.LuaClosure.execute(LuaClosure.java:533)
    	at luaj.LuaClosure.onInvoke(LuaClosure.java:203)
    	at luaj.TailcallVarargs.eval(TailcallVarargs.java:73)
    	at luaj.LuaClosure.execute(LuaClosure.java:595)
    	at luaj.LuaClosure.call(LuaClosure.java:160)
    	at android.ext.Script.runScript(Script.java:5703)
    	at android.ext.Script$ScriptThread.run(Script.java:5441)
    Caused by: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
    	at luaj.LuaTable.rehash(LuaTable.java:893)
    	at luaj.LuaTable.hashset(LuaTable.java:647)
    	at luaj.LuaTable.rawset(LuaTable.java:335)
    	at luaj.LuaTable.set(LuaTable.java:320)
    	at luaj.LuaClosure.execute(LuaClosure.java:378)
    	... 11 more
    GG: 87.5 (15723)
    Android: 7.1.1
    SDK: 25
    vSpace: io.va.exposed
    Thread: Script thread
    luaj.LuaError$Internal: /storage/emulated/0/Download/S.Crisis Action.lua:-1
    
    vm error: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
    level = 1, const = 427, proto = 4, upval = 14, vars = 56, code = 3967
    SETTABLE v7 v6 v8
     ; PC 455 CODE 030201CA OP 10 A 7 B 6 C 8 Bx 3080 sBx -127991
    stack traceback:
    	/storage/emulated/0/Download/S.Crisis Action.lua: in function </storage/emulated/0/Download/S.Crisis Action.lua:513>
    	(...tail calls...)
    	/storage/emulated/0/Download/S.Crisis Action.lua: in function </storage/emulated/0/Download/S.Crisis Action.lua:383>
    	(...tail calls...)
    	[Java]: in ?
    	at luaj.LuaClosure.execute(LuaClosure.java:821)
    	at luaj.LuaClosure.onInvoke(LuaClosure.java:203)
    	at luaj.TailcallVarargs.eval(TailcallVarargs.java:73)
    	at luaj.LuaClosure.execute(LuaClosure.java:595)
    	at luaj.LuaClosure.call(LuaClosure.java:167)
    	at luaj.LuaClosure.execute(LuaClosure.java:533)
    	at luaj.LuaClosure.onInvoke(LuaClosure.java:203)
    	at luaj.TailcallVarargs.eval(TailcallVarargs.java:73)
    	at luaj.LuaClosure.execute(LuaClosure.java:595)
    	at luaj.LuaClosure.call(LuaClosure.java:160)
    	at android.ext.Script.runScript(Script.java:5703)
    	at android.ext.Script$ScriptThread.run(Script.java:5441)
    Caused by: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
    	at luaj.LuaTable.rehash(LuaTable.java:893)
    	at luaj.LuaTable.hashset(LuaTable.java:647)
    	at luaj.LuaTable.rawset(LuaTable.java:335)
    	at luaj.LuaTable.set(LuaTable.java:320)
    	at luaj.LuaClosure.execute(LuaClosure.java:378)
    	... 11 more

    If you need to solve a problem, provide the minimum code that will allow it to be reproduced.

    Chainer

       14,954    10

    Anteaters eat ants. For them, this is "food". Will it be a “food” for the human?

    For some things, context is important. If I say that the value has increased by 20, is it a lot or a little? This question can not be answered. I do not know the point of reference and the scale of changes.

    Similarly with pointers. From the outside, the address space of the processes in the emulator is not visible, so it will not work. It will not work at all.

    There is such a thing as a cargo cult. They, too, are thoughtlessly copying the form, not understanding the content.

    [added 1 minute later]

    You can try on the test application and see for yourself.

    GameGuardian (#8fxj06fj)

     

    Chainer

       14,954    10

    This cannot work, if only because the pointer is just the memory address in the address space of the emulator. And from the outside, it is not visible.
    So even if at least 100 levels of scanning, it does not help anything.

  6. For example it call:

    dex2oat --instruction-set=arm --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art -j4 --instruction-set-features=default --dex-file=/data/data/com.app.hider.master.pro/gaia/data/app/com.musselwhizzle.tapcounter/base.apk --oat-file=/data/data/com.app.hider.master.pro/gaia/data/app/com.musselwhizzle.tapcounter/oat/arm/base.odex --compiler-filter=speed

    But it must be:

    dex2oat --instruction-set=x86 --runtime-arg -Xrelocate --boot-image=/system/framework/boot.art -j4 --instruction-set-features=default --dex-file=/data/data/com.app.hider.master.pro/gaia/data/app/com.musselwhizzle.tapcounter/base.apk --oat-file=/data/data/com.app.hider.master.pro/gaia/data/app/com.musselwhizzle.tapcounter/oat/x86/base.odex --compiler-filter=speed

    Chainer

       14,954    10

    In fact, the script is looking for every level of everything that can pointed at the data of this level.
    The result is something like a tree or a pyramid.
    After possible pointers have been found, at this level, it is checked whether there are any static regions among them.
    If there are any, then the restoration of the chain for these pointers begins. calculation offsets and saving chain.
    This allows you to speed up the search without building a chain where it is unnecessary.
    It also uses reuse of calculations and so on.
    Static results are excluded from the calculation and the transition to the next level takes place.

    And so, until they reach the limit of levels, or until they run out of data for the search.

    Chainer

       14,954    10

    If you are about how to use a script, then you need to find the value in any way before the pointers change, and then call the script.

    If you're talking about how it works inside, then yes, something like this.

    Unfortunately, this works with only few games. If the game uses automatic memory management (Java or C#), then there will be no normal pointer to a static location.
    Or it will be very deep. Or there will be huge offsets.

    In theory, this should work with games that use their own C engines.

    The search itself is very resource-intensive and the deeper, the more calculations.
    The difficulty grows exponentially.

    For example, at the first level, for 3 values there may be 10 pointers, at the second 100, at the third 1000, at the fourth 10000.
    In order to calculate the chain one has to make about 10,000 * 1000 comparisons for level 4. This is a lot.
    So deeper than 4-5 levels, most often, it will not work out.

    Maximum offset also affects the number of results. The bigger it is, the more results and more calculations.

×
×
  • 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.