• 0
eias

أريد طريقة لحفظ النصوص خارج البرنامج و استيرادها

سؤال

السلام عليكم

الفكرة التي أريدها أن البرنامج ممكن يحتاج استيراد نصوص جاهزة و طويلة .. و لكن لو كتبت هذه النصوص داخل ملفات Txt فإنها سوف يكون

المستخدم قادر على تعديلها ...فأنا أريد طريقة أو نوع من الملفات بحيث أحفظ فيه هذه النصوص ..و طريقة استيراد النصوص منها من داخل

البرنامج ....فهل يمكن استخدام ملفات Dll أو نوع من ملفات Txt مشفرة أو شيء آخر مع العلم إني لا أريد استخدام قواعد البيانات..وشكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

21 إجابة على هذا السؤال .

  • 0

try XML

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

أخى الكريم لما لا تخرج البيانات فى مسار بعيد عن البرنامج وتضعها

فى ملفTxt وليكن فى مجلد الوندوز مثلا

وبهذا لن يعرف المستخدم بها

وأيضأ أعتقد انه يمكنك الكتابه فى ملف نصى وتغير الأمتداد الخاص به إلى Dll

وبهذا لن يستطيع المستخدم معرفه ما بى الملف

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

أخي الكريم abd_albaset الحقيقة أنا لم أجرب الXml والتعامل معها و لكن أعتقد أنها قابلة للمشاهدة و التعديل ..

أخي الكريم GENIUS-IT عم نعذبك معنا ^.^

الحقيقة طريقة الحفظ بمسار بعيد ليست فعالة .. بكفي بقا صار لازم نعطي برامجنا شيء من الاحترافية ... أما طريقة تحويل Txt إلى Dll لا أعرف ..لم أجربها و لم تنجح معي ...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

أخى الكريم Eias

ان ما أقصده ليس تحويل الملف النصى إلى ملف DLL

ولكن تغير الأمتداد فقط وهذا مثال على ما أقول مثل الموضوع السابق الخاص بال html

Dim wr as Streamwriter
wr = File.CreateText("a.dll")
wr.Write(TextBox1.Text)
wr.Close()

أرجو ان تكون فهمت ما أقصده

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

فكرتك رهيبة فكرت فيها لكني تبين أنه كملف نص عادي قابل للتعديل .. فلايمكن خداع النظام بسهولة..يعني لم يكتسب إلا أيقونة ملف الDll.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

اخى الكريم eias

هذه الطريقه الجأ إليها احياننا وهى فعاله مؤقتا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ولا يهمك أخي الكريم سأحاةل أن أسأل الأجنب ... حرابيق أكيد بكونوا توصلوا لطريقة ^.^

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اذا خبأت الملفات تحت أي مسمى فان المستخدم يستطيع الوصول لها بعمل البحث على محتويات الملف وليس اسم الملف

والطرق الموجودة لحفظ text هي أما بالملفات المباشرة أو بحقول قواعد البيانات

ولكي تحفظها من تغيير المستهلك

فبالنسبة للملفات يمكن ان تضعها على protected directory اذا كنت تعمل من خلال network

وتعطي المستخدمين صلاحيات القراءة فقط

اما اذا كنت تعمل على نظام قائم بذاته Stand Alone فلن تتمكن من ذلك

أما في قواعد البيانات فتستطيع ان تحقق الحماية المطلوبة اذا عرضت التكست المطلوب في اداة للعرض فقط

ولم تعمل لها ربط Binding مع قاعدة البيانات

وهذه الطريقة هي المستخدمة في اغلبية برامج عرض البيانات .

تم تعديل بواسطه وليد مندني
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ايه المشكلة في إنك تعمل أنت ملف بامتداد جديد خاص بيك ... والملفات ده تشيل ال Text اللي أنت عايزه جواها ومتفتحش إلا من برنامجك وبس

Have fun ;) ;)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا لك أخي الكريم وليد مندني المشكلة هي ال Stand Alone لذلك نحن بحاجة لنوع ملفات مثل القفل... مثل ملفات التابعة للعبة ما مثلاً ..و قواعد البيانات لا أفكر باستعمالها..

شكرا لك أخي الكريم Cer الحقيقة إذا فعلت ذلك سأكون برمجت برنامج آخر ...هل تعرف طريقة بسيطة لذلك.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

كيفك يا إياس؟

