diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index b58b603..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ diff --git a/.idea/ctf10k-rpn.iml b/.idea/ctf10k-rpn.iml deleted file mode 100644 index 0c8867d..0000000 --- a/.idea/ctf10k-rpn.iml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/jsLibraryMappings.xml b/.idea/jsLibraryMappings.xml deleted file mode 100644 index d23208f..0000000 --- a/.idea/jsLibraryMappings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 5b812b6..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 94a25f7..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/main.js b/main.js deleted file mode 100644 index eff6c17..0000000 --- a/main.js +++ /dev/null @@ -1,59 +0,0 @@ -const Net = require('net'); - -const port = 8002 -const host = "ctf10k.root-me.org" - -const client = new Net.Socket - -client.on('data', (data) => { - console.log("received data:\n", data.toString()) - - regex =/(?^\d+.*$)/m - let message = regex.exec(data.toString()).groups["equation"] - console.log("equation:", message) - - let response = interpretRPN(message) - console.log("response:", response) - let buf = Buffer.from(response+"\n") - client.write(buf) -}) - -client.on('end', () => { - console.log("connection terminated by remote host") -}) - -client.connect({port: port, host: host}, () => { - console.log("connected") -}) - -function interpretRPN(message){ - const operators = ['-', '+', 'x', '/'] - let elements = message.split(' ') - for (let i = 0; i < elements.length; i++) { - if (operators.includes(elements[i])) { - let operation = elements.slice(i-2, i+1) - let result = computeOperation(operation) - elements.splice(i-2, 3, result) - i = 0 - } - } - - return elements.toString() -} - -function computeOperation(operation) { - switch (operation[2]) { - case '-': - return BigInt(operation[0]) - BigInt(operation[1]) - case 'x': - return BigInt(operation[0]) * BigInt(operation[1]) - case '/': - return BigInt(operation[0]) / BigInt(operation[1]) - case '+': - return BigInt(operation[0]) + BigInt(operation[1]) - } -} - -// const example = "994 611 + 357 733 + 82 543 - x x 740 + 136 x 996 +" -// console.log("response:", interpretRPN(example)) - diff --git a/package.json b/package.json deleted file mode 100644 index 8cc61fe..0000000 --- a/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "ctf10k-rpn", - "version": "1.0.0", - "dependencies": { - } -}