Guest User

Untitled

a guest
May 23rd, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.09 KB | None | 0 0
  1. attach进程的两种方式,第一种是重新运行游戏
  2. device = frida.get_usb_device()
  3. pid = device.spawn("com.cocos2d.fishingfun.uc")
  4. session = device.attach(pid)
  5. device.resume(pid)
  6.  
  7. 第二种是运行之后附加
  8. device = frida.get_usb_device()
  9. session = device.attach("com.cocos2d.fishingfun.uc")
  10.  
  11.  
  12. dumplua两种方式
  13. 第一种是等待进入游戏,确保我们要hook的so被加载之后,进行hook
  14. var fun = Module.findExportByName("libd2eam.so", "luaL_loadbuffer")
  15. if (!fun) {
  16. console.log("Can't find fun")
  17. } else {
  18. console.log('find fun')
  19. hook_dump_fun(fun)
  20. }
  21.  
  22. function hook_dump_fun(fun) {
  23. Interceptor.attach(fun, {
  24. onEnter: function(args) {
  25. console.log('--------script start --------')
  26. console.log('name: ' + Memory.readUtf8String(args[3]))
  27. console.log('len: ' + args[2].toInt32())
  28. console.log('script: \n' + Memory.readUtf8String(args[1]))
  29. console.log('--------script end --------')
  30. }
  31. })
  32. }
  33.  
  34. 第二种是我们hook dlopen函数。判断参数0是我们要hook的so。确定加载之后进行hook操作
  35. var didHookApis = false
  36.  
  37. Interceptor.attach(Module.findExportByName(null, "dlopen"), {
  38. onEnter: function(args) {
  39. this.path = Memory.readUtf8String(args[0])
  40. console.log(this.path)
  41. },
  42. onLeave: function(retval) {
  43. if (!retval.isNull() && this.path.indexOf('libd2eam.so') !== -1 && !didHookApis) {
  44. didHookApis = true
  45. var fun = Module.findExportByName('libd2eam.so', 'luaL_loadbuffer')
  46. if (!fun) {
  47. console.log("still can't find fun???")
  48. } else {
  49. hook_dump_fun(fun)
  50. }
  51. }
  52. }
  53. })
  54.  
  55.  
  56.  
  57. function hook_dump_fun(fun) {
  58. Interceptor.attach(fun, {
  59. onEnter: function(args) {
  60. console.log('--------script start --------')
  61. console.log('name: ' + Memory.readCString(args[3]))
  62. console.log('len: ' + args[2].toInt32())
  63. console.log('script: \n' + Memory.readCString(args[1]))
  64. console.log('--------script end --------')
  65. }
  66. })
  67. }
Add Comment
Please, Sign In to add comment