PDA

View Full Version : راهنمایی در مورد انجام یک پروژه



majidrezaei2007
یک شنبه 21 اسفند 1390, 14:28 عصر
با عرض سلام خدمت تمامی اساتید گرامی

من برنامه ای دارم که روی یک سی دی ریخته میشه . یک سری فایل PDF هم درون سی دی هست . حالا این فایل های PDF نباید از داخل برنامه کپی بشن و جداگانه تکثیر بشن . البته جلو کپی شدنش رو که نمیتونیم بگیریم اما میتونیم کاری کنیم که اگه کپی هم شد چیزی گیر طرف نیاد . مثلا اینکه فایل ها رو rar کنیم و روشون پسوورد بزاریم . خلاصه که این فایل های PDF فقط و فقط باید از طریق برنامه ای که من مینویسم اجرا بشن . حالا می خواستم بدونم چطور باید این کار رو انجام بدم و اون فایل ها رو مقید به اجرا از طریق برنامه خودم بکنم . اولین و ساده ترین راهی که به ذهنم رسید همون rar کردن و پسوورد گذاشتنه . حالا چطور میشه یک فایل از فایل های درون یک فایل rar که پسوورد هم داره رو اجرا کرد ؟
اصلا راه دیگه ای وجود داره که بشه این خواسته رو عملی کرد یا نه ؟

ممنون میشم راهنمایی کنید

asadegha
یک شنبه 21 اسفند 1390, 21:59 عصر
نمی دونم. از طریق resource نمیشه کاری کرد؟

s3rv3r
یک شنبه 21 اسفند 1390, 22:22 عصر
امان از دست CloneCD

بعضيا ميان يه كلك كوچيك ميزنن واسه اين كار پسوند فايل رو تغيير ميدن. تغيير پسوند فايل باعث تغيير محتواي فايل نميشه
يعني فايل ali.pdf ميشه ali.bbb خب نرم افزار شخص تشخيص نميده كه اين pdf هستش و شخص بيخيال ميشه. ولي نرم افزاره كار خودشو ميكنه چون فايل ساختار PDF رو داره هرچند كه پسوندش عوض شده باشه. اين از اين

دوميش اينكه اگه ميخواي پسورد استفاده كني خب رو pdf پسورد بزار عزيزه دل چه كاريه بريزي تو rar بعدش rar رو پسورد بزاري

asadegha
یک شنبه 21 اسفند 1390, 23:16 عصر
آقا اصلا یه کار دیگه بکن. بیا فایل رو به صورت باینری دربیار. با یه الگوریتم خاصی کد کن. بعد با یه پسوند دلخواه ذخیره کن. حالا کار برنامت اینه که دیکد کنه و توی برنامه نشونش بده.

asadegha
یک شنبه 21 اسفند 1390, 23:25 عصر
- کد زیر فایل رو به صورت باینری باز میکنه. میریزه توی یک آرایه از نوع byte.
- حلقه for هم مثلا یه الگوریتم خیلی خیلی ساده و مبتدی برای کد کردنه فایلمونه. (یک واحد به مقدار عددیه فایلمون که توی آرایه ذخیره شده اضافه میکنه.) اینطوری ساختار فایل به هم میخوره و باز نمیشه. مگر اینکه دوباره این حلقه اجرا بشه و بجای اضافه کردن، یک واحد کم کنه، که این کار توسط برنامه خودت انجام میشه. اینطوری میتونی توی برنامه فایلتو نشون بدی.
- خط آخرشم که آرایه تغییر داده شده رو ذخیره میکنه.

دقت بشه که using System.IO; باید اضافه بشه.


byte[] a = File.ReadAllBytes(FileName);
for (int i = 0; i < a.Length; a[i]++, i++) ;
File.WriteAllBytes(FileName, a);

majidrezaei2007
سه شنبه 23 اسفند 1390, 00:28 صبح
امان از دست CloneCD

بعضيا ميان يه كلك كوچيك ميزنن واسه اين كار پسوند فايل رو تغيير ميدن. تغيير پسوند فايل باعث تغيير محتواي فايل نميشه
يعني فايل ali.pdf ميشه ali.bbb خب نرم افزار شخص تشخيص نميده كه اين pdf هستش و شخص بيخيال ميشه. ولي نرم افزاره كار خودشو ميكنه چون فايل ساختار PDF رو داره هرچند كه پسوندش عوض شده باشه. اين از اين

دوميش اينكه اگه ميخواي پسورد استفاده كني خب رو pdf پسورد بزار عزيزه دل چه كاريه بريزي تو rar بعدش rar رو پسورد بزاري


آخه این سی دی یک جزوه هست . استفاده کننده هاش هم همه بچه های نرم افزار هستند . این کلک ها واسشون قدیمی شده

majidrezaei2007
سه شنبه 23 اسفند 1390, 00:31 صبح
- کد زیر فایل رو به صورت باینری باز میکنه. میریزه توی یک آرایه از نوع byte.
- حلقه for هم مثلا یه الگوریتم خیلی خیلی ساده و مبتدی برای کد کردنه فایلمونه. (یک واحد به مقدار عددیه فایلمون که توی آرایه ذخیره شده اضافه میکنه.) اینطوری ساختار فایل به هم میخوره و باز نمیشه. مگر اینکه دوباره این حلقه اجرا بشه و بجای اضافه کردن، یک واحد کم کنه، که این کار توسط برنامه خودت انجام میشه. اینطوری میتونی توی برنامه فایلتو نشون بدی.
- خط آخرشم که آرایه تغییر داده شده رو ذخیره میکنه.

دقت بشه که using System.IO; باید اضافه بشه.


byte[] a = File.ReadAllBytes(FileName);
for (int i = 0; i < a.Length; a[i]++, i++) ;
File.WriteAllBytes(FileName, a);


آره اینم کار جالبیه . کار شما رو استفاده کردم . ممنون . ولی با فایل zip هم میشه کار کرد . لینک زیر رو ببینید

http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/7120dac4-8fc5-4cde-ba69-5302251a0631

Mosafers
دوشنبه 16 بهمن 1391, 14:02 عصر
سلام من از این روش استفاده کردم ولی نمیتونم مقدار رو برگردونم ، لطفا راهنماییم کنید؟؟؟



private void button1_Click(object sender, EventArgs e)
{
byte[] a = File.ReadAllBytes(@"c:\1.pdf");
for (int i = 0; i < a.Length; a[i]++, i++) ;
File.WriteAllBytes(@"c:\2.pdf", a);
}

private void button2_Click(object sender, EventArgs e)
{
byte[] a = File.ReadAllBytes(@"c:\2.pdf");
for (int i = a.Length ; i < 0; a[i]--, i++) ;
File.WriteAllBytes(@"c:\3.pdf", a);
}