لا يوجد يا إياس شيء إسمه محمي ومشفر في البرمجة، وجميع مقترحات الأخوة الأفاضل تتساوى في قيمتها ولن يستطيع أحد أن يقوم بتقديم حل أفضل مما قدموا (أقصد من ناحية القدرة على الحماية)، هناك الكثير من الأفكار وأكثرها إتباعاً لدى المبرمجين هي أن تضع النص الذي تريده في ملف مع عمل Encryption للنص، ولكن هذه الطريقة تتساوى في قدرتها على الحماية مع ما طرحه الأخوة، جميع المقترحات المقدمة تقدم لك حماية 100 بالمائة ما دامت شفرة برنامجك بعيدة عن عيني المستخدم، أما إن إستطاع المستخدم فكّ شفرة البرنامج (وهو أمر سهل لجميع لغات البرمجة بدون إستثناء) فإن جميع الطرق هي عديمة الجدوى على الأطلاق (سواء وضع النص في قاعدة بيانات محمية أو عمل encryption للنص ..ألخ) ... الملخص: تسطيع أن تجعل مهمة الآخرين صعبة في معرفة النص الذي تريد إخفاءه ولكن لن تستطيع جعل مهمتهم مستحيلة على الإطلاق وهنا يأتي السؤال عن أفضل الطرق لتحقيق تلك الغاية، أعتقد بأن ال Encryption هو الأفضل بلا منازع.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

و عليكم السلام و رحمة اله و بركاته

الأفضل هو تشفير النص

كما ذكر الاخوة الافاضل اعلاه

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أهلاً وسهلاً بالاستاذ هارون أنت كيفك أنا الحمد لله :lol:

طيب ملف الDll لا يمكن تعديله من قبل المستخدم ..و لكن لاحظت أنه عند فتح ملف الDll تبع أحد البرامج تلاحظ انه مشفر و كأنه ملف X.

أنا لاحظت أن شركات برمجة الألعاب تحفظ بياناتها داخل ملفات ذات لواحق غريبة ... أيضاً غير قابلة للتعديل..

حسنا إذا هل يوجد طريقة لعمل Encryption للنص داخل ملف Dll و هل هناك مثال ...

شكرا أخي الكريم الفريد ..

و لكن التشفير يا جماعة سوف يكلفي كود تشفير و كود فك تشفير أو بالأحرىEncryption ..

ممكن مثال

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

أخى الكريم eias

هذا مثال على عمل Encryption

عن طريق Ascii Code

لفد وجدته فى احد المنتديات الأجنبيه أرجو انا يفيد

Ascii_Encr14858810232002.zip

تم تعديل بواسطه GENIUS-IT
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا لك اخي الكريم ...أحمد (GENIUS-IT)

حسناً إذا سأستعمل كود التشفير ....و لكن سؤال أخير ..طيب لو قام مبرمج باستخدام نفس الكود (و الي هو أكيد لن يتغير ) هل سيستطيع فك شيفرة

الملفات .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الحمد لله عملت الموضوع

ممكن تعمل form زي الصورة :

th_29807_dddd_122_525lo.JPG

طبعا لازم ال Name space :

using System.IO;

اكتب تحت زرار ال save الكود التالي :

Dim StringToSave As String = MyRichTextBox.Text 
Dim MySaveDialog As SaveFileDialog = New SaveFileDialog
MySaveDialog.Filter = ".moh (*.moh)|*.moh"
If MySaveDialog.ShowDialog = DialogResult.OK Then
Dim Path As String = MySaveDialog.FileName
Dim MyFileStream As FileStream = New FileStream(Path, FileMode.Create)
Dim MyWriter As StreamWriter = New StreamWriter(MyFileStream)
MyWriter.Write(StringToSave)
MyWriter.Close
MessageBox.Show("Saved")
End If

وتحت زرار ال Open الكود :

Dim MyOpenDialog As OpenFileDialog = New OpenFileDialog 
MyOpenDialog.Filter = ".moh (*.moh)|*.moh"
If MyOpenDialog.ShowDialog = DialogResult.OK Then
Dim Path As String = MyOpenDialog.FileName
Dim MyReader As StreamReader = New StreamReader(Path, System.Text.Encoding.Default)
MyRichTextBox.Text = MyReader.ReadToEnd
End If

جرب البرنامج : اكتب في ال RichTextBox واعمل save هيطلع في ملف امتداده moh

