From 7ce33c794f39b2cc89f27484a6101160366cb7d8 Mon Sep 17 00:00:00 2001 From: bitform Date: Sat, 26 May 2012 12:34:54 -0400 Subject: [PATCH] Complete rewrite of Powersyringe --- .gitattributes | 49 +++++++++++++ .gitignore | 165 +++++++++++++++++++++++++++++++++++++++++++ Encrypt-Script.ps1 | Bin 0 -> 7550 bytes Inject-Dll.ps1 | Bin 0 -> 20068 bytes Inject-Shellcode.ps1 | Bin 0 -> 40362 bytes README | 19 +++++ Release_Notes.txt | 17 +++++ 7 files changed, 250 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 Encrypt-Script.ps1 create mode 100644 Inject-Dll.ps1 create mode 100644 Inject-Shellcode.ps1 create mode 100644 README create mode 100644 Release_Notes.txt diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..26ea710 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,49 @@ +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain + +*.jpg binary +*.png binary +*.gif binary + +*.cs text=auto diff=csharp +*.vb text=auto +*.c text=auto +*.cpp text=auto +*.cxx text=auto +*.h text=auto +*.hxx text=auto +*.py text=auto +*.rb text=auto +*.java text=auto +*.html text=auto +*.htm text=auto +*.css text=auto +*.scss text=auto +*.sass text=auto +*.less text=auto +*.js text=auto +*.lisp text=auto +*.clj text=auto +*.sql text=auto +*.php text=auto +*.lua text=auto +*.m text=auto +*.asm text=auto +*.erl text=auto +*.fs text=auto +*.fsx text=auto +*.hs text=auto + +*.csproj text=auto merge=union +*.vbproj text=auto merge=union +*.fsproj text=auto merge=union +*.dbproj text=auto merge=union +*.sln text=auto eol=crlf merge=union diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c583f98 --- /dev/null +++ b/.gitignore @@ -0,0 +1,165 @@ + +################# +## Eclipse +################# + +*.pydevproject +.project +.metadata +bin/** +tmp/** +tmp/**/* +*.tmp +*.bak +*.swp +*~.nib +local.properties +.classpath +.settings/ +.loadpath + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# CDT-specific +.cproject + +# PDT-specific +.buildpath + + +################# +## Visual Studio +################# + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results +**/[Dd]ebug/ +**/[Rr]elease/ +*_i.c +*_p.c +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.vspscc +.builds +**/*.dotCover + +## TODO: If you have NuGet Package Restore enabled, uncomment this +#**/packages/ + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf + +# Visual Studio profiler +*.psess +*.vsp + +# ReSharper is a .NET coding add-in +_ReSharper* + +# Installshield output folder +[Ee]xpress + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish + +# Others +[Bb]in +[Oo]bj +sql +TestResults +*.Cache +ClientBin +stylecop.* +~$* +*.dbmdl +Generated_Code #added for RIA/Silverlight projects + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML + + + +############ +## Windows +############ + +# Windows image file caches +Thumbs.db + +# Folder config file +Desktop.ini + + +############# +## Python +############# + +*.py[co] + +# Packages +*.egg +*.egg-info +dist +build +eggs +parts +bin +var +sdist +develop-eggs +.installed.cfg + +# Installer logs +pip-log.txt + +# Unit test / coverage reports +.coverage +.tox + +#Translations +*.mo + +#Mr Developer +.mr.developer.cfg + +# Mac crap +.DS_Store diff --git a/Encrypt-Script.ps1 b/Encrypt-Script.ps1 new file mode 100644 index 0000000000000000000000000000000000000000..7d043d3deda3ebb76682a3fde949211e87a16146 GIT binary patch literal 7550 zcmchcYfl?T6o%(>rT&L4SOV1Gl(g!H^r8krQq+>5&?u@%K7iSP6R;7G5LD%_w|$>E zdpxt=UB?i$vM}tJ(pSj{wKT+@4_ey!etnSvHmK;X1qQR*WpZeSHrGW&$Y@` z5&jBahA-mJk6|(X?rX=jo*8S$h4x)cb`)VpcdtUJ=XbSwqN`z)vaP=krTIi_g>=l; zipC;5(EiJCtS8UIeO+&deO+^>l#U`i*8P3`eGv5(VLAK~POCjb`B}=c%Xn>`u0%VF z@VjgpXmzCZGD?0No`mO7;*M5}@IKtD_F_ptJdCmuDkjfyne9s--uJ(Wgh!hjA!QH(?!lBm25yi9kjXcmRv=4NM z$EALAf2?opIhCG~en1kdv0^NY;SIK;v5b=ImJ`!b$YEtaGGk4@Es}=fj-DlAr`m@M z{LHz=I`$=8{f^tmDtxP>_9-1mxzOh-;&wPCKVNY@^*G&?w`DDEj$)3$r>xkO6`-BG z^E>d3wRh5zqFcAY7&mQ+-RN}hjh2+;GLOczf>!`J;zPs~|8q)T$DAest ztRIL0BUuKv#{02&ZR^IXlx1Wsaki{zTI~7dme-?@a-KYTJBbBeUdvn4mb4q%bzT?R zMJ&dVy+cLR^4~49%&vQP9y6Qj-iGqD&4r>lmX3qS46?7CQS8AFt0?Z9VSNDF$SV4borl^_|2WgrR;7ptHOO;|N@88=RCm!nh#Vj339#OZ@`$I^D2uHjo5yy) z;!-__%}=szx*IOVY+sTF_tz~t&>cF)_u)Hn&+?P5W*!V=@0lzF39s6gU53*WdB=S^ zS)Q$RY#krVUMj9hH*8F2-aqPHVpWke8^P4Md{wEf6 z72}np^(5mo#_A_sJ(gX}3LEk&WmF-_FSSzd0_J}%eM`^0*OTPMYP97n@|Ifck#T*^ zr+X3eREG>9tRfa|y!RY!%9_uTI(N`#lKAe&d154AxU&1(v1^jAW7R?;PCdL7KkkRS z`dr0NU)FxmJ)e?Rg)e9xDu&mRYq^QUMMcD=)6J}lGA)?CLK+IiEUkHmU5*nOsCsS} z0i?bOcl5n2S*8zu!7E$siJ|AQAFTvp-^PZv&VA?B_N;xjJ@}sY^4r^T@3U?3&Q5e} z9^6hs~*fj#N>(iaHV{Bsw{q^zpaWhYty|;v7@iJ*gV*mtX*Z_mOe?A z^>@=XREDkVS)OEKLPNI&{VJo=6U$*i@}Ei1M)*xk*_5V7;ZIrjTz4MG+OM?3yjzs) z7qL29hoWLyhr3-p^U4KBVeV4&fErK9WHvGn=spu(Lg1zv&&^4oI8qV-U=;nn--g>!j+UhL|*fie~u zOkRD($om8}h>AgXV#THVJe=!JUN6hu>7B&mW*ow2o9tF%RxRlISFvYJ+(FvCia|Yb ztdw>CjmOV~%A2av!2zp#`@+R*x$Ez1&9c%gq4MSVcN3g9q}3+^m- zCpp!HRbSQGDn+RoqO0y`tIVCwdh$NZHfN!zVb6- z_r4|d##wTf!Vi@eqFtXn=B>2Oq*-&MYdI9&=3g)JE7#c8ede1RUHbk6y*+WA^G`iL z9*NDIk!R(|zT)BXh-b4)n*H-k*f;48)AP~8On0hRWU+B+KKwZOc27&@XWQIB7TT2G zjzL?jY*KLSco#M=gKmP;?D;Ec|39a%ZXB7_yHW7Ca%v#5@OQcox<|ZgwTN))ptty( z1ycsPw*Le$>maL)6^Hj5hZ&=XGwrF*r?V$0x7X&BbjEjk-`qgcP2%6xRk3GS`Fu2~ zwzr?R6Q233R-cld#TexHriu8CqU7t?b{uW;8R)n(&chg8<`}v-GeAPrri12+F(RKE z>=`(6sh)MNO2}zzy2g7JPtOV1iltcH&c}~cSMh0~-XEzMiIL5on!0t~#dy15|DW3HjpJLqo?;6>E_8ho`&53uZ+rK-B7NAx&&PiO0Eg#2 literal 0 HcmV?d00001 diff --git a/Inject-Dll.ps1 b/Inject-Dll.ps1 new file mode 100644 index 0000000000000000000000000000000000000000..6f81ef2cdc25bc2b8735c1d468a91779d50e118f GIT binary patch literal 20068 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 Xw=_Z(z_imK8cC$Q