Commit f690af6c authored by nanahira's avatar nanahira

update identify

parent b74b4390
Pipeline #3177 passed with stages
in 1 minute and 54 seconds
...@@ -18,6 +18,34 @@ const defaultConfig: HisoutensokuJammerConfig = { ...@@ -18,6 +18,34 @@ const defaultConfig: HisoutensokuJammerConfig = {
addressWhitelist: [], addressWhitelist: [],
}; };
const chineseCharacterList = [
{ character: '', value: 0 },
{ character: '', value: 0 },
{ character: '', value: 0 },
{ character: '', value: 1 },
{ character: '', value: 1 },
{ character: '', value: 2 },
{ character: '', value: 2 },
{ character: '', value: 2 },
{ character: '', value: 3 },
{ character: '', value: 3 },
{ character: '', value: 4 },
{ character: '', value: 4 },
{ character: '', value: 5 },
{ character: '', value: 5 },
{ character: '', value: 6 },
{ character: '', value: 6 },
{ character: '', value: 7 },
{ character: '', value: 7 },
{ character: '', value: 7 },
{ character: '', value: 8 },
{ character: '', value: 8 },
{ character: '', value: 8 },
{ character: '', value: 9 },
{ character: '', value: 9 },
{ character: '', value: 9 },
]
class HisoutensokuJammer { class HisoutensokuJammer {
log: Logger; log: Logger;
targetCtx: Context; targetCtx: Context;
...@@ -35,18 +63,19 @@ class HisoutensokuJammer { ...@@ -35,18 +63,19 @@ class HisoutensokuJammer {
} }
async handleMessage(message: string) { async handleMessage(message: string) {
const messageMatch: RegExpMatchArray = message.match( const messageMatch: RegExpMatchArray = message.trim().match(
/(\d{1,3}([^\d]\d{1,3}){3}).+?(\d{3,5})/g /([1-2]? ?\d? ?\d ?)(([^\d][1-2]?\d{1,2}){3})[^\d]+?([1-6] ?\d ?\d ?\d ?\d)/
); );
if (!messageMatch) { if (!messageMatch) {
return; return;
} }
const attackPromises = messageMatch.map((pattern) => { const attackPromises = messageMatch.map((pattern) => {
const patternMatch = pattern.match( const patternMatch = pattern.match(
/(\d{1,3}([^\d]\d{1,3}){3}).+?(\d{3,5})/ /([1-2]? ?\d? ?\d ?)(([^\d][1-2]?\d{1,2}){3})[^\d]+?([1-6] ?\d ?\d ?\d ?\d)/
); );
const address = patternMatch[1].split(/[^\d]/).join("."); const firstDigit = patternMatch[1].replace(/ /g, '');
const port = parseInt(patternMatch[3]); const address = `${firstDigit}.${patternMatch[2].trim().split(/[^\d]/).join(".")}`;
const port = parseInt(patternMatch[4].replace(/ /g, ''));
return this.startAttack(address, port); return this.startAttack(address, port);
}); });
const results: boolean[] = await Promise.all(attackPromises); const results: boolean[] = await Promise.all(attackPromises);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment