Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ::chatter.bat a basic chat program, to be placed in a shared folder/network drive.
- ::chatter.bat provides partial end to end encryption (only the sentence that is typed gets encrypted, not the username or timestamp)
- @echo off&title Chatter&setlocal enabledelayedexpansion
- Pushd "%~dp0"
- :settings
- set refresh=120
- set interval=3
- :start
- cls
- echo Hi, welcome to the chat program!
- echo.
- set /p "username=Enter Your Name(not entering anything will use your windows name):"
- if "!username!"=="" goto start
- :receiver
- set timeleft=%refresh%
- for /l %%A in () do (
- if not exist "log.dat" echo.>log.dat
- cls
- echo Chat ^(Refresh in !timeleft! seconds^):
- set/a timeleft-=%interval%
- if "!timeleft!"=="0" (
- for /f "tokens=4,5 delims=M " %%1 in ('dir/A-D /-c ^| find "log.dat"') do if %%1 GEQ 2048 (
- echo.>log.dat
- set timeleft=%refresh%
- )
- )
- for /f "tokens=1-4,* delims=:" %%a in (log.dat) do (
- call :decrypt "%%d"
- echo %%a:%%b:%%c:!decryptOut!
- )
- echo.
- echo Press any key to start typing . . .
- choice /c ²abcdefghijklmnopqrstuwvxyz0123456789 /n /t %interval% /d ² >nul
- if not "!errorlevel!"=="1" call :message
- )
- exit/b
- :message
- set message=
- set /p "message=Say:"
- if "!message!"=="" exit/b
- call :encrypt "!message!"
- echo (%time%) - !username!:!EncryptOut!>>log.dat
- exit/b
- :encrypt
- set crypt=encrypt
- (set CHAR[a]=UDFM45) & (set CHAR[b]=H21DGF) & (set CHAR[c]=FDH56D) & (set CHAR[d]=FGS546) & (set CHAR[e]=JUK4JH)
- (set CHAR[f]=ERG54S) & (set CHAR[g]=T5H4FD) & (set CHAR[h]=RG641G) & (set CHAR[i]=RG4F4D) & (set CHAR[j]=RT56F6)
- (set CHAR[k]=VCBC3B) & (set CHAR[l]=F8G9GF) & (set CHAR[m]=FD4CJS) & (set CHAR[n]=G423FG) & (set CHAR[o]=F45GC2)
- (set CHAR[p]=TH5DF5) & (set CHAR[q]=CV4F6R) & (set CHAR[r]=XF64TS) & (set CHAR[s]=X78DGT) & (set CHAR[t]=TH74SJ)
- (set CHAR[u]=BCX6DF) & (set CHAR[v]=FG65SD) & (set CHAR[w]=4KL45D) & (set CHAR[x]=GFH3F2) & (set CHAR[y]=GH56GF)
- (set CHAR[z]=45T1FG) & (set CHAR[1]=D4G23D) & (set CHAR[2]=GB56FG) & (set CHAR[3]=SF45GF) & (set CHAR[4]=P4FF12)
- (set CHAR[5]=F6DFG1) & (set CHAR[6]=56FG4G) & (set CHAR[7]=USGFDG) & (set CHAR[8]=FKHFDG) & (set CHAR[9]=IFGJH6)
- (set CHAR[0]=87H8G7) & (set CHAR[@]=G25GHF) & (set CHAR[#]=45FGFH) & (set CHAR[$]=75FG45) & (set CHAR[*]=54GDH5)
- (set CHAR[(]=45F465) & (set CHAR[.]=HG56FG) & (set CHAR[,]=DF56H4) & (set CHAR[-]=F5JHFH) & (set CHAR[ ]=SGF4HF)
- (set CHAR[\]=45GH45) & (set CHAR[/]=56H45G) & (set CHAR[:]=JSC9GF) & (set CHAR[^)]=45F461) & (set CHAR[[]=FOJDRL)
- (set CHAR[]]=N9DLUF) & (set CHAR[!]=0EMMM6)
- set "Encrypt=%~1"
- set "EncryptOut="
- call :strlenmain "%~1"
- set cnt=0
- :encryptloop
- set/a cnt+=1
- set "char=!Encrypt:~0,1!"
- set "Encrypt=!Encrypt:~1!"
- set "EncryptOut=%EncryptOut%!CHAR[%char%]!"
- if !cnt! LSS !ans! goto encryptloop
- exit/b
- :decrypt
- set crypt=decrypt
- (set CHAR[UDFM45]=a) & (set CHAR[H21DGF]=b) & (set CHAR[FDH56D]=c) & (set CHAR[FGS546]=d) & (set CHAR[JUK4JH]=e)
- (set CHAR[ERG54S]=f) & (set CHAR[T5H4FD]=g) & (set CHAR[RG641G]=h) & (set CHAR[RG4F4D]=i) & (set CHAR[RT56F6]=j)
- (set CHAR[VCBC3B]=k) & (set CHAR[F8G9GF]=l) & (set CHAR[FD4CJS]=m) & (set CHAR[G423FG]=n) & (set CHAR[F45GC2]=o)
- (set CHAR[TH5DF5]=p) & (set CHAR[CV4F6R]=q) & (set CHAR[XF64TS]=r) & (set CHAR[X78DGT]=s) & (set CHAR[TH74SJ]=t)
- (set CHAR[BCX6DF]=u) & (set CHAR[FG65SD]=v) & (set CHAR[4KL45D]=w) & (set CHAR[GFH3F2]=x) & (set CHAR[GH56GF]=y)
- (set CHAR[45T1FG]=z) & (set CHAR[D4G23D]=1) & (set CHAR[GB56FG]=2) & (set CHAR[SF45GF]=3) & (set CHAR[P4FF12]=4)
- (set CHAR[F6DFG1]=5) & (set CHAR[56FG4G]=6) & (set CHAR[USGFDG]=7) & (set CHAR[FKHFDG]=8) & (set CHAR[IFGJH6]=9)
- (set CHAR[87H8G7]=0) & (set CHAR[G25GHF]=@) & (set CHAR[45FGFH]=#) & (set CHAR[75FG45]=$) & (set CHAR[54GDH5]=*)
- (set CHAR[45F465]=() & (set CHAR[HG56FG]=.) & (set CHAR[DF56H4]=,) & (set CHAR[F5JHFH]=-) & (set CHAR[SGF4HF]= )
- (set CHAR[45GH45]=\) & (set CHAR[56H45G]=/) & (set CHAR[JSC9GF]=:) & (set CHAR[45F461]=^)) & (set CHAR[FOJDRL]=[)
- (set CHAR[N9DLUF]=]) & (set CHAR[0EMMM6]=!!)
- set "decrypt=%~1"
- set "decryptOut="
- call :strlenmain "!decrypt!"
- set cnt=0
- :decryptloop
- set/a cnt+=1
- set "char=!decrypt:~0,6!"
- set "decrypt=!decrypt:~6!"
- set "decryptOut=%decryptOut%!CHAR[%char%]!"
- if !cnt! LSS !ans! goto :decryptloop
- exit/b
- :strlenmain
- set ans=0
- set "string=%~1"
- call :strlen ans string
- exit/b
- :strlen
- set l=0
- set "s=!%~2!#"
- for %%P in (512 256 128 64 32 16 8 4 2 1) do (
- if "!s:~%%P,1!" NEQ "" (
- set/a "l+=%%P"
- set "s=!s:~%%P!"
- )
- )
- if "!crypt!"=="encrypt" (
- set "%~1=%l%"
- ) else (
- set/a "%~1=%l%/6"
- )
- exit/b
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement