View Full Version : convert files to hex
smrpro
جمعه 20 مرداد 1391, 17:16 عصر
سلام من برنامه ای میخوام در visual stdio2010 با c++ مینویسم که در قسمتی از اون باید محتوای فایل را به hex تبدیل کنم بعد یک عبارت hex که یک signature هست با اون محتوای فایل مقایسه کنم . میشه من رو راهنمایی کنید که برای این کار باید از چه روال و توابعی استفاده کنم؟
Ananas
شنبه 21 مرداد 1391, 14:16 عصر
سلام.
مثال برای لود کردن فایل توی رم :
http://www.cplusplus.com/reference/clibrary/cstdio/fread/
برای مقایسه هم که، از اشاره گر عه بدست اومده تو مثال بالا استفاده کن به اسم buffer. (اطلاعات فایل رو لود میکنه روی رم و یک اشاره گر به ابتدای بایت ها بهتون می ده).
smrpro
دوشنبه 23 مرداد 1391, 10:24 صبح
سلام.
مثال برای لود کردن فایل توی رم :
http://www.cplusplus.com/reference/clibrary/cstdio/fread/
برای مقایسه هم که، از اشاره گر عه بدست اومده تو مثال بالا استفاده کن به اسم buffer. (اطلاعات فایل رو لود میکنه روی رم و یک اشاره گر به ابتدای بایت ها بهتون می ده).
هر نوع فایلی رو میشه این جوری لود کرد؟؟؟؟؟؟؟؟
#target
سه شنبه 24 مرداد 1391, 00:22 صبح
هر نوع فایلی رو میشه این جوری لود کرد؟؟؟؟؟؟؟؟
این میاد و محتوی فایل رو داخل حافظه برنامه میاره یعنی هر چی تو فایل هست ! چه نوع لود کردنی مد نظرته ؟
Ananas
سه شنبه 24 مرداد 1391, 01:48 صبح
هر نوع فایلی رو میشه این جوری لود کرد؟؟؟؟؟؟؟؟
گمونم بشه هر فایلی رو همینجور (بدون توجه به پسوند یا فرمت فایل) به شکل مجموعه ای از بایت ها روی رم لود کرد. مثلا چجور فایلی رو شما می خوای لود کنی؟
smrpro
سه شنبه 24 مرداد 1391, 14:49 عصر
برنامه ی من در مورد Signature based virus detection هست مطالبی رو در موردش پیدا کردم اما باید از چیزایی مثل
CreateFileMapping
MapViewOfFile
....
گفته باید استفاده یشه اما من نمیدونم اینا چی هستند و اصلا دقیقا عمکردشون به جه صورته .گشتم که بفهمم چیه اما چیز زیادی نفهمیدم!!!
#target
سه شنبه 24 مرداد 1391, 19:18 عصر
اون توابع هم تقریبا همونه . البته مزایا هم داره !
اونم میاد محتوی فایل رو داخل حافظه در دسترس قرار میده
این ی نمونه کد برا استفاده
HANDLE fh = CreateFile("C:\\File.txt", GENERIC_READ, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
int filesize = GetFileSize(fh , NULL);
HANDLE hn = CreateFileMapping(fh, NULL, PAGE_READONLY, 0, filesize, NULL);
void *filedata = MapViewOfFile(hn, FILE_MAP_READ, 0, 0, filesize);
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.