Skip to content

Commit

Permalink
allow specifying own sts file ./tch-exploit-macos --sts='./file.sts'
Browse files Browse the repository at this point in the history
BoLaMN committed Sep 16, 2019
1 parent 0643502 commit a47ef4d
Showing 6 changed files with 63 additions and 9 deletions.
8 changes: 8 additions & 0 deletions dist/args.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
module.exports = process.argv.slice(2, process.argv.length).reduce(function(args, str) {
var arg, flag, value;
arg = str.split('=');
flag = arg[0].slice(2, arg[0].length);
value = arg[1] || true;
args[flag] = value;
return args;
}, {});
6 changes: 5 additions & 1 deletion dist/cwmp/index.js
Original file line number Diff line number Diff line change
@@ -76,7 +76,11 @@ request = function(ip, req, res) {
SoftwareVersion = (DeviceInfo || {}).SoftwareVersion;
software = parseInt(SoftwareVersion.substring(0, 2));
version = software < 17 ? 16 : software > 17 ? 18 : 17;
file = files[version];
if (files.custom != null) {
file = files.custom;
} else {
file = files[version];
}
res.name = 'cwmp:Download';
res.fileType = '3 Vendor Configuration File';
res.fileSize = file.length;
29 changes: 23 additions & 6 deletions dist/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
var Duplex, ask, createServer, cwmp, dhcpd, files, networkInterfaces, pkg, readline, route;
var Duplex, args, ask, createServer, cwmp, dhcpd, e, existsSync, files, networkInterfaces, pkg, readFileSync, readline, ref, route;

pkg = require('../package.json');

@@ -10,6 +10,8 @@ createServer = require('http').createServer;

networkInterfaces = require('os').networkInterfaces;

ref = require('fs'), readFileSync = ref.readFileSync, existsSync = ref.existsSync;

dhcpd = require('./dhcp');

route = require('./router');
@@ -18,18 +20,29 @@ cwmp = require('./cwmp');

files = require('./files');

args = require('./args');

if (args.sts) {
try {
files.custom = readFileSync(args.sts);
} catch (error) {
e = error;
throw e;
}
}

readline = require('readline').createInterface({
input: process.stdin,
output: process.stdout
});

ask = function(cb) {
var addr, addrInfo, cIp, i, ifaceDetails, ifaceName, ip, ips, len, name, ref;
var addr, addrInfo, cIp, i, ifaceDetails, ifaceName, ip, ips, len, name, ref1;
cIp = null;
ips = {};
ref = networkInterfaces();
for (ifaceName in ref) {
ifaceDetails = ref[ifaceName];
ref1 = networkInterfaces();
for (ifaceName in ref1) {
ifaceDetails = ref1[ifaceName];
for (i = 0, len = ifaceDetails.length; i < len; i++) {
addrInfo = ifaceDetails[i];
if (!addrInfo.internal) {
@@ -103,7 +116,11 @@ ask(function(intr) {
if (version < 17) {
version = 16;
}
file = files[version];
if (files.custom != null) {
file = files.custom;
} else {
file = files[version];
}
headers = {
'Content-Type': 'text/plain',
'Content-Length': file.length
11 changes: 11 additions & 0 deletions src/args.coffee
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

module.exports = process.argv
.slice 2, process.argv.length
.reduce (args, str) ->
arg = str.split '='
flag = arg[0].slice 2, arg[0].length
value = arg[1] or true

args[flag] = value
args
, {}
5 changes: 4 additions & 1 deletion src/cwmp/index.coffee
Original file line number Diff line number Diff line change
@@ -76,7 +76,10 @@ request = (ip, req, res) ->
else if software > 17 then 18
else 17

file = files[version]
if files.custom?
file = files.custom
else
file = files[version]

res.name = 'cwmp:Download'
res.fileType = '3 Vendor Configuration File'
13 changes: 12 additions & 1 deletion src/index.coffee
Original file line number Diff line number Diff line change
@@ -15,11 +15,19 @@ Technicolor OpenWRT Shell Unlocker v#{ pkg.version } By BoLaMN
{ Duplex } = require 'stream'
{ createServer } = require 'http'
{ networkInterfaces } = require 'os'
{ readFileSync, existsSync } = require 'fs'

dhcpd = require './dhcp'
route = require './router'
cwmp = require './cwmp'
files = require './files'
args = require './args'

if args.sts
try
files.custom = readFileSync args.sts
catch e
throw e

readline = require 'readline'
.createInterface
@@ -127,7 +135,10 @@ ask (intr) ->
if version < 17
version = 16

file = files[version]
if files.custom?
file = files.custom
else
file = files[version]

headers =
'Content-Type': 'text/plain'

0 comments on commit a47ef4d

Please sign in to comment.