• 0
ha98

طلب مساعدة في فهم خطوات كود

سؤال

السلام عليكم إخواني الأعزاء

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

لعمل حماية للتطبيق بكلمة مرور

حاولت أكثر من مرة قراءة التعليمات الموجودة مع الكود إلا أني لم أفلح في عمل المطلوب

يمكن لضعف خبرتي في الأشياء المتقدمة

على العموم الكود والشرح على الرابط التالي

http://java.sun.com/developer/J2METechTips/2001/tt1015.html

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

تحياتي

0

شارك هذا الرد


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

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

  • 0

أتمنى من الخبراء الإفادة في هذا الموضوع لأنه هذا بصراحة ضروري

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

تحياتي

0

شارك هذا الرد


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

import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;

/**
* This login MIDlet prompts the user for a username and a password. If the
* user enters the correct account information, a list of options is
* displayed, otherwise an error message is displayed.
*
* @author: Qusay H. Mahmoud
*/
public class LoginMIDlet extends MIDlet implements CommandListener {
  private Display display;
  private TextField userName;
  private TextField password;
  private Form form;
  private Command cancel;
  private Command login;


  // Constructor
  public LoginMIDlet() {
     userName = new TextField("LoginID:", "", 10, TextField.ANY);



     password = new TextField("Password:", "", 10, TextField.PASSWORD);
     form = new Form("Sign in");
     cancel = new Command("Cancel", Command.CANCEL, 2);
     login = new Command("Login", Command.OK, 2);
  }

  // MIDlet lifecycle method: called when the MIDlet is started
  public void startApp() {
     display = Display.getDisplay(this);
     form.append(userName);
     form.append(password);
     form.addCommand(cancel);
     form.addCommand(login);
     form.setCommandListener(this);
     display.setCurrent(form);
  }

  // MIDlet lifecycle method: called when MIDlet is paused

  public void pauseApp() {
  }

  // MIDlet lifecycle method: called when the MIDlet is destroyed
  public void destroyApp(boolean unconditional) {
     notifyDestroyed();
  }

  // Checks if the user enters the correct account information
  public void validateUser(String name, String password) {
//******

    if (name.equals("ha98") && password.equals("yourpassword")) {
      menu();
    } else {
      tryAgain();
    }
  }    

  // Display a list of services
  public void menu() {
    List services = new List("Select One", Choice.EXCLUSIVE);
    services.append("Read Email", null);
    services.append("New Message", null);
    services.append("Address Book", null);
    services.append("Customize", null);

    services.append("Sign Out", null);
    services.addCommand(new Command("Back", Command.CANCEL, 2));
    services.addCommand(new Command("Select", Command.OK, 2));

    display.setCurrent(services);
  }

  // Display an error message if the user enters the incorrect account info
  public void tryAgain() {
    Alert error = new Alert("Login Incorrect", "Please try again", null, AlertType.ERROR);
    error.setTimeout(Alert.FOREVER);
    userName.setString("");
    password.setString("");
    display.setCurrent(error, form);
  }


  // Handle events
  public void commandAction(Command c, Displayable d) {
     String label = c.getLabel();
     if(label.equals("Cancel")) {
       destroyApp(true);
     } else if(label.equals("Login")) {
        validateUser(userName.getString(), password.getString());
     }
     // add code to handle user's selection from list of services
  }
}

The Source

هنا تستطيع كتابة ال Username وال Password التي تحتاجها ولا يتم الدخول الا اذا كان Username=ha98 و Password =yourpassword

0

شارك هذا الرد


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

السلام عليكم

أخي العزيز مجدي أولا كيف حالك ومن زمان مطول الغيبة علينا عسى خير

انساء الله

ثانيا : ياصاحب الجمايل علينا وسع صدرك وطول بالك معانا شوي لأنه عندي استفسارات ولن يشفي غليلي إلا أجوبتكم التي انتظرها وأنا على أحر من الجمر

بالنسبة للأستفسار الأول ياعزيزي

هذا الكود ممتاز إذا كنت أريد أحمي التطبيق في جهازي يعني مااحد يقدر يدخل عليه لكن مشكلته لو أردت مثلا أني أعمل تطبيق وأتاجر فيه مثلا

في هذه الحالة لو وزعته على واحد مع اليوزر والباس وورد يقدر يعطيه غيره بكل سهولة وبالتالي تصبح الحماية هنا ليس لها معني

سؤالي هل هناك طريقة بحيث تكون الحماية مثل هنا عبارة عن رقمين

الرقم الأول ينتج بشكل عشوائي بمجرد تركيب التطبيق في الجوال

الرقم الثاني هو رقم ناتج من معادلة محددة تطبق على الرقم الأول

