Skip to content

Instantly share code, notes, and snippets.

View drygdryg's full-sized avatar

Victor Golovanenko drygdryg

View GitHub Profile
@drygdryg
drygdryg / termux_mitmproxy_installation.md
Last active January 24, 2024 06:38
Install mitmproxy in Termux

Termux mitmrpoxy installation

Tested on Android 13 with mitmproxy 10.1.5, Python 3.11.6.

Install required system packages

pkg upgrade
pkg install python pipx rust binutils

Setup pipx:

pipx ensurepath
@drygdryg
drygdryg / emulating_usb_flash_in_linux.md
Last active December 17, 2023 20:57
How to emulate USB flash drive in Linux

Emulating mass storage USB flash devices in Linux

Create a new disk image with space pre-allocation (4000 MBytes):

fallocate -l 4000M virtual_usb.img

Create Ext4 file system:

mkfs -t ext4 virtual_usb.img
@drygdryg
drygdryg / extract_routeros_version.py
Last active November 24, 2022 18:27
A simple script for extracting RouterOS version from MikroTik Wi-Fi equipment over the air
#!/usr/bin/env python3
import subprocess
import sys
import re
import codecs
def ifaceUp(iface, down=False):
if down:
action = 'down'
@drygdryg
drygdryg / mingw.patch
Created April 9, 2021 09:39
Patch to cross-compile Masscan under MinGW
diff --git a/Makefile b/Makefile
index 8265d5e..00eebe0 100644
--- a/Makefile
+++ b/Makefile
@@ -49,8 +49,8 @@ endif
# intended environment, so it make break in the future.
ifneq (, $(findstring mingw, $(SYS)))
INCLUDES = -Ivs10/include
-LIBS = -L vs10/lib -lIPHLPAPI -lWs2_32
-FLAGS2 = -march=i686
@drygdryg
drygdryg / iwextract.py
Created March 29, 2021 14:47
Extract info about a single access point from iw scan output
#!/usr/bin/env python3
import subprocess
import sys
import re
BSS_PATTERN = re.compile(r'BSS (\S+)( )?\(on \w+\)')
if __name__ == '__main__':
if len(sys.argv) != 3:
print(f"Usage: {sys.argv[0]} <interface> <bssid>")
from macros import error, hint
from os import `/`, splitFile
import strutils
import distros
when defined(release):
switch("checks", "off")
switch("assertions", "off")
switch("debuginfo", "off")
switch("stackTrace", "off")
@drygdryg
drygdryg / test.nim
Created January 2, 2021 11:56
protobuf-nim bug
import streams
import protobuf
parseProtoFile("test.proto")
var msg = new Example
msg.field1 = @[]
let exampleNested = initExample_ExampleNested()
exampleNested.field1 = initExample_ExampleNested_ExampleNested2(field1 = "Test", field2 = @[])
let exampleNested3 = initExample_ExampleNested_ExampleNested2_ExampleNested3(field1 = "Test")
@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/