PDA

View Full Version : سوال: نمایش فیلم و مخفی کردن فایل فیلم



alirzn
سه شنبه 24 اردیبهشت 1387, 22:49 عصر
من می خوام یک برنامه ای بنویسم که تعدادی فیلم را نمایش بده اما نمی خوام فرد بتونه فایل فیلم تنها را copy کنه . فقط با برنامه من اون فیلم ها باز بشه.چکار میتونم بکنم؟ ممنون

mohammad272005
سه شنبه 24 اردیبهشت 1387, 23:10 عصر
اگه فايلهات خيلي كوچيك هستن يا به هر حال خيلي مهم هستن، تبديلشون كه به Resource file و بصورت resource تو دل برنامه خودت باهاشون برخورد كن.

alirzn
چهارشنبه 25 اردیبهشت 1387, 07:13 صبح
خوب این کارو چطور میتونم انجا بدم. یعنی چطور میشه به recource file تبدیلشون کرد؟


اگه فايلهات خيلي كوچيك هستن يا به هر حال خيلي مهم هستن، تبديلشون كه به Resource file و بصورت resource تو دل برنامه خودت باهاشون برخورد كن.

ASKaffash
چهارشنبه 25 اردیبهشت 1387, 08:44 صبح
با سلام
یک روش این است که بخشی از Header فایل را دریک بانک نگهداری کنید وبه جای آن یک تعداد Garbage قرار دهید در این حالت هیچ ابزاری نمیتواند فیلم شما را نشان دهد اما برنامه شما قبل از اجرای فیلم Header را بازیابی کرده واجرا میکند ودر هنگام خروج مجددا Header را دستکاری میکند که البته آدمهای خیلی تیز میتوانند یک کلک بزنند که نمی گم! من این کار را برای عکسها خیلی خوب انجام دادم به VB6 که البته اون کلک برایش کارساز نیست

mohammad272005
چهارشنبه 25 اردیبهشت 1387, 19:06 عصر
Project > Properties > Resources > Add Existing Fileحالا هرچي ميخواي اضافه كن.

alirzn
پنج شنبه 26 اردیبهشت 1387, 08:05 صبح
خوب این کار رو چطور کیتونم انجام بدم.چطور میتونم header رو تغییر بدم. مثالی داری؟

با سلام
یک روش این است که بخشی از Header فایل را دریک بانک نگهداری کنید وبه جای آن یک تعداد Garbage قرار دهید در این حالت هیچ ابزاری نمیتواند فیلم شما را نشان دهد اما برنامه شما قبل از اجرای فیلم Header را بازیابی کرده واجرا میکند ودر هنگام خروج مجددا Header را دستکاری میکند که البته آدمهای خیلی تیز میتوانند یک کلک بزنند که نمی گم! من این کار را برای عکسها خیلی خوب انجام دادم به VB6 که البته اون کلک برایش کارساز نیست

alirzn
پنج شنبه 26 اردیبهشت 1387, 08:07 صبح
تا اینجا درست.حالا چطور میتونم تو کد به فایل های توی recource دست پیدا کنم؟


Project > Properties > Resources > Add Existing Fileحالا هرچي ميخواي اضافه كن.

alirzn
پنج شنبه 26 اردیبهشت 1387, 08:07 صبح
تا اینجا درست. حالا چطور میتونم توی کد و با کد به فایل های توی recource دست پیدا کنم؟


Project > Properties > Resources > Add Existing Fileحالا هرچي ميخواي اضافه كن.

sinpin
جمعه 27 اردیبهشت 1387, 14:33 عصر
فايلها رو بصورت اينكريپت شده در كنار برنامه قرار بديد و درزمان اجرا اونها ابتدا رو ديكريپت و سپس مورد استفاده قرار بديد.

alirzn
شنبه 28 اردیبهشت 1387, 07:29 صبح
مرسی از راهنمایی. یک فایل رو چطور میشه encrypt و decrypt کرد؟