بحيث نضمن أنه في كل مرة يتم تركيب التطبيق إلى جوال آخر يتغير الرقم الأول وبناء عليه سيتغير الرقم الثاني

طبعا هذه فكرة يمكن انت عندك فكرة أفضل من هذه

ولكن إذا تمكنا من عمل هذا فهذا عمل ممتاز جدا يحافظ على الحقوق

الاستفسار الثاني

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

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

0

شارك هذا الرد


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

تسلم يا اخي انا بخير وان شاء الله كل المسلمين يكونو بخير

بالنسبة للأستفسار الأول ياعزيزي

سؤالي هل هناك طريقة بحيث تكون الحماية مثل هنا عبارة عن رقمين

الرقم الأول ينتج بشكل عشوائي بمجرد تركيب التطبيق في الجوال

الرقم الثاني هو رقم ناتج من معادلة محددة تطبق على الرقم الأول

ما عندي فكرة واول مرة ارى فكرة مثل هيك ولكن لا اعتقد انها تفيد اعتقد افضل طريقة هي username and password

الاستفسار الثاني

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

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

ابعثلي البرنامج كرسالة خاصة وانا اعمله وما تخاف ما بحكي لاحد ما عنه

0

شارك هذا الرد


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

السلام عليكم

عزيزي وأخي مجدي

انت قلت

ما عندي فكرة واول مرة ارى فكرة مثل هيك ولكن لا اعتقد انها تفيد اعتقد افضل طريقة هي username and password

طيب ممكن تقول ايش يفيد ال username and password

إذا مثلا انت وزعت التطبيق والناس عرفت ال username and password

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

افضل طريقة هي username and password

أما بالنسبة للرسالة الخاصة لاأعرف كيف يتم إرفاق ملف بواسطة الرسالة الخاصة

ولكن هذا مشروع صغير في المرفقات بودي معرفة كيف يتم حمايته بواسطة الكود السابق

في الأخير لايسعني إلا شكرك

0

شارك هذا الرد


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

السلام عليكم

عزيزي وأخي مجدي

انت قلت

ما عندي فكرة واول مرة ارى فكرة مثل هيك ولكن لا اعتقد انها تفيد اعتقد افضل طريقة هي username and password

طيب ممكن تقول ايش يفيد ال username and password

إذا مثلا انت وزعت التطبيق والناس عرفت ال username and password

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

افضل طريقة هي username and password

أما بالنسبة للرسالة الخاصة لاأعرف كيف يتم إرفاق ملف بواسطة الرسالة الخاصة

ولكن هذا مشروع صغير في المرفقات بودي معرفة كيف يتم حمايته بواسطة الكود السابق

في الأخير لايسعني إلا شكرك

sora.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
طيب ممكن تقول ايش يفيد ال username and password

إذا مثلا انت وزعت التطبيق والناس عرفت ال username and password

يا اخي لو يوجد طريقة ثانية كان استخدموها لحماية البرامج مثل JBuilder او غيرها اليك الملف

Sura.java

0

شارك هذا الرد


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

السلام عليكم

عزيزي مجدي الله يعطيك العافية وشاكرين لك للمرة الألف لتعبك معانا

بس انت بالخليجي راعيها

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

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

التوحيد

الكوثر

ومن بعد يختار السورة ويظهر له نموذج السورة

أنا كنت عامل التطبيق المرفق على شكل كلاسات كل سورة في كلاس وواضع الكلاسات

في مجلد اسمه my

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

أن أجمع الكود كله في كلاس واحد

لاحظ مثالي هنا صغير يحتوي على كلاسين فقط لكن هناك تطبيقات تحتوي على كلاسات

كثيرة ومجمعة في فولدر واحد يعني من الصعوبة بمكان تجميع أكوادها في كلاس واحد

للمرة الألف شكرا وانتظر منك الرد

تحياتي

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

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
لاحظ مثالي هنا صغير يحتوي على كلاسين فقط لكن هناك تطبيقات تحتوي على كلاسات

كثيرة ومجمعة في فولدر واحد يعني من الصعوبة بمكان تجميع أكوادها في كلاس واحد

للمرة الألف شكرا وانتظر منك الرد

يا اخ ha98 تستطيع عمل كلاس تضم الكلاسات الثلاثة ولكن يجب ان تكون على معرفة جيدة بال OOP برمجة الكائنات بالجافا?

0

شارك هذا الرد


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

السلام عليكم

العزيز مجدي أنا عندي خلفية لا بأس بها عن ال oop

لكن مايهمني الآن هو كيف أطبق كود الحماية على مثالي دون أن أغير في

شكله العام

يعني بعد تسجيل اليوزر والباس وورد يظهر لي النموذج الذي يحتوي على

