Guest User

fuck shit piss taser

a guest
Nov 24th, 2021
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.69 KB | None | 0 0
  1. const isObject = (obj) => {
  2. return Object.prototype.toString.call(obj) === '[object Object]';
  3. };
  4.  
  5. function receiveWebSocketMessageHook(event) {
  6. if (event.data !== '3') {
  7. data = JSON.parse(event.data.substring(2));
  8. console.log("Received non-trivial event", data);
  9. if (!data.length === 2) {
  10. return;
  11. }
  12. response = data[1];
  13. for (const item of response) {
  14. if (item instanceof Array) {
  15. for (const thing of item) {
  16. if (isObject(thing) && 'isNewRecord' in thing) {
  17. fetch('http://192.168.2.37:8080/taser', {
  18. method: 'POST',
  19. mode: 'no-cors',
  20. headers: { 'Content-Type': 'application/json'},
  21. body: JSON.stringify({'taser_power': 1.0}),
  22. })
  23. }
  24. }
  25. }
  26. }
  27. }
  28. }
  29.  
  30. function sniff() {
  31. console.log('Injecting sniff')
  32. var OrigWebSocket = window.WebSocket;
  33. var callWebSocket = OrigWebSocket.apply.bind(OrigWebSocket);
  34. var wsAddListener = OrigWebSocket.prototype.addEventListener;
  35. wsAddListener = wsAddListener.call.bind(wsAddListener);
  36. window.WebSocket = function WebSocket(url, protocols) {
  37. console.log('Creating websocket to', url);
  38. var ws;
  39. if (!(this instanceof WebSocket)) {
  40. // Called without 'new' (browsers will throw an error).
  41. ws = callWebSocket(this, arguments);
  42. console.log('Called without new')
  43. } else if (arguments.length === 1) {
  44. ws = new OrigWebSocket(url);
  45. console.log('1 arg')
  46. } else if (arguments.length >= 2) {
  47. ws = new OrigWebSocket(url,protocols);
  48. console.log('2 arg')
  49. } else {
  50. // No arguments (browsers will throw an error)
  51. ws = new OrigWebSocket();
  52. console.log('No arg')
  53. }
  54.  
  55. console.log('Adding listener');
  56. wsAddListener(ws, 'message', receiveWebSocketMessageHook);
  57. // wsAddListener(ws, 'message', function(event) {
  58. // console.log("Received:", event);
  59. // });
  60. wsAddListener(ws, 'open', function(event) {
  61. console.log("Open:", event);
  62. });
  63. wsAddListener(ws, 'close', function(event) {
  64. console.log("Close:", event);
  65. });
  66. wsAddListener(ws, 'error', function(event) {
  67. console.log("Error:", event);
  68. });
  69. return ws;
  70. }
  71. .bind();
  72. window.WebSocket.prototype = OrigWebSocket.prototype;
  73. window.WebSocket.prototype.constructor = window.WebSocket;
  74.  
  75. // var wsSend = OrigWebSocket.prototype.send;
  76. // wsSend = wsSend.apply.bind(wsSend);
  77. // OrigWebSocket.prototype.send = function(data) {
  78. // console.log("Sent:", data);
  79. // return wsSend(this, arguments);
  80. // };
  81.  
  82. // console.log('Injecting onmessage')
  83. // var wsOnMessage = OrigWebSocket.prototype.onmessage;
  84. // wsOnMessage = wsOnMessage.apply.bind(wsOnMessage);
  85. // OrigWebSocket.prototype.onmessage = function(data) {
  86. // console.log("Sentt::", data);
  87. // return wsOnMessage(this, arguments);
  88. // };
  89. // console.log('Finished injecting onmessage')
  90.  
  91. }
  92.  
  93. sniff();
Advertisement
Add Comment
Please, Sign In to add comment