Skip to content

Instantly share code, notes, and snippets.

View drygdryg's full-sized avatar

Victor Golovanenko drygdryg

  • Donbass region
  • 04:40 (UTC +03:00)
View GitHub Profile
@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 / iw_wpa_supplicant_static.txt
Last active February 4, 2023 03:44
Сборка статично скомпонованных беспроводных утилит для Linux ARM (Android): iw и wpa_supplicant
Сборка статичного iw в Alpine:
# Установка базового инструментария для сборки
apk add build-base
mkdir iw_static
cd iw_static/
wget https://github.com/thom311/libnl/releases/download/libnl3_5_0/libnl-3.5.0.tar.gz
mkdir prefix
tar xvf libnl-3.5.0.tar.gz
cd libnl-3.5.0/
@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 / 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 / wps_checksum.py
Created July 1, 2020 06:59
Validating and calculating WPS PIN checksum
# -*- coding: utf-8 -*-
def checksum(pin):
'''
Standard WPS checksum algorithm.
@pin — A 7 digit pin to calculate the checksum for.
Returns the checksum value.
'''
accum = 0
while pin:
accum += (3 * (pin % 10))
@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 / 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 / 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 / PMKIDgen.py
Last active May 31, 2022 07:21
Fake WPA PMKID generator
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from hashlib import pbkdf2_hmac, sha1
import hmac
import subprocess
essid = input('ESSID: ')
passphrase = input('Passphrase: ')
bssid = input('BSSID: ').lower().replace(':', '').replace('-', '').replace('.', '')
sta_mac = input('Client MAC: ').lower().replace(':', '').replace('-', '').replace('.', '')