الشكل التالي

التوحيد

الكوثر

ومن هذا النموذج يتم الاختيار

إن شاء الله يكون طلبي سهل ولا يكلفك

تحياتي لك

0

شارك هذا الرد


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

السلام عليكم

أخي العزيز مجدي

طيب ممكن تقول لي لو تكرمت طلبي الأخير ممكن عمله في هذه الحالة أم لا

تحياتي لك

0

شارك هذا الرد


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

يا اخي تستطيع عمل ذلك عن طريق عمل كلاس ثالث وتسميه اسم اخر وتستطيع استخدام الاساليب الموجودةفي الكلاسات الاخرى عن طريق

Class1 cl= new Class1();
cl.Method1();

مع عمل تعديلات ساريك اياها لاحقا باذن الله مشغول الان اعذرني

0

شارك هذا الرد


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

على العموم أنا انتظر ردك بفارغ الصبر

تحياتي لك ياكبير

0

شارك هذا الرد


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

لا اعرف كيف فاتني هذا النقاش الرائع...

سوف اعود في المساء و احاول المساعدة فعندي بعض الحلول ان شاء الله

0

شارك هذا الرد


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

أهلا وسهلا بالمشرف العزيز الأخ رامي

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

ياليت والله نشوف معانا الأخ مصعب والأخ shi والاخ student

على اساس يكتمل العقد

0

شارك هذا الرد


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

مشكور جداً يا أخ ha98 على وصفك الشريف

أنا متابع لمواضيعك وأستفيد من مناقشاتك أتمنى لك التوفيق

0

شارك هذا الرد


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

اخي العزيز shi انت تستاهل واكثر

ياشباب ياجماعة آن الأوان لنهتم بهذا الموضوع ونعطيه من الاهتمام مايتناسب

معه

تحياتي

0

شارك هذا الرد


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

يا اخي اليك الحل التالي تعمل مثلا

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class Kawthar extends MIDlet
{
.
public void method()
{

Form f= new Form("Form Title");
f.append(".........");
f.append(".........")
.
}
}

وكذلك مع

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class Tawheed  extends MIDlet
{
.
.
.
}

بدون ازرار وتقوم بعمل Class ثالث مثل Main

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class Main extends MIDlet  implements CommandListener
{
.
.
.
}

وتستطيع كما قلت void method في Kawthar و Tawheed وتستطيع استخدامه في Main وهكذا تستطيع الربط

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class Main extends MIDlet  implements CommandListener
{
.
.
kawthar k = new kawthar();
k.method();
.
.
}

ان شاء الله افدتك

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

شارك هذا الرد


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

السلام عليكم

أخي العزيز مجدي شكرا على إفاداتك الخيرة

سأقرأ التعليمات التي كتبتها وأحاول مرار ا وتكرارا وسأخبرك بالتفاصيل

تحياتي

0

شارك هذا الرد


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

السلام عليكم

أخي العزيز مجدي حاولت تطبيق تعليماتك ونجحت بعض الشيء إلا أنه هناك بعض المشاكل التي واجهتني وهي عدم فتح الفورم الخاص ب التوحيد والكوثر

ماعملته تجده في الملف المرفق هذا من جهة ومن جهة أخرى راودتني فكرة

حول الحماية وهي هل يمكننا عمل مربع نص يفتح مرة واحدة فقط وهي أول مرة يعمل فيها التطبيق على الجهاز يعني مع ثاني مرة تشغيل للتطبيق على الجهاز لايظهر هذا المربع

هل بالامكان عمل مثل هذا

tagrbah.rar

0

شارك هذا الرد


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

أخي مجدي هل قرأت الرد الأخير

0

شارك هذا الرد


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

نعم اخي وبحاول اجد الحل

0

شارك هذا الرد


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

اخي حاول اعمل الطريقة الاتية لاني مشغول شوي

نفس الملف

بس لازم يكون ملف الكوثر والتوحيد هكذا

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class Kawthar
{
.
public void method()
{

Form f= new Form("Form Title");
f.append(".........");
f.append(".........")
.
}
}

mport javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class Tawheed
{
.
.
.
}

واخبرني اخي اعذرني انا داخل بعضي البعض هل اليومين

0

شارك هذا الرد


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

السلام

اخي العزيز مجدي الله يساعدك لأنك مشغول

لكن شكل كلاسات التوحيد والكوثر مااختلفوا عن قبل

تحياتي

0

شارك هذا الرد


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

يا اخي الكود التوحيد والكوثر تغير لاحظ

public class Kawthar

public class Tawheed

وليس

public class Kawthar extends MIDlet

public class Tawheed  extends MIDlet

0

شارك هذا الرد


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

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

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