├── README.md ├── addelfinfo-arm32.py ├── basefind.py ├── busybox-armv8l ├── prebuilt_static_bins ├── README.md ├── gawk │ ├── gawk-4.1.4-armel-eabi5-sysv │ ├── gawk-4.1.4-mips-ii │ ├── gawk-4.1.4-mips-mips32-rel2-musl │ ├── gawk-4.1.4-mipsel-i-sysv │ ├── gawk-4.1.4-mipsel-mips-ii │ ├── gawk-4.1.4-mipsel-mips32-rel2-musl │ ├── gawk-4.1.4-mipsel-mips32-sysv │ └── gawk-4.1.4-powerpc-sysv-muslsf ├── gdbserver │ ├── README.md │ ├── gdbserver-6.8-mips-i-rtl819x-lexra │ ├── gdbserver-7.12-i486-sysv │ ├── gdbserver-7.12-mips-i-v1-rtl819x-rsdk-1.3.6-4181-EB-2.6.30-0.9.30 │ ├── gdbserver-7.12-mips-i-v1-rtl819x-rsdk-1.3.6-5281-EB-2.6.30-0.9.30 │ ├── gdbserver-7.12-mips-mips-i-v1 │ ├── gdbserver-7.12-mips-mips-iii-v1-sysv │ ├── gdbserver-7.12-mips-mips-iv-v1-sysv │ ├── gdbserver-7.12-mips-mips32rel2-v1 │ ├── gdbserver-7.12-mips-mips32rel2-v1-sysv │ ├── gdbserver-7.12-mips-mips64-v1-sysv │ ├── gdbserver-7.12-mips64-mips-iii-v1-sysv │ ├── gdbserver-7.12-mips64-mips-iv-v1-sysv │ ├── gdbserver-7.12-mips64-mips64-v1-sysv │ ├── gdbserver-7.12-mips64-mips64rel2-v1-sysv │ ├── gdbserver-7.12-mips64-n32-mips-iii-v1-sysv │ ├── gdbserver-7.12-mips64-n32-mips-iv-v1-sysv │ ├── gdbserver-7.12-mips64-n32-mips64-v1-sysv │ ├── gdbserver-7.12-mips64-n32-rel2v1-v1-sysv │ ├── gdbserver-7.12-mipsel-i-v1-sysv │ ├── gdbserver-7.12-mipsel-mips32rel2-v1 │ ├── gdbserver-7.12-mipsel-mips32rel2-v1-sysv │ ├── gdbserver-7.12-mipsel64-mips-iii-v1-sysv │ ├── gdbserver-7.12-mipsel64-mips-iv-v1-sysv │ ├── gdbserver-7.12-mipsel64-mips64-v1-sysv │ ├── gdbserver-7.12-mipsel64-mips64rel2-v1-sysv │ ├── gdbserver-7.12-mipsel64-n32-mips-iii-v1-sysv │ ├── gdbserver-7.12-mipsel64-n32-mips-iv-v1-sysv │ ├── gdbserver-7.12-mipsel64-n32-mips64-v1-sysv │ ├── gdbserver-7.12-mipsel64-n32-rel2v1-v1-sysv │ ├── gdbserver-7.12-ppc-sysv │ ├── gdbserver-7.12-x86_64-sysv │ ├── gdbserver-7.7.1-armel-eabi5-v1-sysv │ ├── gdbserver-7.7.1-armel-v1 │ ├── gdbserver-7.7.1-armhf-eabi5-v1-sysv │ ├── gdbserver-7.7.1-mips-mips-i-v1-sysv │ ├── gdbserver-7.7.1-mips-mips-ii-v1 │ ├── gdbserver-7.7.1-mips-mips32-v1 │ ├── gdbserver-7.7.1-mips-mips32-v1-sysv │ ├── gdbserver-7.7.1-mipsel-ii-v1 │ └── gdbserver-7.7.1-mipsel-mips32-v1 ├── lsof │ ├── README.md │ ├── lsof-4.86-armel-eabi5-sysv-musl │ ├── lsof-4.86-armhf-eabi5-sysv │ ├── lsof-4.86-mips-i │ ├── lsof-4.86-mips-ii │ ├── lsof-4.86-mips-mips32-rel2-musl │ ├── lsof-4.86-mipsel-ii │ ├── lsof-4.86-mipsel-mips32-rel2-musl │ ├── lsof-4.89-mipsel-i-sysv │ ├── lsof-4.89-mipsel-mips32-sysv │ └── lsof-4.89-powerpc-sysv-muslsf ├── mawk │ ├── README.md │ └── mawk-1.3.4-mipsel-i-sysv ├── tcpdump │ ├── tcpdump │ ├── tcpdump-4.9.0-mips-mips32-rel2-musl │ ├── tcpdump-4.9.0-mipsel-mips32-rel2-musl │ ├── tcpdump-4.9.0-powerpc-sysv-muslsf │ ├── tcpdump-armel-eabi5-sysv │ ├── tcpdump-mipsel-i-sysv │ └── tcpdump-mipsel-mips32-sysv └── tsh │ ├── README.md │ ├── splice_secret.sh │ ├── tsh-armel-eabi5-sysv-musl │ ├── tsh-i486-sysv │ ├── tsh-mips-mips32-rel2-v1-musl │ ├── tsh-mipsel-i-sysv │ ├── tsh-mipsel-mips32-rel2-v1-sysv-musl │ ├── tsh-mipsel-mips32-sysv │ ├── tsh-powerpc-sysv-muslsf │ ├── tsh-x86_64-sysv │ ├── tshd-armel-eabi5-sysv-musl │ ├── tshd-i486-sysv │ ├── tshd-mips-mips32-rel2-v1-musl │ ├── tshd-mipsel-i-sysv │ ├── tshd-mipsel-mips32-rel2-v1-sysv-musl │ ├── tshd-mipsel-mips32-sysv │ ├── tshd-powerpc-sysv-muslsf │ └── tshd-x86_64-sysv ├── rbasefind.tar.gz └── toochains └── musl-1.1.12 ├── README.txt ├── arm-linux-musleabi.tar.xz ├── mipseb-linux-musl.tar.xz └── mipsel-linux-musl.tar.xz /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | # prebuilt_static_bins 4 | 一些有用的可执行文件(通过muslibc或uClibc静态链接),用于不同架构的嵌入式设备 [@mzpqnxow](https://github.com/akpotter/embedded-toolkit) 。 5 | - gawk 6 | - gdbserver 7 | - lsof 8 | - mawk 9 | - tcpdump 10 | - tsh 11 | 12 | ## 基地址搜索 13 | 14 | - `basefind.py` 暴力搜索二进制加载的起始地址,单线程,速度慢,[@mncoppola's](https://github.com/mncoppola) [basefind.py](https://github.com/mncoppola/ws30/blob/master/basefind.py) & [@rsaxvc's](https://github.com/rsaxvc) [basefind.cpp](https://github.com/mncoppola/ws30/blob/master/basefind.cpp) 15 | - `rbasefind.tar.gz` 使用rust语言重新编写的基地址查找工具,多线程,速度快,此文件是根据 [@sgayou](https://github.com/sgayou) 的代码,进行编译生成的二进制文件,可以直接运行。 16 | - 推荐使用新工具:[binbloom](https://github.com/quarkslab/binbloom) 17 | 18 | ## 固件修复 19 | 20 | 添加elf信息 21 | 22 | - `addelfinfo-arm32.py` 根据glibc中的ELF定义,为原始的固件增加ELF头和节表。方便IDA直接识别。 23 | - 推荐使用新工具:[elfspirit](https://github.com/liyansong2018/elfspirit) 24 | 25 | Bare-Meta(裸机程序) 26 | 27 | - [SVD-Loader-Ghidra](https://github.com/leveldown-security/SVD-Loader-Ghidra)自动加载内存映射寄存器表的Ghidra插件,针对CotexM系列芯片 28 | - [Reverse Engineering Radios – ARM Binary Images in IDA Pro](https://do1alx.de/2022/reverse-engineering-radios-arm-binary-images-in-ida-pro/) 29 | - [硬件安全系列——ARM Cortex-M4固件逆向分析](https://www.anquanke.com/post/id/209364) 30 | 31 | ## 仿真 32 | 33 | Bare-Meta or Cortex M3/4 34 | 35 | - [SHiFT](https://github.com/RiS3-Lab/SHiFT) 36 | - [MultiFuzz](https://github.com/MultiFuzz/MultiFuzz) 37 | - [fuzzware](https://github.com/fuzzware-fuzzer/fuzzware) 38 | - [uEmu](https://github.com/MCUSec/uEmu) 39 | 40 | Linux系统 41 | 42 | - [Firmadyne](https://github.com/firmadyne/firmadyne) 43 | - [Fap](https://github.com/liyansong2018/firmware-analysis-plus) 44 | - [EMUX](https://github.com/therealsaumil/emux) 45 | -------------------------------------------------------------------------------- /addelfinfo-arm32.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import struct 3 | 4 | def addelfinfo(): 5 | with open(sys.argv[2]) as fs: 6 | fs.seek(0, 2) 7 | file_length = fs.tell() 8 | fs.seek(0, 0) 9 | print("[*] source file length is: 0x%x" % file_length) 10 | 11 | base_address = sys.argv[3] 12 | base_address = int(base_address, 16) 13 | print("[*] base address is: 0x%x" % base_address) 14 | 15 | with open(sys.argv[2] + ".elf", "wb+") as fn: 16 | # ELF header: 0 ~ 0x33 (54 Bytes) 17 | fn.write("\x7fELF") # EI_MAG0-3 18 | fn.write("\x01") # EI_CLASS ELFCLASS32=1 19 | 20 | if sys.argv[1] == "little": # EI_DATA 21 | fn.write("\x01") 22 | elif sys.argv[1] == "big": 23 | fn.write("\x02") 24 | 25 | fn.write("\x01") # EI_VERSION 26 | fn.write("\x00") # EI_OSABI 27 | fn.write("\x00") # EI_ABIVERSION 28 | fn.write("\x00" * 7) # EI_PAD 29 | 30 | fn.write("\x02\x00") # e_type 31 | fn.write("\x28\x00") # e_machine 32 | fn.write("\x01\x00\x00\x00") # e_version 33 | fn.write(struct.pack(" " % sys.argv[0]) 70 | else: 71 | addelfinfo() 72 | -------------------------------------------------------------------------------- /basefind.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | # Single thread 3 | 4 | import gc 5 | import os 6 | import re 7 | import signal 8 | import struct 9 | import sys 10 | from operator import itemgetter 11 | 12 | chars = r"A-Za-z0-9/\-:.,_$%'\"()[\]<> " 13 | min_length = 10 14 | scores = [] 15 | top_score = 0 16 | 17 | regexp = "[%s]{%d,}" % (chars, min_length) 18 | pattern = re.compile(regexp) 19 | regexpc = "[%s]{1,}" % chars 20 | patternc = re.compile(regexpc) 21 | 22 | def high_scores(signal, frame): 23 | print "\nTop 20 base address candidates:" 24 | for score in sorted(scores, key=itemgetter(1), reverse=True)[:20]: 25 | print "0x%x\t%d" % score 26 | sys.exit(0) 27 | 28 | def get_pointers(f): 29 | table = {} 30 | f.seek(0) 31 | while True: 32 | try: 33 | value = struct.unpack("= size: 48 | break 49 | f.seek(offset) 50 | try: 51 | data = f.read(10) 52 | except: 53 | break 54 | match = pattern.match(data) 55 | if match: 56 | f.seek(offset - 1) 57 | try: 58 | char = f.read(1) 59 | except: 60 | continue 61 | if not patternc.match(char): 62 | tbladd(offset) 63 | offset += len(match.group(0)) 64 | offset += 1 65 | return table 66 | 67 | if __name__ == "__main__": 68 | import argparse 69 | parser = argparse.ArgumentParser() 70 | def auto_int(x): 71 | return int(x, 0) 72 | parser.add_argument("--min_addr", type=auto_int, help="start searching at this address", default=0) 73 | parser.add_argument("--max_addr", type=auto_int, help="stop searching at this address", default=0xf0000000) 74 | parser.add_argument("--page_size", type=auto_int, help="search every this many byte", default=0x1000) 75 | parser.add_argument("infile", help="file to scan") 76 | args = parser.parse_args() 77 | 78 | size = os.path.getsize(args.infile) 79 | f = open(args.infile, "rb") 80 | scores = [] 81 | 82 | print "Scanning binary for strings..." 83 | str_table = get_strings(f, size) 84 | print "Total strings found: %d" % len(str_table) 85 | 86 | print "Scanning binary for pointers..." 87 | ptr_table = get_pointers(f) 88 | print "Total pointers found: %d" % len(ptr_table) 89 | 90 | f.close() 91 | gc.disable() 92 | signal.signal(signal.SIGINT, high_scores) 93 | 94 | for base in xrange(args.min_addr, args.max_addr, args.page_size): 95 | if base % args.page_size == 0: 96 | print "Trying base address 0x%x" % base 97 | score = 0 98 | for ptr in ptr_table.keys(): 99 | if ptr < base: 100 | #print "Removing pointer 0x%x from table" % ptr 101 | del ptr_table[ptr] 102 | continue 103 | if ptr >= (base + size): 104 | continue 105 | offset = ptr - base 106 | if offset in str_table: 107 | score += ptr_table[ptr] 108 | if score: 109 | scores.append((base, score)) 110 | if score > top_score: 111 | top_score = score 112 | print "New highest score, 0x%x: %d" % (base, score) 113 | 114 | high_scores(0, 0) 115 | -------------------------------------------------------------------------------- /busybox-armv8l: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/busybox-armv8l -------------------------------------------------------------------------------- /prebuilt_static_bins/README.md: -------------------------------------------------------------------------------- 1 | ## Individual statically linked executables for MANY architectures and ABIs, most (all?) with soft-float 2 | 3 | ### Including 4 | 5 | * gawk 6 | * gdb 7 | * libpcap 8 | * lsof 9 | * mawk 10 | * tcpdump 11 | * tsh 12 | -------------------------------------------------------------------------------- /prebuilt_static_bins/gawk/gawk-4.1.4-armel-eabi5-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gawk/gawk-4.1.4-armel-eabi5-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gawk/gawk-4.1.4-mips-ii: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gawk/gawk-4.1.4-mips-ii -------------------------------------------------------------------------------- /prebuilt_static_bins/gawk/gawk-4.1.4-mips-mips32-rel2-musl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gawk/gawk-4.1.4-mips-mips32-rel2-musl -------------------------------------------------------------------------------- /prebuilt_static_bins/gawk/gawk-4.1.4-mipsel-i-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gawk/gawk-4.1.4-mipsel-i-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gawk/gawk-4.1.4-mipsel-mips-ii: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gawk/gawk-4.1.4-mipsel-mips-ii -------------------------------------------------------------------------------- /prebuilt_static_bins/gawk/gawk-4.1.4-mipsel-mips32-rel2-musl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gawk/gawk-4.1.4-mipsel-mips32-rel2-musl -------------------------------------------------------------------------------- /prebuilt_static_bins/gawk/gawk-4.1.4-mipsel-mips32-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gawk/gawk-4.1.4-mipsel-mips32-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gawk/gawk-4.1.4-powerpc-sysv-muslsf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gawk/gawk-4.1.4-powerpc-sysv-muslsf -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/README.md: -------------------------------------------------------------------------------- 1 | ## Pre-built gdbserver executables for many platforms 2 | 3 | These were used mostly on embedded devices. They were tested thoroughly and work very well- most if not all should have the most compatible options, i.e. software floating point emulation, etc. Some are actually customized for a specific CPU (i.e. the lexra build) so you might need to try a few on an exotic target because I didn't document things well enough while building. If you don't use the right one or you will get funny errors or segmentation faults. An error that contain s a paren almost always means that the endianness is incorect. Note some of these were built with musl while some were built with uClibc (in case you're interested) 4 | 5 | ## Inventory 6 | 7 | ``` 8 | gdbserver-7.7.1-armel-eabi5-v1-sysv: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked 9 | gdbserver-7.7.1-armhf-eabi5-v1-sysv: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked 10 | gdbserver-7.7.1-armel-v1: ELF 32-bit LSB executable, ARM, version 1, statically linked 11 | gdbserver-7.12-i486-sysv: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked 12 | gdbserver-7.12-mipsel-mips32rel2-v1: ELF 32-bit LSB executable, MIPS, MIPS32 rel2 version 1, statically linked 13 | gdbserver-7.12-mips-mips32rel2-v1: ELF 32-bit MSB executable, MIPS, MIPS32 rel2 version 1, statically linked 14 | gdbserver-7.12-mipsel-mips32rel2-v1-sysv: ELF 32-bit LSB executable, MIPS, MIPS32 rel2 version 1 (SYSV), statically linked 15 | gdbserver-7.12-mips-mips32rel2-v1-sysv: ELF 32-bit MSB executable, MIPS, MIPS32 rel2 version 1 (SYSV), statically linked 16 | gdbserver-7.7.1-mips-mips32-v1: ELF 32-bit MSB executable, MIPS, MIPS32 version 1, statically linked 17 | gdbserver-7.7.1-mipsel-mips32-v1: ELF 32-bit LSB executable, MIPS, MIPS32 version 1 (SYSV), statically linked 18 | gdbserver-7.7.1-mips-mips32-v1-sysv: ELF 32-bit MSB executable, MIPS, MIPS32 version 1 (SYSV), statically linked 19 | gdbserver-7.12-mips64-mips64rel2-v1-sysv: ELF 64-bit MSB executable, MIPS, MIPS64 rel2 version 1 (SYSV), statically linked 20 | gdbserver-7.12-mipsel64-mips64rel2-v1-sysv: ELF 64-bit LSB executable, MIPS, MIPS64 rel2 version 1 (SYSV), statically linked 21 | gdbserver-7.12-mips64-mips64-v1-sysv: ELF 64-bit MSB executable, MIPS, MIPS64 version 1 (SYSV), statically linked 22 | gdbserver-7.12-mipsel64-mips64-v1-sysv: ELF 64-bit LSB executable, MIPS, MIPS64 version 1 (SYSV), statically linked 23 | gdbserver-7.12-mips-mips64-v1-sysv: ELF 32-bit MSB executable, MIPS, MIPS64 version 1 (SYSV), statically linked 24 | gdbserver-7.12-mips64-mips-iii-v1-sysv: ELF 64-bit MSB executable, MIPS, MIPS-III version 1 (SYSV), statically linked 25 | gdbserver-7.12-mipsel64-mips-iii-v1-sysv: ELF 64-bit LSB executable, MIPS, MIPS-III version 1 (SYSV), statically linked 26 | gdbserver-7.12-mips-mips-iii-v1-sysv: ELF 32-bit MSB executable, MIPS, MIPS-III version 1 (SYSV), statically linked 27 | gdbserver-7.7.1-mipsel-ii-v1: ELF 32-bit LSB executable, MIPS, MIPS-II version 1, statically linked 28 | gdbserver-7.7.1-mips-mips-ii-v1: ELF 32-bit MSB executable, MIPS, MIPS-II version 1, statically linked 29 | gdbserver-7.12-mips-mips-i-v1: ELF 32-bit MSB executable, MIPS, MIPS-I version 1, statically linked 30 | gdbserver-7.12-mipsel-i-v1-sysv: ELF 32-bit LSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked 31 | gdbserver-6.8-mips-i-rtl819x-lexra: ELF 32-bit MSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked 32 | gdbserver-7.12-mips-i-v1-rtl819x-rsdk-1.3.6-4181-EB-2.6.30-0.9.30: ELF 32-bit MSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked 33 | gdbserver-7.12-mips-i-v1-rtl819x-rsdk-1.3.6-5281-EB-2.6.30-0.9.30: ELF 32-bit MSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked 34 | gdbserver-7.7.1-mips-mips-i-v1-sysv: ELF 32-bit MSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked 35 | gdbserver-7.12-mips64-mips-iv-v1-sysv: ELF 64-bit MSB executable, MIPS, MIPS-IV version 1 (SYSV), statically linked 36 | gdbserver-7.12-mipsel64-mips-iv-v1-sysv: ELF 64-bit LSB executable, MIPS, MIPS-IV version 1 (SYSV), statically linked 37 | gdbserver-7.12-mips64-n32-rel2v1-v1-sysv: ELF 32-bit MSB executable, MIPS, N32 MIPS64 rel2 version 1 (SYSV), statically linked 38 | gdbserver-7.12-mipsel64-n32-rel2v1-v1-sysv: ELF 32-bit LSB executable, MIPS, N32 MIPS64 rel2 version 1 (SYSV), statically linked 39 | gdbserver-7.12-mips64-n32-mips64-v1-sysv: ELF 32-bit MSB executable, MIPS, N32 MIPS64 version 1 (SYSV), statically linked 40 | gdbserver-7.12-mipsel64-n32-mips64-v1-sysv: ELF 32-bit LSB executable, MIPS, N32 MIPS64 version 1 (SYSV), statically linked 41 | gdbserver-7.12-mips64-n32-mips-iii-v1-sysv: ELF 32-bit MSB executable, MIPS, N32 MIPS-III version 1 (SYSV), statically linked 42 | gdbserver-7.12-mipsel64-n32-mips-iii-v1-sysv: ELF 32-bit LSB executable, MIPS, N32 MIPS-III version 1 (SYSV), statically linked 43 | gdbserver-7.12-mips64-n32-mips-iv-v1-sysv: ELF 32-bit MSB executable, MIPS, N32 MIPS-IV version 1 (SYSV), statically linked 44 | gdbserver-7.12-mipsel64-n32-mips-iv-v1-sysv: ELF 32-bit LSB executable, MIPS, N32 MIPS-IV version 1 (SYSV), statically linked 45 | gdbserver-7.12-ppc-sysv: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), statically linked 46 | gdbserver-7.12-x86_64-sysv: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked 47 | ``` 48 | 49 | These are not stripped, go ahead and strip them if you want. And once more, there are now many more than just gdbserver executables in this repository, explore the directory tree 50 | 51 | *Note* The special rtl819x-lexra build. This is a build specific to rtl819x SoC with Lexra CPU. Lexra CPUs are a MIPS-I with some standard MIPS instructions not implemented, specifically unaligned/half-word loads, stores, shifts. Silly. Thanks to https://github.com/KrabbyPatty/rtl819x-toolchain for making a toolchain available to build this specific binary. I was unable to get gdb 7.7.1 to build, so it is version 6.8. 52 | *Note* The ARMEL OABI/Old ABI is supported via gdbserver-7.7.1-armel-v1 53 | 54 | ## Other options 55 | 56 | If you want to build your own gdbserver from some toolchain of your own, take a look at my other repo @ https://github.com/mzpqnxow/gdb-7.12-crossbuilder as it may save you an hour or two of toiling with gdb, which doesn't have a straightforward README or configure option to produce a statically linked gdbserver 57 | -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-6.8-mips-i-rtl819x-lexra: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-6.8-mips-i-rtl819x-lexra -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-i486-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-i486-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mips-i-v1-rtl819x-rsdk-1.3.6-4181-EB-2.6.30-0.9.30: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mips-i-v1-rtl819x-rsdk-1.3.6-4181-EB-2.6.30-0.9.30 -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mips-i-v1-rtl819x-rsdk-1.3.6-5281-EB-2.6.30-0.9.30: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mips-i-v1-rtl819x-rsdk-1.3.6-5281-EB-2.6.30-0.9.30 -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mips-mips-i-v1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mips-mips-i-v1 -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mips-mips-iii-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mips-mips-iii-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mips-mips-iv-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mips-mips-iv-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mips-mips32rel2-v1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mips-mips32rel2-v1 -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mips-mips32rel2-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mips-mips32rel2-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mips-mips64-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mips-mips64-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mips64-mips-iii-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mips64-mips-iii-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mips64-mips-iv-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mips64-mips-iv-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mips64-mips64-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mips64-mips64-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mips64-mips64rel2-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mips64-mips64rel2-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mips64-n32-mips-iii-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mips64-n32-mips-iii-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mips64-n32-mips-iv-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mips64-n32-mips-iv-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mips64-n32-mips64-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mips64-n32-mips64-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mips64-n32-rel2v1-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mips64-n32-rel2v1-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel-i-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel-i-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel-mips32rel2-v1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel-mips32rel2-v1 -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel-mips32rel2-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel-mips32rel2-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel64-mips-iii-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel64-mips-iii-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel64-mips-iv-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel64-mips-iv-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel64-mips64-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel64-mips64-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel64-mips64rel2-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel64-mips64rel2-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel64-n32-mips-iii-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel64-n32-mips-iii-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel64-n32-mips-iv-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel64-n32-mips-iv-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel64-n32-mips64-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel64-n32-mips64-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel64-n32-rel2v1-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-mipsel64-n32-rel2v1-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-ppc-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-ppc-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.12-x86_64-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.12-x86_64-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.7.1-armel-eabi5-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.7.1-armel-eabi5-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.7.1-armel-v1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.7.1-armel-v1 -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.7.1-armhf-eabi5-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.7.1-armhf-eabi5-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.7.1-mips-mips-i-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.7.1-mips-mips-i-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.7.1-mips-mips-ii-v1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.7.1-mips-mips-ii-v1 -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.7.1-mips-mips32-v1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.7.1-mips-mips32-v1 -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.7.1-mips-mips32-v1-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.7.1-mips-mips32-v1-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.7.1-mipsel-ii-v1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.7.1-mipsel-ii-v1 -------------------------------------------------------------------------------- /prebuilt_static_bins/gdbserver/gdbserver-7.7.1-mipsel-mips32-v1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/gdbserver/gdbserver-7.7.1-mipsel-mips32-v1 -------------------------------------------------------------------------------- /prebuilt_static_bins/lsof/README.md: -------------------------------------------------------------------------------- 1 | ## Statically linked lsof binaries for ARM and MIPS systems 2 | 3 | You may have issues with those versions not built with musl libc since their nsswitch libraries can't be statically linked. You might get away with running lsof as follows to suppress using /etc/hosts or /etc/services file: 4 | 5 | ``` 6 | $./lsof -n -P -w 7 | ``` 8 | 9 | For the musl libc statically compiled executables, there should be no problems so long as you have the right architecture 10 | -------------------------------------------------------------------------------- /prebuilt_static_bins/lsof/lsof-4.86-armel-eabi5-sysv-musl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/lsof/lsof-4.86-armel-eabi5-sysv-musl -------------------------------------------------------------------------------- /prebuilt_static_bins/lsof/lsof-4.86-armhf-eabi5-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/lsof/lsof-4.86-armhf-eabi5-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/lsof/lsof-4.86-mips-i: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/lsof/lsof-4.86-mips-i -------------------------------------------------------------------------------- /prebuilt_static_bins/lsof/lsof-4.86-mips-ii: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/lsof/lsof-4.86-mips-ii -------------------------------------------------------------------------------- /prebuilt_static_bins/lsof/lsof-4.86-mips-mips32-rel2-musl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/lsof/lsof-4.86-mips-mips32-rel2-musl -------------------------------------------------------------------------------- /prebuilt_static_bins/lsof/lsof-4.86-mipsel-ii: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/lsof/lsof-4.86-mipsel-ii -------------------------------------------------------------------------------- /prebuilt_static_bins/lsof/lsof-4.86-mipsel-mips32-rel2-musl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/lsof/lsof-4.86-mipsel-mips32-rel2-musl -------------------------------------------------------------------------------- /prebuilt_static_bins/lsof/lsof-4.89-mipsel-i-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/lsof/lsof-4.89-mipsel-i-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/lsof/lsof-4.89-mipsel-mips32-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/lsof/lsof-4.89-mipsel-mips32-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/lsof/lsof-4.89-powerpc-sysv-muslsf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/lsof/lsof-4.89-powerpc-sysv-muslsf -------------------------------------------------------------------------------- /prebuilt_static_bins/mawk/README.md: -------------------------------------------------------------------------------- 1 | # Statically linked MIPS-I SYSV awk interpreter 2 | 3 | ## mawk-1.3.4, an alternative to GNU awk 4 | 5 | This is a statically compiled executable built by an older toolchain (hndtools-3.2.3/MIPSEL/MIPS-I/SYSV) that was not built to support wide characters. Without wide character support, the GNU interpreter can not be built, so for this specific architecture/ABI, mawk is the alternative. For practically all other architectures, ABIs and byte-orders you should be fine using the statically linked GNU awk interpreters in ```../gawk/``` 6 | 7 | ## Contents 8 | 9 | ``` 10 | mawk-1.3.4-mipsel-i-sysv: ELF 32-bit LSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked 11 | ``` 12 | 13 | ## Mawk 14 | 15 | Thank you Thomas E. Dickey, the developer of Mawk, and alternative AWK interpreter. The Mawk site is http://invisible-island.net/mawk/mawk.html 16 | 17 | ## Copyright 18 | 19 | Mawk is licensed under the GNU General Public License v2.0 20 | 21 | 22 | -------------------------------------------------------------------------------- /prebuilt_static_bins/mawk/mawk-1.3.4-mipsel-i-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/mawk/mawk-1.3.4-mipsel-i-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/tcpdump/tcpdump: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tcpdump/tcpdump -------------------------------------------------------------------------------- /prebuilt_static_bins/tcpdump/tcpdump-4.9.0-mips-mips32-rel2-musl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tcpdump/tcpdump-4.9.0-mips-mips32-rel2-musl -------------------------------------------------------------------------------- /prebuilt_static_bins/tcpdump/tcpdump-4.9.0-mipsel-mips32-rel2-musl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tcpdump/tcpdump-4.9.0-mipsel-mips32-rel2-musl -------------------------------------------------------------------------------- /prebuilt_static_bins/tcpdump/tcpdump-4.9.0-powerpc-sysv-muslsf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tcpdump/tcpdump-4.9.0-powerpc-sysv-muslsf -------------------------------------------------------------------------------- /prebuilt_static_bins/tcpdump/tcpdump-armel-eabi5-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tcpdump/tcpdump-armel-eabi5-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/tcpdump/tcpdump-mipsel-i-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tcpdump/tcpdump-mipsel-i-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/tcpdump/tcpdump-mipsel-mips32-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tcpdump/tcpdump-mipsel-mips32-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/tsh/README.md: -------------------------------------------------------------------------------- 1 | ## Behavior/configuration 2 | 3 | This was built to listen on port 9999. If you want to change that, see the last note. It doesn't require any arguments and will not emit any output. It will silently background. 4 | 5 | ## Changing the hardcoded secret without needing to rebuild 6 | 7 | If you use these binaries "stock" then in theory anyone can access your instance of tshd due to the fact that the secret is embedded in the binary. To deal with this problem, use [https://github.com/mzpqnxow/embedded-toolkit/blob/master/src/tsh/splice_secret.sh](splice_secret.sh) to change the passphrase. Unfortunately, this script isn't exactly user-friendly. In a nutshell, all it does is replace a 'default' password in the tsh and tshd binaries with a new password. The password must not contain NULL bytes, and the new password must/will be the same length as the default password. The default password these were built with is 'DEFAULTDEFAULTDEFAULTDEFAULTDEF\0' 8 | 9 | ## These aren't signed, I don't trust them 10 | 11 | Well, even if I signed them, you don't know who I am, and I'm not going to a key-signing party any time soon. Use at your own risk. 12 | 13 | ## Backdoor bounty 14 | 15 | If you can prove that these were backdoored by me (i.e. that they don't behave as the source code does in such a way that allows unauthorized access to the tshd system or client) then i will award you $10mm USD 16 | 17 | ## Changing default cb ip or listening port 18 | 19 | Yeah, well, sorry, you're stuck with the port unless you have the (not all that difficult) skill of finding the hardcoded integer (or immediate in the asm instruction, objdump -d is your friend) and replacing it yourself. I'll give you a script for that if you want.. 20 | -------------------------------------------------------------------------------- /prebuilt_static_bins/tsh/splice_secret.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # splice_secret.sh (C) 2016 copyright@mzpqnxow.com under GPLv2 4 | # -- please see LICENSE/LICENSE.md for more details on GPLv2 5 | # 6 | # This is a utility meant to be used on statically linked binaries for which 7 | # there is not a toolchain readily available. Because the passphrase by design 8 | # is hardcoded into the server, this tool just does an overengineered replace 9 | # of the secret without requiring a user to break out the entire toolchain 10 | # and recompile the tshd binary. The tool also remains as it originally was in 11 | # that it does not allow one to specify parameters on the commandline of the 12 | # server. This is intentional and philosophical choice. It has its benefits 13 | # and its drawbacks 14 | # 15 | # If your system is really stupid, you can fix the PATH or fix individual 16 | # binary locations. There are no dependencies here that can really be considered 17 | # third party, it uses entirely standard UNIX shell utilities, for portability. 18 | # The side effect is that it gets a little ugly for something that is essentially 19 | # a glorified sed 20 | # 21 | # The point of this script is to hack a passphrase into a prebuilt tsh/tshd 22 | # binaries that have already been built, and are not easy to rebuild 23 | # 24 | # Ideally, one would have one tsh/tshd for every architecture, ABI, endianness, 25 | # OS, OS version, etc. statically linked with some libc such as musl libc that 26 | # allows static linking without breaking nsswitch.conf based lookups.. Each of 27 | # these "golden" copies would have some default password, and it would be left 28 | # in tsh.h. These "golden" copies would not ever actually be used, but would 29 | # server as the template for this tool 30 | # 31 | # Before deploying and using tshd/tsh, you would use this tool to splice a new 32 | # password into the binary, without using any tools that could be a problem 33 | # with obscure CPU architectures. This could be done much more simply in a 34 | # language such as Python, but the aim was to be more portable and rely only 35 | # on standard shell utilities, regardless of how ugly things got 36 | # 37 | # For this to work, you will need the following: 38 | # 39 | # 1- A "golden" build of tsh/tshd for the architecture you intend to run tshd on 40 | # 2- The original tsh.h file for these two "golden" build files, or the ability 41 | # to recreate it (you need the `secret` from tsh.h and it needs to be in the 42 | # format that I have changed it to- a fixed size character array, initialized 43 | # at compile time 44 | # 3- The standard shell utilities listed below: 45 | # - chmod, dd, xxd, mktemp, wc, cut, cat, grep, rm, date, cp, dirname 46 | # 47 | # To use the tool, you would have the "golden" builds named "tsh" and "tshd" 48 | # already built along with the tsh.h header. You would then simply run: 49 | # 50 | # ./splice_password.sh 51 | # 52 | # This should go through the steps of splicing in your new password to both tsh 53 | # and tshd so they can be used without needing to be compiled again. For x86 54 | # and other commodity architectures, this isn't very useful because recompiling 55 | # is trivial and quick. However, for those architectures which require custom 56 | # toolchains and musl libc for basic things like gethostbyname() etc. to work 57 | # correctly, this is a nice timesaver if you would like to have tshd deployed 58 | # on more than one machine and don't want to use the same password, especially 59 | # across different security domains / levels of trust/privilege 60 | # 61 | # Another much easier approach would have been to leave the `secret` symbol in 62 | # at build-time, and use that to identify the `secret` byte, and then strip the 63 | # symbols after, but that has the disadvantage of requiring an a toolchain for 64 | # for the target platform 65 | # 66 | # In case you're not getting it, This is really meant for use on obscure embedded 67 | # devices where you can't rely on standard versions of glibc, uClibc or any other 68 | # libc and you want to use musl libc statically linked executables 69 | # 70 | # I'm sorry that this is poorly written. If you use it as described, you should 71 | # not encounter any problems but if things break, you're on your own. 72 | # 73 | # YMMV 74 | # 75 | # I'll take pull requests but a lot of this cruft was done for specific reasons 76 | # 77 | PATH=/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/bin 78 | CHMOD="$(which chmod)" 79 | DD="$(which dd)" 80 | MKTEMP="$(which mktemp)" 81 | WC="$(which wc)" 82 | CUT="$(which cut)" 83 | CAT="$(which cat)" 84 | GREP="$(which grep)" 85 | RM="$(which rm)" 86 | DATE="$(which date)" 87 | CP="$(which cp)" 88 | DIRNAME="$(which dirname)" 89 | 90 | NEW=$($DATE +%Y%m%d-%H%m%S) 91 | 92 | TSH=tsh 93 | TSHD=tshd 94 | 95 | TSH_NEW="$TSH.$NEW" 96 | TSHD_NEW="$TSHD.$NEW" 97 | NEW_NOTES="README.$NEW" 98 | TSH_HEADER="tsh.h" 99 | 100 | ZERO=/dev/zero 101 | 102 | $CHMOD 700 . 103 | umask 022 104 | 105 | function fatal() { 106 | echo "FATAL: $1" 107 | exit $2 108 | } 109 | 110 | function prereq() { 111 | echo '[+] Checking for basic system tools ...' 112 | for TOOL in $CHMOD $DD $MKTEMP $WC $CUT $CAT $GREP $RM $DATE $CP $DIRNAME 113 | do 114 | [[ -x "$TOOL" ]] || fatal "$TOOL is not found in your PATH" 42 115 | done 116 | echo ' [*] Done' 117 | echo '[+] Checking for prebuilt tsh/tshd and tsh header with secret ...' 118 | for tsh_file in $TSH $TSHD $TSH_H 119 | do 120 | [[ -e $TSH ]] || fatal 'tsh must already be built' 121 | done 122 | echo ' [*] Done' 123 | } 124 | 125 | function pad_null() { 126 | TMP_RAW_FILE='pass.raw' 127 | ARG_INSTRING="$1" 128 | SECRET_MAXLEN="$2" 129 | ARG_INSTRING_LEN=$(echo -n "$ARG_INSTRING" | $WC -c) 130 | if [ "$ARG_INSTRING_LEN" -gt "$SECRET_MAXLEN" ]; then 131 | fatal "FATAL: Password is too long, must be <= ${SECRET_MAXLEN} bytes !!" 42 132 | fi 133 | PAD_BYTES=$(echo $[$SECRET_MAXLEN-$ARG_INSTRING_LEN]) 134 | WORKDIR=$($MKTEMP -p "$PWD" -d) 135 | pushd "$WORKDIR" 2>&1 >/dev/null 136 | echo -n "$ARG_INSTRING" > "$TMP_RAW_FILE" 137 | $DD status=none if="$ZERO" of="$TMP_RAW_FILE" count="$PAD_BYTES" bs=1 conv=notrunc oflag=append || fatal "dd failed in pad_null" 42 138 | popd 2>&1 >/dev/null 139 | echo "$WORKDIR/$TMP_RAW_FILE" 140 | return 141 | } 142 | 143 | function usage() { 144 | echo "Usage:" 145 | echo " $0 " 146 | } 147 | 148 | function main() { 149 | if [ "$#" -ne 1 ]; then 150 | usage "$0" 151 | fi 152 | 153 | NEW_PASSWORD="$2" 154 | echo "[+] Splicing new password $NEW_PASSWORD into tsh/tshd binaries ..." 155 | 156 | # ORIGINAL_PASSWORD=$($CAT $TSH_HEADER | $GREP secret | $CUT -d '"' -f 2) 157 | # The builds in the embedded-toolkit repository used the following as the default secret 158 | ORIGINAL_PASSWORD='DEFAULTDEFAULTDEFAULTDEFAULTDEF' 159 | SECRET_MAXLEN=$(echo "$ORIGINAL_PASSWORD" | $WC -c | $CUT -d ' ' -f 1) 160 | SECRET_MAXLEN="$[$SECRET_MAXLEN-1]" 161 | echo "[+] Determined from tsh.h a maximum secret size of ${SECRET_MAXLEN} bytes ..." 162 | 163 | PADDED_PASSWORD_FILE=$(pad_null "$NEW_PASSWORD" "$SECRET_MAXLEN") 164 | echo "[+] Built a NULL padded buffer of $SECRET_MAXLEN bytes containing new password ..." 165 | 166 | ORIGINAL_PASSWORD="$($CAT $TSH_HEADER | $GREP 'secret' | $CUT -d '"' -f 2)" 167 | echo "[+] Grabbed the 'base' original password from the header file ..." 168 | 169 | echo "[+] Making sure base binaries $TSH and $TSHD were built from this tsh.h file ..." 170 | $GREP "$ORIGINAL_PASSWORD" $TSHD 2>&1 >/dev/null || fatal "password in $TSH_H does not match password in $TSHD binary. Cannote perform replacement" 42 171 | $GREP "$ORIGINAL_PASSWORD" $TSH 2>&1 >/dev/null || fatal "password in $TSH_H does not match password in $TSH binary. Cannot perform replacement" 42 172 | 173 | TSH_PASS_OFFSET=$($GREP --byte-offset --only-matching --text "$ORIGINAL_PASSWORD" $TSH) || fatal "$TSH_H does not seem to match $TSH binary ..." 42 174 | TSH_PASS_OFFSET=$(echo $TSH_PASS_OFFSET | $CUT -d ':' -f 1) || fatal "Bad output when parsing grep output from $TSH" 42 175 | printf "[*] Successfully found secret @ file offset 0x%x in $TSH\n" "$TSH_PASS_OFFSET" 176 | echo "[+] Performing splice of new password into $TSH_NEW .." 177 | $CP $TSH $TSH_NEW 178 | $DD status=none if="$PADDED_PASSWORD_FILE" of="$TSH_NEW" bs=1 seek="$TSH_PASS_OFFSET" conv=notrunc || fatal "$DD failed in tsh new" 42 179 | echo " [*] Done, created $TSH_NEW for deployment!" 180 | TSHD_PASS_OFFSET=$($GREP --byte-offset --only-matching --text "$ORIGINAL_PASSWORD" $TSHD) || fatal "$TSH_H does not seem to match $TSHD binary ..." 42 181 | TSHD_PASS_OFFSET=$(echo $TSHD_PASS_OFFSET | $CUT -d ':' -f 1) || fatal "Bad output when parsing grep output from $TSHD" 42 182 | printf "[*] Successfully found secret @ file offset 0x%x in $TSHD\n" "$TSHD_PASS_OFFSET" 183 | echo "[+] Performing splice of new password into $TSHD_NEW .." 184 | $CP $TSHD $TSHD_NEW 185 | $DD status=none if="$PADDED_PASSWORD_FILE" of="$TSHD_NEW" bs=1 seek="$TSHD_PASS_OFFSET" conv=notrunc || fatal "$DD failed in tshd new" 186 | echo " [*] Done, created $TSHD_NEW for deployment" 187 | TMP_DIRECTORY=$($DIRNAME $PADDED_PASSWORD_FILE) 188 | $RM -I -rf "$TMP_DIRECTORY" 189 | echo "The default password has been changed to the new password on both tsh and tshd" 190 | echo "The password for $TSH_NEW/$TSHD_NEW is $NEW_PASSWORD" > $NEW_NOTES 191 | #echo "Please see $TSH_NEW / $TSHD_NEW / $NEW_NOTES" 192 | echo 193 | return 194 | } 195 | 196 | main $0 $1 $2 197 | -------------------------------------------------------------------------------- /prebuilt_static_bins/tsh/tsh-armel-eabi5-sysv-musl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tsh/tsh-armel-eabi5-sysv-musl -------------------------------------------------------------------------------- /prebuilt_static_bins/tsh/tsh-i486-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tsh/tsh-i486-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/tsh/tsh-mips-mips32-rel2-v1-musl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tsh/tsh-mips-mips32-rel2-v1-musl -------------------------------------------------------------------------------- /prebuilt_static_bins/tsh/tsh-mipsel-i-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tsh/tsh-mipsel-i-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/tsh/tsh-mipsel-mips32-rel2-v1-sysv-musl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tsh/tsh-mipsel-mips32-rel2-v1-sysv-musl -------------------------------------------------------------------------------- /prebuilt_static_bins/tsh/tsh-mipsel-mips32-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tsh/tsh-mipsel-mips32-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/tsh/tsh-powerpc-sysv-muslsf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tsh/tsh-powerpc-sysv-muslsf -------------------------------------------------------------------------------- /prebuilt_static_bins/tsh/tsh-x86_64-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tsh/tsh-x86_64-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/tsh/tshd-armel-eabi5-sysv-musl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tsh/tshd-armel-eabi5-sysv-musl -------------------------------------------------------------------------------- /prebuilt_static_bins/tsh/tshd-i486-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tsh/tshd-i486-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/tsh/tshd-mips-mips32-rel2-v1-musl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tsh/tshd-mips-mips32-rel2-v1-musl -------------------------------------------------------------------------------- /prebuilt_static_bins/tsh/tshd-mipsel-i-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tsh/tshd-mipsel-i-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/tsh/tshd-mipsel-mips32-rel2-v1-sysv-musl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tsh/tshd-mipsel-mips32-rel2-v1-sysv-musl -------------------------------------------------------------------------------- /prebuilt_static_bins/tsh/tshd-mipsel-mips32-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tsh/tshd-mipsel-mips32-sysv -------------------------------------------------------------------------------- /prebuilt_static_bins/tsh/tshd-powerpc-sysv-muslsf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tsh/tshd-powerpc-sysv-muslsf -------------------------------------------------------------------------------- /prebuilt_static_bins/tsh/tshd-x86_64-sysv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/prebuilt_static_bins/tsh/tshd-x86_64-sysv -------------------------------------------------------------------------------- /rbasefind.tar.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/rbasefind.tar.gz -------------------------------------------------------------------------------- /toochains/musl-1.1.12/README.txt: -------------------------------------------------------------------------------- 1 | BINUTILS_URL=http://ftp.gnu.org/gnu/binutils/binutils-2.25.1.tar.bz2 2 | GCC_VERSION=5.3.0 3 | GMP_VERSION=6.0.0a 4 | MPC_VERSION=1.0.2 5 | MPFR_VERSION=3.1.3 6 | LIBELF_VERSION=master 7 | MUSL_DEFAULT_VERSION=1.1.12 8 | MUSL_GIT_VERSION=615629bd6fcd6ddb69ad762e679f088c7bd878e2 9 | LANG_CXX=no 10 | 11 | arm-linux-musleabi: 12 | LINUX_HEADERS_URL=https://kernel.org/pub/linux/kernel/v4.x/linux-4.1.17.tar.xz 13 | 14 | mipseb-linux-musl: 15 | mipsel-linux-musl: 16 | LINUX_HEADERS_URL=https://kernel.org/pub/linux/kernel/v2.6/longterm/v2.6.32/linux-2.6.32.70.tar.xz -------------------------------------------------------------------------------- /toochains/musl-1.1.12/arm-linux-musleabi.tar.xz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/toochains/musl-1.1.12/arm-linux-musleabi.tar.xz -------------------------------------------------------------------------------- /toochains/musl-1.1.12/mipseb-linux-musl.tar.xz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/toochains/musl-1.1.12/mipseb-linux-musl.tar.xz -------------------------------------------------------------------------------- /toochains/musl-1.1.12/mipsel-linux-musl.tar.xz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/secnotes/Tools2Firmware/a3073e460796b731779a4ad6ea80e419784b1fdb/toochains/musl-1.1.12/mipsel-linux-musl.tar.xz --------------------------------------------------------------------------------