PDA

View Full Version : ذخیره اطلاعات در داخل نرم افزار



bitroo
دوشنبه 05 خرداد 1393, 18:52 عصر
سلام
من یه نرم افزار نوشتم. بعد یه اطلاعاتی هست که کابر نباید بهش دسترسی داشته باشه.اولش گفتم که تو یه فایل به صورت رمزی ذخیره کنم. اما مشکل اینه که این اطلاعات حتی نباید کپی هم بشن. یعنی اگه تو یه فایل رمزی باشه بعدا ازش کپی بگیرن مشکل به وجود می یاد. واسه همین گفتم که تو خود نرم افزار ( نه در فایل خارجی ) ذخیره بشه.
یادمه وی بی همچین چیزی داشت. سی شارپ هم این امکانو داره؟

behnam-soft
دوشنبه 05 خرداد 1393, 19:28 عصر
بله سی شارپ فقط سینتکس هاش فرق می کنه وگرنه هم سی شارپ و هم وی بی، در نهایت به یه زبان سطح میانی تبدیل می شن و در نهایت هم کامپایل. اما در حواب باید بگم که شما می تونی اون مقادیری رو که می خوای داخل خود برنامه ذخیره کنی.

NASA's Spaceman
دوشنبه 05 خرداد 1393, 20:17 عصر
توی setting های سی شارپ باید ذخیره کنی
ولی این بهترین نیست چون راه هست که بشه واردش شد اما از هیچی بهتره
با سپاس Spaceman

AMIN_SG
دوشنبه 05 خرداد 1393, 20:37 عصر
میتونید تو resourse برنامتون یه فایل text درست کنید که همه به سادگی میشه اون رو به طریق زیر تغییر داد خوندنشم که فک نکنم نیازی به گفتنش باشه

Stream theFile = Assembly.GetExecutingAssembly().GetManifestResourc eStream("اسم برنامتون.Resources.اسم فایلتون");و این هم تابعش هستش که theFile رو باید بهش پاس بدی و بجای text هم باید متن رو بهش بدی

public static void WriteNewTextToFile(string text, Stream theFile)
{

string fileText = GetAllTextFromFile(theFile);
ArrayList fileLIst = populateListFromText(fileText);

using (StreamWriter fileWriter = new StreamWriter(theFile))
{
fileWriter.Write("");
for (int i = 0; i < fileLIst.Count; i++)
{
fileWriter.WriteLine(fileLIst[i].ToString());
}
}
}


موفق باشی :چشمک:

bitroo
سه شنبه 06 خرداد 1393, 13:14 عصر
یعنی اگه تو resources بسازم کاربر اصلا متوجه مکانش نمیشه. بعد از پابلیش این فایل متنی کجا قرار می گیره؟

bitroo
سه شنبه 06 خرداد 1393, 22:24 عصر
میتونید تو resourse برنامتون یه فایل text درست کنید که همه به سادگی میشه اون رو به طریق زیر تغییر داد خوندنشم که فک نکنم نیازی به گفتنش باشه

1
Stream theFile = Assembly.GetExecutingAssembly().GetManifestResourc eStream("اسم برنامتون.Resources.اسم فایلتون");
و این هم تابعش هستش که theFile رو باید بهش پاس بدی و بجای text هم باید متن رو بهش بدی

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void WriteNewTextToFile(string text, Stream theFile)
{

string fileText = GetAllTextFromFile(theFile);
ArrayList fileLIst = populateListFromText(fileText);

using (StreamWriter fileWriter = new StreamWriter(theFile))
{
fileWriter.Write("");
for (int i = 0; i < fileLIst.Count; i++)
{
fileWriter.WriteLine(fileLIst[i].ToString());
}
}
}


موفق باشی
شرمنده من اولین بارمه از resource استفاده می کنم
می خوام تو این ریسورس متغیر استرینگ معرفی کنم و از اون استفاده کنم( فایل متنی نباشه دیگه )
اگه می شه یه کدی واسه اون بذارید

ashkan1234
سه شنبه 06 خرداد 1393, 22:43 عصر
اگر اطلاعاتت بصورت استرینگ هست میتونی تبدیلش کنی به Hash بعد توی یه فایل تکست ذخیره اش کنی!
اونموقع حتی اگر کاربر کپیش هم کنه بدردش نمیخوره!

bitroo
سه شنبه 06 خرداد 1393, 22:50 عصر
مشکل اینجاست که این فایل حاوی اطلاعاتی هست. هکر اون فایل تکست رو کپی می گیره. بعد با نرم افزار کار می کنه. بعد کارش فایل کپی شده رو جایگزین اصلی می کنه. اینجوری همه رشته ها پنبه می شه! چون هر غلطی می کنه آخرش آب از آب تکون نمی خوره. واسه همین می گم نباید بتونه کپی کنه.

ashkan1234
سه شنبه 06 خرداد 1393, 23:05 عصر
اگر مشکلت با هکر هست که هیچی!هرکاری کنی هکر کار خودشو میکنه!
منتهای مراتب تنها راهی که میمونه اینه که دسترسی به اون فایل رو هم توسط سی شارپ کریپت کنی.بطوری که فقط نرم افزار بتونه دسترسی به فایل داشته باشه!
البه شاید راههای آسونتری هم باشه.اینا فقط نظر بندست.
ولی کلا با همه اینا فقط میتونه کار هکر رو کند کنی...همین:شیطان:

bitroo
سه شنبه 06 خرداد 1393, 23:10 عصر
یعنی هکر حتی به resources هم دسترسی پیدا میکنه؟

ashkan1234
سه شنبه 06 خرداد 1393, 23:22 عصر
یعنی هکر حتی به resources هم دسترسی پیدا میکنه؟
شک نکن...
به سادگی...

Ali.hitter
چهارشنبه 07 خرداد 1393, 03:52 صبح
سلام
به نظر بنده بهترین کار ذخیره کردن رمز به صورت کد گذاری شده با یه سری فاکتورای خاصه؛
اگه خواستی میتونم تو اینکاربهت کمک کنم
alijamshidi1378@yahoo.com