Skip to content

Instantly share code, notes, and snippets.

View drygdryg's full-sized avatar

Victor Golovanenko drygdryg

View GitHub Profile
@drygdryg
drygdryg / rsmerge.py
Last active December 31, 2020 06:40
Merging Router Scan CSV report files
import sys
import os
import csv
try:
core_file = sys.argv[1]
except IndexError:
print('Использование: {} файлназначения.csv'.format(sys.argv[0]))
exit(1)
@drygdryg
drygdryg / test.nim
Created December 31, 2020 05:38
nim-protobuf-bug
import streams
import protobuf
const protoSpec = """
syntax = "proto3";
message Example2 {
string field1 = 1;
int32 field2 = 2;
}
@drygdryg
drygdryg / gist:8088634f7dd6666df07b920657e39c15
Created November 28, 2020 21:56
Краткие сведения о драйверах USB Wi-Fi адаптеров в Linux
Драйверы MediaTek:
- mt7601u (в ядре с версии 4.2): поддерживает режим ТД, мониторинга и инъекции
чипы: MT7601U, MT7601UN
- mt76 (в ядре с версии 4.19): поддерживает режим ТД, мониторинга и инъекции
чипы: MT7603E, MT7603EN, MT7610E, MT7610EN, MT7610U, MT7610UN, MT7612E, MT7612EN, MT7612U, MT7612UN, MT7615, MT7615E, MT7615N, MT7630E, MT7662E, MT7662EN, MT7628A, MT7628K, MT7628N
Драйверы Ralink:
- r2500usb (в ядре): поддерживает режим ТД, мониторинга и инъекции
чипы: RT2571W, RT2671
- rt2800usb (в ядре):поддерживает режим ТД, мониторинга и инъекции
@drygdryg
drygdryg / rsmerge.nim
Last active July 7, 2020 20:51
Router Scan report files (CSV) merger
from os import walkFiles, paramStr, paramCount, tryRemoveFile
import csvtools
from strutils import join, toLowerAscii
import strformat
proc input(prompt: string = ""): string =
stdout.write(prompt)
stdout.flushFile()
result = stdin.readLine()
@drygdryg
drygdryg / srand.c
Last active July 7, 2020 05:09
A PRNG experiment
#include <stdio.h> /* printf, scanf */
#include <stdlib.h> /* srand, rand */
#include <time.h> /* time */
void manualSeed (void) {
int seed;
printf("Введите seed: ");
fflush(stdout);
scanf("%d", &seed);
srand(seed);
@drygdryg
drygdryg / solution.nim
Last active June 22, 2020 16:44
Codeforces task solution. https://i.imgur.com/iLLPRBq.jpg
from strutils import parseInt, split, join
let n = uint8(parseInt(readLine(stdin)))
var x_roads_asphalted: seq[uint8]
var y_roads_asphalted: seq[uint8]
var days: seq[uint8]
var counter: uint8 = 1
for i in uint8(1)..(n * n):
let t = split(readLine(stdin), ' ')
var x_road = uint8(parseInt(t[0]))
@drygdryg
drygdryg / oneshot2rs.py
Last active June 9, 2020 00:44
Convert OneShot report files to single Router Scan CSV table easily
import argparse
import csv
from datetime import datetime
if __name__ == '__main__':
table_header = ['IP Address', 'Port', 'Time (ms)', 'Status',
'Authorization', 'Server name / Realm name / Device type',
'Radio Off', 'Hidden', 'BSSID', 'ESSID', 'Security',
'Key', 'WPS PIN', 'LAN IP Address', 'LAN Subnet Mask',
'WAN IP Address', 'WAN Subnet Mask', 'WAN Gateway',
@drygdryg
drygdryg / WPSPINdict.py
Last active January 18, 2020 13:18
WPS PIN dictionary generator
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import sys
def WPSchecksum(pin):
'''
Standard WPS checksum algorithm.
@pin — A 7 digit pin to calculate the checksum for.
Returns the checksum value.
'''
@drygdryg
drygdryg / C.py
Created December 30, 2019 10:04
Решение задачи C городской олимпиады по информатике (г. Луганск, 2019 г.)
n, k = map(int, input().split())
table = [[True]*n, [False]*n]
for i in range(2, n + 1):
table.append([])
for j in range(n):
temp = True
m = i if (j + 2) > i else (j + 2)
for s in range(m):
temp &= table[i-s-1][s]
table[i].append(not temp)
@drygdryg
drygdryg / A.py
Created December 9, 2019 10:37
Решение задачи A городской олимпиады по информатике (г. Луганск, 2019 г.)
s, p = map(int, input().split())
res = 'NO SOLUTION'
for x in range(10001):
y = s - x
if x * y == p:
x, y = sorted([x, y])
res = '{} {}'.format(x, y)
print(res)