فايلها رو بصورت اينكريپت شده در كنار برنامه قرار بديد و درزمان اجرا اونها ابتدا رو ديكريپت و سپس مورد استفاده قرار بديد.

sinpin
شنبه 28 اردیبهشت 1387, 12:40 عصر
مرسی از راهنمایی. یک فایل رو چطور میشه encrypt و decrypt کرد؟
به كمك يكي از الگوريتمهاي رمزنگاري قابل بازگشت (دوطرفه)


static void EncryptFile(string sInputFilename,
string sOutputFilename,
string sKey)
{
FileStream fsInput = new FileStream(sInputFilename,
FileMode.Open,
FileAccess.Read);

FileStream fsEncrypted = new FileStream(sOutputFilename,
FileMode.Create,
FileAccess.Write);
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
ICryptoTransform desencrypt = DES.CreateEncryptor();
CryptoStream cryptostream = new CryptoStream(fsEncrypted,
desencrypt,
CryptoStreamMode.Write);

byte[] bytearrayinput = new byte[fsInput.Length];
fsInput.Read(bytearrayinput, 0, bytearrayinput.Length);
cryptostream.Write(bytearrayinput, 0, bytearrayinput.Length);
cryptostream.Close();
fsInput.Close();
fsEncrypted.Close();
}

static void DecryptFile(string sInputFilename,
string sOutputFilename,
string sKey)
{
DESCryptoServiceProvider DES = new DESCryptoServiceProvider();
//A 64 bit key and IV is required for this provider.
//Set secret key For DES algorithm.
DES.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
//Set initialization vector.
DES.IV = ASCIIEncoding.ASCII.GetBytes(sKey);

//Create a file stream to read the encrypted file back.
FileStream fsread = new FileStream(sInputFilename,
FileMode.Open,
FileAccess.Read);
//Create a DES decryptor from the DES instance.
ICryptoTransform desdecrypt = DES.CreateDecryptor();
//Create crypto stream set to read and do a
//DES decryption transform on incoming bytes.
CryptoStream cryptostreamDecr = new CryptoStream(fsread,
desdecrypt,
CryptoStreamMode.Read);
//Print the contents of the decrypted file.
StreamWriter fsDecrypted = new StreamWriter(sOutputFilename);
fsDecrypted.Write(new StreamReader(cryptostreamDecr).ReadToEnd());
fsDecrypted.Flush();
fsDecrypted.Close();
}
بنقل از :‌ http://support.microsoft.com/kb/307010

________________
اينجا هم يك سورس كد نمونه و آماده هست :
http://www.geekpedia.com/tutorial227_Encrypting-and-Decrypting-Files-with-Csharp.html

Alen
دوشنبه 22 تیر 1388, 12:54 عصر
با اینکه خیلی وقته از آخرین پست این تاپیک گذشته امیدوارم یکی جواب سوال منو بده
راهکاری که spinspin عزیز ارائه کرد خیلی خوبه اما دوتا مساله میمونه
1-وقتی فایلمون رو decrypt کنیم تا توسط Media Player تو برنامه خودمون پخش بشه ، در همین زمان ممکنه از فایل فیلممون کپی گرفته بشه و تمامی زحماتمون به هدر بره (مگه اینکه بشه Media Player به جای هارد مستقیما از RAM اطلاعات رو بخونه و اطلاعات اصلا روی هارد قرار نگیره آیا این امکان پذیره؟) چه راهکاری پیشنهاد می کنید؟
2-ممکنه توسط نرم افزارهایی فیلم در حال پخش ضبط بشه ، جلوی این یکی رو چطوری بگیریم؟

Alen
دوشنبه 22 تیر 1388, 23:44 عصر
لینک زیر شاید بتونه جواب سوال اول رو بده
http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/89e79bc9-d53f-4a65-8fcb-84755dbc1934
اگه اطلاعات بیشتری بدست آوردم همین جا میذارمشون