امسح ال RichTextBox واعمل open للملف اللي عملتله save هيفتحلك اللي أنت كتبته

ارجو أن يكون ده هو اللي أنت عايزه

أي ملاحظات : just say it

Have fun ;) ;)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخى الكريم اياس و ليه تلجاء الى طرق تشفيرات اخرى لا تعرف عنها شىء من الافضل انك تحفظ النصوص فى

ملفات ثنائيه بدون اى امتداد و ايضا النصوص فى داخلها تكون مشفره بشفره خاصه ببرنامجك انت

لا يفهمها احد غيرك انت مثلا a= 23d b=21c و كده و اعتقد انها افضل طريقه لحمايه النصوص

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

أخى الكريم eias

طبعا مفيش شىء فى التشفير مستحيل ويمكن كسر تلك الشفره أيا كانت

ولكن مهمتنا هى ان نجعل الأمر صعبا فقط ولكن لا يوجد شىء مستحيل

ويمكنك أتباع طريقه الأخ half angel

فهى فعاله

ولكن انا أسف لن مسافر وانا أستطيع متابعت الموضوع أرجو ان تجد الحل المناسب

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم..

شكرا لك أخي الكريم Cer الحقيقة طريقتك أعجبتني و سأستخدمها على ما يبدو... لأن وضع دالة لتشفير و فك التشفير أمر متعب في البرنامج.

شكرا لك أخي الكريم half angel ممكن تعطيني مثال صغير إذا عندك وقت طبعاً

شكرا لك أخي الكريم GENIUS-IT ولا يهمك الموضوع محلول لاداعي لان تربط نفسك به.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي الكريم يمكن استخدام هذا الكلاس لتشفير البيانات

عذراً الكود بـ #C يمكنك تحويلة بأي برنامج تحويل اكواد دوت نت

using System;
using System.Text;

namespace SoftWin.ToolsPlus {

public class Encrypt {

private static byte GetPassword(string Password) {

byte[] Pass = Encoding.Unicode.GetBytes(Password);
int sum = 0;

foreach (byte P in Pass) {
sum += P;
}

byte Result = Convert.ToByte(sum % ((int)255));
Result ^= 255;

return Result;
}

public static string Crypt(string ToBase64) {
try {

if (ToBase64 == "") return null;

byte[] bytes = Encoding.Unicode.GetBytes(ToBase64);

return Convert.ToBase64String(bytes);

} catch {
return null;
}
}

public static string Crypt(string Password, string ToBase64) {
try {

if (ToBase64 == "") return null;

byte[] bytes = Encoding.Unicode.GetBytes(ToBase64);
byte[] Result = new byte[bytes.Length + 1];
byte Pass = GetPassword(Password);

Array.Copy(bytes, 0, Result, 1, bytes.Length);

Result[0] = Pass;

for (int I = 1; I < Result.Length; I++) {
Result[I] ^= Pass;
}

return Convert.ToBase64String(Result);

} catch {
return null;
}
}

public static string Decrypt(string FromBase64) {
try {

byte[] bytes = Convert.FromBase64String(FromBase64);
return Encoding.Unicode.GetString(bytes);

} catch {
return null;
}
}

public static string Decrypt(string Password, string FromBase64) {
try {

byte[] bytes = Convert.FromBase64String(FromBase64);
byte[] Result = new byte[bytes.Length - 1];
byte Pass = GetPassword(Password);

// Check Password in Byte[0]
if (bytes[0] != Pass) {
return null;
}

Array.Copy(bytes, 1, Result, 0, Result.Length);

for (int I = 0; I < Result.Length; I++) {
Result[I] ^= Pass;
}

return Encoding.Unicode.GetString(Result);

} catch {
return null;
}
}
}
}

ويستخدم كاالتالي :

لتشفير النص

textBox1.Text = Encrypt.Crypt("myString");

لتشفير النص مع كلمة سر

textBox1.Text = Encrypt.Crypt("myPassword", "myString");

فك تشفير النص

textBox2.Text = Encrypt.Decrypt(textBox1.Text );

فك تشفير النص بكمة السر

textBox2.Text = Encrypt.Decrypt("myPassword", textBox1.Text );

تبقي لك اخي الكريم حفظ النص المشفر في ملف خارجي

الفكرة بسيطة وغير احترافية ولكنها توفي بالغرد

السلام عليكم

تم تعديل بواسطه Moudey
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا لك أخي الكريم Moudey

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .