403Webshell
Server IP : 217.160.0.212  /  Your IP : 216.73.217.5
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1073854427 ( 1073854427)
PHP Version : 8.4.23
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/share/emacs/28.2/lisp/net/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/emacs/28.2/lisp/net/ntlm.elc
;ELC
;;; Compiled
;;; in Emacs version 28.2
;;; with all optimizations.



(byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310\311\312&\210\313\314\315\316\317DD\320\321\322%\207" [require md4 hmac-md5 custom-declare-group ntlm nil "NTLM (NT LanManager) authentication." :version "25.1" :group comm custom-declare-variable ntlm-compatibility-level funcall function #[0 "\300\207" [5] 1 ""] "The NTLM compatibility level.\nOrdered from 0, the oldest, least-secure level through 5, the\nnewest, most-secure level.  Newer servers may reject lower\nlevels.  At levels 3 through 5, send LMv2 and NTLMv2 responses.\nAt levels 0, 1 and 2, send LM and NTLM responses.\n\nIn this implementation, levels 0, 1 and 2 are the same (old,\ninsecure), and levels 3, 4 and 5 are the same (new, secure).  If\nNTLM authentication isn't working at level 5, try level 0.  The\nother levels are only present because other clients have six\nlevels." :type (choice (const 0) (const 1) (const 2) (const 3) (const 4) (const 5))] 8)
#@309 Return the NTLM authentication request string for USER and DOMAIN.
USER is a string representing a user name to be authenticated and
DOMAIN is a NT domain.  USER can include a NT domain part as in
user@domain where the string after @ is used as the domain if DOMAIN
is not given.

(fn USER &optional DOMAIN)
(defalias 'ntlm-build-auth-request #[513 "\300\301\302\303\"P\301\302\211\"\301\304\303\"P\301\302\305\"\301\302\306\"\301\302\307\"\301\302\303\"R\203?\310\311\"\203?\2048\303\224T\312O\262\303\211\224O\262;\203UG\303V\203U\211\302\313\302H\314\"I\210GG\315\\\316!\316!\317\303\315B!\316!\316	!\317\303\nB!\260\207" ["NTLMSSP" make-string 1 0 3 7 130 8 string-match "@" nil logior 16 32 md4-pack-int16 md4-pack-int32] 19 (#$ . 1028) nil])
#@53 Convert the natural number X into a bignat.

(fn X)
(defalias 'ntlm--bignat-of-int #[257 "\211\300U?\205\301\302\"\303\304\305\"!B\207" [0 logand 255 ntlm--bignat-of-int ash -8] 6 (#$ . 1817)])
(byte-code "\300\301\302\303#\300\207" [function-put ntlm--bignat-of-int pure t] 4)
#@81 Add the bignats A and B and the natural number CARRY.

(fn A B &optional CARRY)
(defalias 'ntlm--bignat-add #[770 "\204\204\211\205?\211\300U?\205?\203@\202\300\203&@\202'\300\\\206-\300\\\301\302\"\303AA\304\305\"#B\262\207" [0 logand 255 ntlm--bignat-add ash -8] 11 (#$ . 2105)])
(byte-code "\300\301\302\303#\300\207" [function-put ntlm--bignat-add pure t] 4)
#@44 Multiply the bignat X by 2^{8N}.

(fn X N)
(defalias 'ntlm--bignat-shift-left #[514 "\211\300U\203\207\301\300BS\"\207" [0 ntlm--bignat-shift-left] 5 (#$ . 2499)])
(byte-code "\300\301\302\303#\300\207" [function-put ntlm--bignat-shift-left pure t] 4)
#@50 Multiply the bignat A with the byte B.

(fn A B)
(defalias 'ntlm--bignat-mul-byte #[514 "\300\301\302\"\"\303\300\304\"\305\300\306\"B\"\207" [mapcar make-closure #[257 "\211\300_\207" [V0] 3 "\n\n(fn X)"] ntlm--bignat-add #[257 "\300\301\"\207" [logand 255] 4 "\n\n(fn X)"] 0 #[257 "\300\301\"\207" [ash -8] 4 "\n\n(fn X)"]] 9 (#$ . 2762)])
(byte-code "\300\301\302\303#\300\207" [function-put ntlm--bignat-mul-byte pure t] 4)
#@41 Multiply the bignats A and B.

(fn A B)
(defalias 'ntlm--bignat-mul #[514 "\205\211\205\300\301@\"\302\303A\"B\"\207" [ntlm--bignat-add ntlm--bignat-mul-byte 0 ntlm--bignat-mul] 8 (#$ . 3202)])
(byte-code "\300\301\302\303#\300\207" [function-put ntlm--bignat-mul pure t] 4)
#@56 Convert the string S (in decimal) to a bignat.

(fn S)
(defalias 'ntlm--bignat-of-string #[257 "\300\301\302\303\"\262!!\207" [ntlm--bignat-of-digits reverse append nil] 7 (#$ . 3492)])
(byte-code "\300\301\302\303#\300\207" [function-put ntlm--bignat-of-string pure t] 4)
#@83 Convert the little-endian list DIGITS of decimal digits to a bignat.

(fn DIGITS)
(defalias 'ntlm--bignat-of-digits #[257 "\211\205\300\301\302\303A!\304\"@\305Z#\207" [ntlm--bignat-add nil ntlm--bignat-mul-byte ntlm--bignat-of-digits 10 48] 6 (#$ . 3774)])
(byte-code "\300\301\302\303#\300\207" [function-put ntlm--bignat-of-digits pure t] 4)
#@76 Convert the bignat X to a 64-bit little-endian number as a string.

(fn X)
(defalias 'ntlm--bignat-to-int64 #[257 "\300\301\302\303\304\"\305\306\307\"\"\"\207" [apply unibyte-string mapcar make-closure #[257 "\211\3008\206\301\207" [V0 0] 3 "\n\n(fn N)"] number-sequence 0 7] 8 (#$ . 4129)])
(byte-code "\300\301\302\303#\300\207" [function-put ntlm--bignat-to-int64 pure t] 4)
#@236 Convert TIME to an NTLMv2 timestamp.
Return a unibyte string representing the number of tenths of a
microsecond since January 1, 1601 as a 64-bit little-endian
signed integer.  TIME must be on the form (HIGH LOW USEC PSEC).

(fn TIME)
(defalias 'ntlm--time-to-timestamp #[257 "\300@!\300A@!\301\302\303\"\"\300\3038\304_!\300\3058\306\245!\307\301\211\211\310\311\"\"\"\"\312!\207" [ntlm--bignat-of-int ntlm--bignat-add ntlm--bignat-shift-left 2 10 3 100000 (0 128 62 213 222 177 157 1 0 0 0 0 0 0 0 0 0 0) ntlm--bignat-mul (128 150 152) ntlm--bignat-to-int64] 13 (#$ . 4518)])
#@59 Current time as an NTLMv2 timestamp, as a unibyte string.
(defalias 'ntlm-compute-timestamp #[0 "\300\301\302\303\"!\207" [ntlm--time-to-timestamp time-convert nil list] 4 (#$ . 5116)])
#@100 Generate a random nonce, not to be used more than once.
Return a random eight byte unibyte string.
(defalias 'ntlm-generate-nonce #[0 "\300\301\302!\301\302!\301\302!\301\302!\301\302!\301\302!\301\302!\301\302!&\207" [unibyte-string random 256] 10 (#$ . 5309)])
#@368 Return the response string to a challenge string CHALLENGE given by
the NTLM based server for the user USER and the password hash list
PASSWORD-HASHES.  NTLM uses two hash values which are represented
by PASSWORD-HASHES.  PASSWORD-HASHES should be a return value of
 (list (ntlm-smb-passwd-hash password) (ntlm-md4hash password))

(fn CHALLENGE USER PASSWORD-HASHES)
(defalias 'ntlm-build-auth-response #[771 "\301!\203\302\303!\210\304\305\"\202\211\306\307O\310\311\312\"\310\311\313\"\310\311\314\"\310\311\315\"R\307\316O\316\317O\320\321\314O!\322\211\323\324\325\f\"\203Q\n\315\224T\322O\262\n\315\211\224O\262\211;\203i\211G\315V\203i\311\326	\311H\327\"I\210\315\211\321W\203\206\330	HH\"I\210\211T\262\202j\210\250\203\230\315Y\203\230\331X\204\234\332\333!\210\334Y\203\331X\203A\335W\203\266\332\336!\210\202_\337	\340\341O!\320\n\342\335O!\nAA\\O\343\211G\"\226\344\343\211G\"PA@\"\345 \310\346\311\"\310\346\315\"\310\321\315\"\347 \310\321\315\"	\260\344\fP\"\344
P\"P\262\f\211P\262\266	\202_\330\346H\314\"\315U\204L\345 \350\351P\322\211\352%\211\315\314O\262\310\327\315\"P\262\353\fA@\"\262\266\202_\353\n@\"\262\353\nA@\"\262GG\fGG\354\346_\\\211\346_\\\211\355\\\211\\\356\357\360!\361\n!\361!\357\315B!\361\f!\361
!\357\315	B!\361\346_!\361\346_!\357\315\354B!\361\346_!\361\346_!\357\315\354B!\361\355!\361\355!\357\315B!\361\315!\361\315!\357\315\211B!!\343(\"\343\"\343\362\363\"\"\"\260\207" [ntlm-compatibility-level multibyte-string-p message "Incorrect challenge string type in ntlm-build-auth-response" encode-coding-string binary 12 20 make-string 1 7 130 8 0 24 32 md4-unpack-int32 4 nil "" string-match "@" logior 16 logand 5 error "Invalid ntlm-compatibility-level value" 3 48 "Failed to find target information block" md4-unpack-int16 40 42 44 ntlm-ascii2unicode hmac-md5 ntlm-generate-nonce 2 ntlm-compute-timestamp secure-hash md5 t ntlm-smb-owf-encrypt 64 22 "NTLMSSP" md4-pack-int32 (0 . 3) md4-pack-int16 "WORKSTATION" 11] 46 (#$ . 5580)])
#@90 Return a pair of SMB hash and NT MD4 hash of the given password PASSWORD.

(fn PASSWORD)
(defalias 'ntlm-get-password-hashes #[257 "\300!\301!D\207" [ntlm-smb-passwd-hash ntlm-md4hash] 4 (#$ . 7700)])
#@127 Convert an ASCII string STR of length LEN into a NT Unicode string.
NT Unicode strings are little-endian utf16.

(fn STR LEN)
(defalias 'ntlm-ascii2unicode #[514 "\300\301_\302\"\302\303W\203/H\211\262\302U\204/\301_I\210\301_T\302I\210T\262\202\207" [make-string 2 0 nil] 8 (#$ . 7910)])
#@92 Extract 7 bits ASCII part of a little endian utf16 string STR of length LEN.

(fn STR LEN)
(defalias 'ntlm-unicode2ascii #[514 "\300\301\"\301\211W\203#\302H\303\"I\210T\262\304\\\262\202\207" [make-string 0 logand 127 2] 10 (#$ . 8223)])
#@134 Return SMB password hash string of 16 bytes long for password string PASSWD.
PASSWD is truncated to 14 bytes if longer.

(fn PASSWD)
(defalias 'ntlm-smb-passwd-hash #[257 "\211G\300^\301\226\302O\303\304Z\302\"P!\207" [14 ntlm-smb-des-e-p16 0 make-string 15] 7 (#$ . 8485)])
#@173 Return response string of 24 bytes long for PASSWD based on DES encryption.
PASSWD is of at most 14 bytes long and the challenge string C8 of
8 bytes long.

(fn PASSWD C8)
(defalias 'ntlm-smb-owf-encrypt #[514 "G\300^\301O\302\303Z\301\"P\304\"\207" [16 0 make-string 22 ntlm-smb-des-e-p24] 7 (#$ . 8770)])
#@95 Return 24 bytes hashed string for a 21 bytes string P22 and a 8 bytes string C8.

(fn P22 C8)
(defalias 'ntlm-smb-des-e-p24 #[514 "\300\301#\300\302\303O\301#\300\304\303O\301#Q\207" [ntlm-smb-hash t 7 nil 14] 9 (#$ . 9089)])
(defconst ntlm-smb-sp8 [75 71 83 33 64 35 36 37])
#@70 Return a 16 bytes hashed string for a 15 bytes string P15.

(fn P15)
(defalias 'ntlm-smb-des-e-p16 #[257 "\301\302#\301\303\304O\302#P\207" [ntlm-smb-sp8 ntlm-smb-hash t 7 nil] 7 (#$ . 9377)])
#@108 Return hash string of length 8 for IN of length 8 and KEY of length 8.
FORW is t or nil.

(fn IN KEY FORW)
(defalias 'ntlm-smb-hash #[771 "\300\301\302\"\300\303\302\"\300\303\302\"\304!\302\211\303W\203P\305\301\245H\306\307\310\301\246Z\"\"\302U\2040\307I\210\305\301\245H\306\307\310\301\246Z\"\"\302U\204I\307I\210\211T\262\202\311#\312\302\262\303W\203\212H\302U\204\203\301\245H\262\301\245\313\306\307\310	\301\246Z\"\"I\210T\262\202Z\207" [make-string 8 0 64 ntlm-smb-str-to-key logand ash 1 7 ntlm-smb-dohash nil logior] 19 (#$ . 9581)])
#@77 Return a string of length 8 for the given string STR of length 7.

(fn STR)
(defalias 'ntlm-smb-str-to-key #[257 "\300\301\302\"\303\302\304\302H\305\"I\210\306\307\304\310\302H\306\"\311\"\304\306H\312\"\"I\210\313\307\304\310\306H\314\"\315\"\304\313H\316\"\"I\210\314\307\304\310\313H\303\"\317\"\304\314H\320\"\"I\210\317\307\304\310\314H\321\"\314\"\304\317H\322\"\"I\210\315\307\304\310\317H\323\"\313\"\304\315H\324\"\"I\210\311\307\304\310\315H\325\"\306\"\304\311H\326\"\"I\210\303\310\311H\327\"I\210\211\302Y\203\272\304H\306\"I\210\211S\262\202\243\207" [make-string 8 0 7 ash -1 1 logior logand 6 -2 2 3 5 -3 4 -4 15 -5 31 -6 63 -7 127] 10 (#$ . 10176)])
(defconst ntlm-smb-perm1 [57 49 41 33 25 17 9 1 58 50 42 34 26 18 10 2 59 51 43 35 27 19 11 3 60 52 44 36 63 55 47 39 31 23 15 7 62 54 46 38 30 22 14 6 61 53 45 37 29 21 13 5 28 20 12 4])
(defconst ntlm-smb-perm2 [14 17 11 24 1 5 3 28 15 6 21 10 23 19 12 4 26 8 16 7 27 20 13 2 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32])
(defconst ntlm-smb-perm3 [58 50 42 34 26 18 10 2 60 52 44 36 28 20 12 4 62 54 46 38 30 22 14 6 64 56 48 40 32 24 16 8 57 49 41 33 25 17 9 1 59 51 43 35 27 19 11 3 61 53 45 37 29 21 13 5 63 55 47 39 31 23 15 7])
(defconst ntlm-smb-perm4 [32 1 2 3 4 5 4 5 6 7 8 9 8 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 1])
(defconst ntlm-smb-perm5 [16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25])
(defconst ntlm-smb-perm6 [40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 31 38 6 46 14 54 22 62 30 37 5 45 13 53 21 61 29 36 4 44 12 52 20 60 28 35 3 43 11 51 19 59 27 34 2 42 10 50 18 58 26 33 1 41 9 49 17 57 25])
(defconst ntlm-smb-sc [1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1])
(defconst ntlm-smb-sbox [[[14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 7] [0 15 7 4 14 2 13 1 10 6 12 11 9 5 3 8] [4 1 14 8 13 6 2 11 15 12 9 7 3 10 5 0] [15 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13]] [[15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10] [3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5] [0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15] [13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9]] [[10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8] [13 7 0 9 3 4 6 10 2 8 5 14 12 11 15 1] [13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7] [1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12]] [[7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 15] [13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9] [10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4] [3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14]] [[2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9] [14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6] [4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14] [11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3]] [[12 1 10 15 9 2 6 8 0 13 3 4 14 7 5 11] [10 15 4 2 7 12 9 5 6 1 13 14 0 11 3 8] [9 14 15 5 2 8 12 3 7 0 4 10 1 13 11 6] [4 3 2 12 9 5 15 10 11 14 1 7 6 0 8 13]] [[4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 1] [13 0 11 7 4 9 1 10 14 3 5 12 2 15 8 6] [1 4 11 13 12 3 7 14 10 15 6 8 0 5 9 2] [6 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12]] [[13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7] [1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2] [7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8] [2 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11]]])
#@139 Return string of length N for string IN and permutation vector PERM of size N.
The length of IN should be height of PERM.

(fn IN PERM N)
(defalias 'ntlm-string-permute #[771 "\300\301\300\"W\203\211HSHI\210T\262\202\207" [0 make-string] 10 (#$ . 13320)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ntlm-string-permute speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@117 Return a string by circularly shifting a string STR by COUNT to the left.
length of STR is LEN.

(fn STR COUNT LEN)
(defalias 'ntlm-string-lshift #[771 "\246O\300OP\207" [0] 8 (#$ . 13743)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ntlm-string-lshift speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@63 Return exclusive-or of sequences in1 and in2.

(fn IN1 IN2 N)
(defalias 'ntlm-string-xor #[771 "\300\301\"\301\211W\203 \302HH\"I\210\211T\262\202\207" [make-string 0 logxor] 11 (#$ . 14091)])
(byte-code "\300\301\302\303#\304\301\305\306#\207" [function-put ntlm-string-xor speed -1 put byte-optimizer byte-compile-inline-expand] 5)
#@153 Return the hash value for a string IN and a string KEY.
Length of IN and KEY are 64.  FORW non-nil means forward, nil means
backward.

(fn IN KEY FORW)
(defalias 'ntlm-smb-dohash #[771 "\306\307\310\307\"W\203!\211HSHI\210T\262\202\266\204\211\307\311O\311\306O\312\313\314\307\"\312\211\211\211\307\211\211\211\211\314W\203\247	H\311\246O\307OP\266\204\262\f\n	H\311\246O\307OP\266\204\262\307\311O\307\311OP\262\n\n\315\307\310\307\"W\203\234\211HSHI\210T\262\202\203\266\204I\210\211T\262\2028\210\316\307\310\307\"W\203\312\211HSHI\210T\262\202\261\266\204\262\307\317O\262\317\316O\262\307\262\312\211\313\320\307\"\312\211\211\211\211\211\211\211
\314W\203o\f\315\307\310\307\"W\203\211HSHI\210T\262\202\375\266\204\262\n\203(\202,\321ZH\315\310\307\"\307\211W\203N\322HH\"I\210\211T\262\2023\266\205\262\n\307\262
\f\320W\203y\323
_\262
\211\323\\OI\210\fT\262
\202V\307\262
\f\320W\203\355
H\262\324\325\307H\326\"\327H\"\262\324\325\326H\330\"\325\331H\331\"\325\330H\326\"\332H$\262\307\262\f

HHH\262\332W\203\345\f\333\325\326\330Z\"\"\307U\203\332\307\202\333\326I\210T\262\f\202\275\fT\262
\202|\307\262
\312\262\f\320W\203	H\307\332OP\262\fT\262
\202\363\317\307\310\307\"W\2032\211HSHI\210T\262\202\266\204\262\317\310\307\"\307\211W\203[\322HH\"I\210\211T\262\202@\266\205\262\262\262
T\262\202\355\266P\262\316\307\310\307\"W\203\231\211HSHI\210T\262\202\200\207" [ntlm-smb-perm1 ntlm-smb-sc ntlm-smb-perm2 ntlm-smb-perm3 ntlm-smb-perm4 ntlm-smb-sbox 56 0 make-string 28 nil make-vector 16 48 64 32 8 15 logxor 6 logior ash 1 5 3 2 4 logand ntlm-smb-perm5 ntlm-smb-perm6] 37 (#$ . 14447)])
#@132 Return 16 bytes MD4 hash of string PASSWD after converting it to Unicode.
PASSWD is truncated to 128 bytes if longer.

(fn PASSWD)
(defalias 'ntlm-md4hash #[257 "\211G\300^\301\"\302\303_\"\207" [128 ntlm-ascii2unicode md4 2] 7 (#$ . 16317)])
(provide 'ntlm)

Youez - 2016 - github.com/yon3zu
LinuXploit