Windows NT DGPENSV2LPKMN 10.0 build 14393 (Windows Server 2016) AMD64
Apache/2.4.46 (Win64) OpenSSL/1.1.1h PHP/7.3.25
: 172.16.0.66 | : 172.16.0.254
Cant Read [ /etc/named.conf ]
7.3.25
SYSTEM
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
[ A ]
[ C ]
[ D ]
C: /
laragon /
bin /
python /
python-3.10 /
Tools /
scripts /
[ HOME SHELL ]
Name
Size
Permission
Action
__pycache__
[ DIR ]
drwxrwxrwx
2to3.py
101
B
-rw-rw-rw-
abitype.py
5.64
KB
-rw-rw-rw-
analyze_dxp.py
4.21
KB
-rw-rw-rw-
byext.py
3.94
KB
-rw-rw-rw-
byteyears.py
1.67
KB
-rw-rw-rw-
checkpip.py
825
B
-rw-rw-rw-
cleanfuture.py
8.69
KB
-rw-rw-rw-
combinerefs.py
4.48
KB
-rw-rw-rw-
copytime.py
689
B
-rw-rw-rw-
crlf.py
655
B
-rw-rw-rw-
db2pickle.py
3.68
KB
-rw-rw-rw-
diff.py
2.26
KB
-rw-rw-rw-
dutree.py
1.66
KB
-rw-rw-rw-
eptags.py
1.6
KB
-rw-rw-rw-
find-uname.py
1.22
KB
-rw-rw-rw-
find_recursionlimit.py
4.03
KB
-rw-rw-rw-
finddiv.py
2.56
KB
-rw-rw-rw-
findlinksto.py
1.09
KB
-rw-rw-rw-
findnocoding.py
2.99
KB
-rw-rw-rw-
fixcid.py
10.24
KB
-rw-rw-rw-
fixdiv.py
14.28
KB
-rw-rw-rw-
fixheader.py
1.38
KB
-rw-rw-rw-
fixnotice.py
3.06
KB
-rw-rw-rw-
fixps.py
923
B
-rw-rw-rw-
generate_opcode_h.py
2.25
KB
-rw-rw-rw-
generate_stdlib_module_names.p...
4.7
KB
-rw-rw-rw-
generate_token.py
7.08
KB
-rw-rw-rw-
get-remote-certificate.py
2.7
KB
-rw-rw-rw-
google.py
526
B
-rw-rw-rw-
gprof2html.py
2.33
KB
-rw-rw-rw-
highlight.py
9.21
KB
-rw-rw-rw-
ifdef.py
3.73
KB
-rw-rw-rw-
import_diagnostics.py
1.01
KB
-rw-rw-rw-
lfcr.py
664
B
-rw-rw-rw-
linktree.py
2.46
KB
-rw-rw-rw-
lll.py
775
B
-rw-rw-rw-
mailerdaemon.py
8.09
KB
-rw-rw-rw-
make_ctype.py
2.32
KB
-rw-rw-rw-
md5sum.py
2.55
KB
-rw-rw-rw-
mkreal.py
1.66
KB
-rw-rw-rw-
ndiff.py
3.86
KB
-rw-rw-rw-
nm2def.py
2.53
KB
-rw-rw-rw-
objgraph.py
6.01
KB
-rw-rw-rw-
parse_html5_entities.py
4.01
KB
-rw-rw-rw-
parseentities.py
1.76
KB
-rw-rw-rw-
patchcheck.py
10.81
KB
-rw-rw-rw-
pathfix.py
6.85
KB
-rw-rw-rw-
pdeps.py
4.07
KB
-rw-rw-rw-
pep384_macrocheck.py
4.75
KB
-rw-rw-rw-
pickle2db.py
4.07
KB
-rw-rw-rw-
pindent.py
17.22
KB
-rw-rw-rw-
ptags.py
1.34
KB
-rw-rw-rw-
pydoc3.py
85
B
-rw-rw-rw-
pysource.py
3.9
KB
-rw-rw-rw-
reindent-rst.py
293
B
-rw-rw-rw-
reindent.py
11.7
KB
-rw-rw-rw-
rgrep.py
1.61
KB
-rw-rw-rw-
run_tests.py
1.83
KB
-rw-rw-rw-
serve.py
1.23
KB
-rw-rw-rw-
smelly.py
5.07
KB
-rw-rw-rw-
stable_abi.py
20.91
KB
-rw-rw-rw-
suff.py
536
B
-rw-rw-rw-
texi2html.py
70.75
KB
-rw-rw-rw-
untabify.py
1.32
KB
-rw-rw-rw-
update_file.py
790
B
-rw-rw-rw-
var_access_benchmark.py
11.92
KB
-rw-rw-rw-
verify_ensurepip_wheels.py
3.21
KB
-rw-rw-rw-
which.py
1.71
KB
-rw-rw-rw-
win_add2path.py
1.68
KB
-rw-rw-rw-
Delete
Unzip
Zip
${this.title}
Close
Code Editor : pep384_macrocheck.py
""" pep384_macrocheck.py This program tries to locate errors in the relevant Python header files where macros access type fields when they are reachable from the limited API. The idea is to search macros with the string "->tp_" in it. When the macro name does not begin with an underscore, then we have found a dormant error. Christian Tismer 2018-06-02 """ import sys import os import re DEBUG = False def dprint(*args, **kw): if DEBUG: print(*args, **kw) def parse_headerfiles(startpath): """ Scan all header files which are reachable fronm Python.h """ search = "Python.h" name = os.path.join(startpath, search) if not os.path.exists(name): raise ValueError("file {} was not found in {}\n" "Please give the path to Python's include directory." .format(search, startpath)) errors = 0 with open(name) as python_h: while True: line = python_h.readline() if not line: break found = re.match(r'^\s*#\s*include\s*"(\w+\.h)"', line) if not found: continue include = found.group(1) dprint("Scanning", include) name = os.path.join(startpath, include) if not os.path.exists(name): name = os.path.join(startpath, "../PC", include) errors += parse_file(name) return errors def ifdef_level_gen(): """ Scan lines for #ifdef and track the level. """ level = 0 ifdef_pattern = r"^\s*#\s*if" # covers ifdef and ifndef as well endif_pattern = r"^\s*#\s*endif" while True: line = yield level if re.match(ifdef_pattern, line): level += 1 elif re.match(endif_pattern, line): level -= 1 def limited_gen(): """ Scan lines for Py_LIMITED_API yes(1) no(-1) or nothing (0) """ limited = [0] # nothing unlimited_pattern = r"^\s*#\s*ifndef\s+Py_LIMITED_API" limited_pattern = "|".join([ r"^\s*#\s*ifdef\s+Py_LIMITED_API", r"^\s*#\s*(el)?if\s+!\s*defined\s*\(\s*Py_LIMITED_API\s*\)\s*\|\|", r"^\s*#\s*(el)?if\s+defined\s*\(\s*Py_LIMITED_API" ]) else_pattern = r"^\s*#\s*else" ifdef_level = ifdef_level_gen() status = next(ifdef_level) wait_for = -1 while True: line = yield limited[-1] new_status = ifdef_level.send(line) dir = new_status - status status = new_status if dir == 1: if re.match(unlimited_pattern, line): limited.append(-1) wait_for = status - 1 elif re.match(limited_pattern, line): limited.append(1) wait_for = status - 1 elif dir == -1: # this must have been an endif if status == wait_for: limited.pop() wait_for = -1 else: # it could be that we have an elif if re.match(limited_pattern, line): limited.append(1) wait_for = status - 1 elif re.match(else_pattern, line): limited.append(-limited.pop()) # negate top def parse_file(fname): errors = 0 with open(fname) as f: lines = f.readlines() type_pattern = r"^.*?->\s*tp_" define_pattern = r"^\s*#\s*define\s+(\w+)" limited = limited_gen() status = next(limited) for nr, line in enumerate(lines): status = limited.send(line) line = line.rstrip() dprint(fname, nr, status, line) if status != -1: if re.match(define_pattern, line): name = re.match(define_pattern, line).group(1) if not name.startswith("_"): # found a candidate, check it! macro = line + "\n" idx = nr while line.endswith("\\"): idx += 1 line = lines[idx].rstrip() macro += line + "\n" if re.match(type_pattern, macro, re.DOTALL): # this type field can reach the limited API report(fname, nr + 1, macro) errors += 1 return errors def report(fname, nr, macro): f = sys.stderr print(fname + ":" + str(nr), file=f) print(macro, file=f) if __name__ == "__main__": p = sys.argv[1] if sys.argv[1:] else "../../Include" errors = parse_headerfiles(p) if errors: # somehow it makes sense to raise a TypeError :-) raise TypeError("These {} locations contradict the limited API." .format(errors))
Close