اصولا فرمت خروجي جعبه شن پارسا سازگار با زبان C++ و کاملا منطبق با طريقه فراخواني اين توابع ميباشد. به عبارتي ميتوان گفت اين جعبه شن قادر به نمايش کد سطح بالاي برنامه تحت تحليل ميباشد. در زير توابعي که در خروجي فايلسيستم نمايش داده ميشود، به همراه معنا و پارامترهاي آن ارائه شده است. خواندن اين بخش براي کساني که آشنايي کافي با برنامهنويسي Win32 ندارند، الزامي است.
//PID=7480,TID=7332,Time=133064384421
CreateFile(L"C:\\Users\\User\\DESKTOP.INI",FILE_GENERIC_READ,FILE_SHARE_READ| FILE_SHARE_WRITE|FILE_SHARE_DELETE,?,OPEN_EXISTING,0,?);
اين تابع 7 آرگومان از ورودي ميگيرد. آرگومان اول اين تابع مشخص مي کند که قصد کار با چه فايل، يا پوشه، يا ساير ابزارهاي ورودي و خروجي وجود دارد. در اينجا همانطور که ميبينيد آرگومان اول برابر فايل C:\Users\User\desktop.ini ميباشد. آرگومان دوم مشخص ميکند چه نوع دسترسي براي اين فايل بايد گرفته شود. آيا قرار است که اين فايل خوانده شود، يا نوشته شود؟ همانطور که ميبينيد در مثال بالا آرگومان دوم FILE_GENERIC_READ است، يعني قصد خوانده شدن فايل وجود دارد. آرگومان سوم مشخص ميکند که بعد از اجراي موفق اين تابع، برنامههاي ديگر چه نوع دسترسي به اين فايل بايد داشته باشند. در مثال بالا آرگومان سوم برابر FILE_SHARE_READ| FILE_SHARE_WRITE | FILE_SHARE_DELETE ميباشد. اين به اين معناست که برنامههاي ديگر در هنگامي که اين برنامه در حال کار با اين فايل است، ميتوانند از اين فايل بخوانند، يا بنويسند، يا اينکه آن را حذف نمايند. آرگومان چهارم Security Attributes است، که نشاندهنده مجوزهاي ساخت اين فايل ميباشد. اين پارامتر معمولا برابر NULL قرار ميگيرد، لذا ما از لاگگيري فيلدهاي ساختمان داده شده به آرگومان چهارم خودداري کردهايم. آرگومان پنجم مشخص ميکند که اين فايل در صورت وجود بايد باز شود، يا اينکه بايد محتواي قبلي آن حذف شود. آرگومان ششم خصوصيات فايل همانند مخفي بودن، يا نبودن، ميباشد. آرگومان آخر نيز دستگيرهاي به فايل قالب ميباشد، که معمولا برابر NULL است. جهت کسب اطلاعات بيشتر راجع به اين تابع به لينک زير مراجعه کنيد:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa363858%28v=vs.85%29.aspx
//PID=7480,TID=7332,Time=133065211089
ReadFile(hFile,buffer,?,&dwBytesReaded,?); //dwBytesReaded=16 ,hFile Points to: C:\Windows\System32\stdole2.tlb ,Offset=512
آرگومان اول دستگيره فايلي است که مي خواهيد محتواي آن را بخوانيد. اين دستگيره در واقع خروجي تابع CreateFile ميباشد. آرگومان دوم بافري است که خروجي تابع در آن قرار ميگيرد. آرگومان سوم تعداد بايتهايي که بايد از فايل خوانده شود. آرگومان چهارم تعداد بايتهايي است که واقعا از فايل خوانده شده است، آرگومان آخر نيز براي خواندن همزمان از فايل مورد استفاده قرار ميگيرد، و براي تحليل اهميت چنداني ندارد. همانطور که در نمونه خروجي بالا ميبينيد، برنامه تحت تحليل 16 بايت از فايل C:\Windows\Syste32\stdole2.tlb را با شروع از بايت 512 خوانده است، و در متغير buffer قرار داده است. جهت کسب اطلاعات بيشتر راجع به اين تابع به لينک زير مراجعه نماييد:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365467%28v=vs.85%29.aspx
//PID=5044,TID=2424,Time=146028876066
BYTE buffer[]={0xe1,0xc7,0xc8,0xc7,0xc8,0xe1,0xc7};
WriteFile(hFile,buffer,?,&dwBytesWriten,?); //dwBytesWriten=7 ,hFile Points to: C:\Users\User\Desktop\tagh.txt ,Offset=0
همانطور که ميبينيد تابع WriteFile، 5 آرگومان ورودي ميگيرد. آرگومان اول دستگيره فايل باز شده، يا همان خروجي تابع CreateFileاست. آرگومان دوم آدرس بافري ميباشد که بايد در فايل نوشته شود. آرگومان سوم تعداد بايتهايي که در فايل بايد نوشته شود، و آرگومان چهارم تعداد بايتهايي که واقعا در فايل نوشته شده است. آرگومان آخر نيز اهميتي ندارد. همانطور که در مثال بالا ميبينيد برنامه تحت تحليل به ميزان 7 بايت با شروع از بايت صفرم فايل، محتواي buffer را در فايل C:\Users\User\Desktop\tagh.txt قرار داده است. جهت آشنايي بيشتر با اين تابع مراجعه کنيد به:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365747%28v=vs.85%29.aspx
//PID=6468,TID=5316,Time=148328219843
DeleteFile(L"C:\\Users\\User\\Desktop\\j.txt");
اطلاعات بيشتر راجع به اين تابع در لينک زير موجود است:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa363915%28v=vs.85%29.aspx
//PID=6356,TID=8272,Time=149328026613
FindFirstFile(L"C:\\Users\\User\\Downloads\\Compressed\\*",&FindFileData); //FindFileData.cFileName=.
اين خروجي نشان ميدهد که برنامه تحت تحليل ليست کليه فايلهاي موجود در مسير C:\Users\User\Downloads\Compressed را مورد جستجو قرار داده است. تابع FindFirstFile در خروجي فايلي با نام . برگردانده است. (همانطور که ميدانيد علامت نقطه به معناي خود پوشه ميباشد.) در لينک زير اطلاعات بيشتري به همراه مثالي از طريقه استفاده از اين تابع موجود است:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa364418%28v=vs.85%29.aspx
//PID=6556,TID=6488,Time=4807662345
FindNextFile(hFind,&FindFileData); //FindFileData.cFileName=zszpe.zip ,hFind Points to: C:\Users\Users\Downloads\Compressed
اين خروجي نشان ميدهد که برنامه تحت تحليل در مسير C:\Users\Users\Downloads\Compressed به جستجو پرداخته، و فايلي با نام zszpe.zip را در اين مسير يافته است. اطلاعات بيشتر راجع به اين تابع در لينک زير موجود است:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa364428%28v=vs.85%29.aspx
//PID=6692,TID=2060,Time=6049389464
MoveFile(L"C:\\Users\\User\\Documents\\temp.txt",L"C:\\Users\\User\\Documents\\temp2.txt");
آرگومان اول نشاندهنده مسير اوليه، و آرگومان دوم نشان دهنده مسير جديد فايل ميباشد. همانطور که ميبينيد فايل temp.txt به نام temp2.txt تغيير نام يافته است. جهت کسب اطلاعات بيشتر راجع به اين تابع مراجعه کنيد به:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365239%28v=vs.85%29.aspx
//PID=6020,TID=3492,Time=6605188728
CreateDirectory(L"C:\\Users\\User\\Downloads\\New folder",?);
جهت آشنايي بيشتر با اين تابع مراجعه کنيد به:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa363855%28v=vs.85%29.aspx
//PID=5180,TID=6620,Time=7464672621
RemoveDirectory(L"C:\\Users\\Amir\\Downloads\\New folder");
اطلاعات بيشتر راجع به اين تابع در مسير زير موجود است:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365488%28v=vs.85%29.aspx
//PID=5456,TID=4468,Time=7829906647
DWORD dwAttrib=GetFileAttributes(L"C:\\Windows\\System32\\winspool.drv"); //dwAttrib=FILE_ATTRIBUTE_ARCHIVE
جهت کسب اطلاعات بيشتر راجع به اين تابع، به آدرس زير مراجعه کنيد:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa364944%28v=vs.85%29.aspx
//PID=364,TID=6932,Time=8740755485
SetFileAttributes(L"C:\\Users\\User\\1.tlog",FILE_ATTRIBUTE_READONLY);
اطلاعات بيشتر راجع به اين تابع، در لينک زير موجود است:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365535%28v=vs.85%29.aspx
//PID=5088,TID=8824,Time=53126281295
CloseHandle(hFile); //hFile points to: C:\Windows\System32\wow64.dll
براي اطلاعات بيشتر راجع به اين تابع مراجعه کنيد به:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724211%28v=vs.85%29.aspx