lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]



2013/2/14 Joshua Jensen <josh.jjensen@gmail.com>

There is another interesting theoretical Decoda feature that hooking the remote process may offer.  (Again, I haven't looked at the code.)  Decoda probably did not set up a line hook, as it wouldn't necessarily have rights to add executable code to your process. Line hooks are horribly slow; in fact, Adobe posted a patch on the mailing list for Lua 5.1 that added real breakpoints and allowed the Lua code to run at full speed otherwise.  If they are just monitoring the Lua state from the Decoda process, then the Lua state can run at 'full' speed.


I use Decoda, and I can tell you that setting a breakpoint does slow VM execution, so it probably goes through debug hooks. I believe that Decoda patches Lua API functions mainly to catch state creation and destruction. (I haven't looked at the code).


--
Benoit.