Accessing non-public attributes of a class in Java
تاريخ التسجيل: 2004-10-29 مشاركات: 85
الجامعة: البعث الكلية: الهندسة المعلوماتية المرحلة: السنة الثالثة
|
Hello all
I would like to tell about my experience. I am working with some project called "ODBMS" (Analys, Design & Implement). I have faced some trouble which is like the following :
I was forced to access the private and protected data members of an instance of any Java class. It was so hard , but i finally have written some code (with C++) that made it possible to access such fields in Java.
I would like to ask you pleaze if you have some ideas about this challenge to help me improve my project's performance !!
Thanks
النور يشع وسط الظلام والظلام لا يستطيع أن يمحوه
|
| |
دخول أو تسجيل لإرسال التعليقات | قراءة: 355 |
تاريخ التسجيل: 2005-02-20 مشاركات: 258
الجامعة: غير ذلك الكلية: الهندسة المعلوماتية المرحلة: ماجستير الاختصاص: هندسة شبكات
|
easy one
write set/get functions for the private fields in the class
|
| |
دخول أو تسجيل لإرسال التعليقات |
|
عضو فعال
تاريخ التسجيل: 2005-10-25 مشاركات: 944
الجامعة: دمشق الكلية: الهندسة المعلوماتية المرحلة: السنة الثالثة
|
عادة للوصول للمتحولات الخاصة والمحمية في الصفوف .. بيستخدموا توابع set/get للحصول عليها ... فالتابع set مهمته تعديل قيمة المتحول الخاص، بينما التابع get للحصول على قيمته .. ووقت منحتاج للقيمة من تعديل أو الحصول عليها منستدعي التابع عن طريق الصف نفسه ..
ملحوظة : لازم يكون التوابع set/get توابع عامة ( Public ) وإلا ما بتستفاد شي !
|
| |
دخول أو تسجيل لإرسال التعليقات |
تاريخ التسجيل: 2004-10-29 مشاركات: 85
الجامعة: البعث الكلية: الهندسة المعلوماتية المرحلة: السنة الثالثة
|
hahahahahahahahahahahahahahahahahahahahahahahahahahhahahahahah
haaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahahahahahahahahahahah
What are you both talking about ????????
I'm talking about hacking , some attack on the language runtime
مع احترامي إلكن تنيناتكن جاي أنت وياه تقولولي إنو إعمل setter & getter . أنا عم أحكي عن الوصول لمتل هالواصفات بدون هاي التوابع !!!!!!!!!!!!!! يعني عملية وصول غير مشروعة illegal لهل الواصفات... لأ بس اللي عجبني ملحوظة الدكتور سايكو آخر شي
هاهاهاهاهاهاهاه
النور يشع وسط الظلام والظلام لا يستطيع أن يمحوه
|
| |
دخول أو تسجيل لإرسال التعليقات |
تاريخ التسجيل: 2005-02-20 مشاركات: 258
الجامعة: غير ذلك الكلية: الهندسة المعلوماتية المرحلة: ماجستير الاختصاص: هندسة شبكات
|
كتب arbash: Hello all
I would like to tell about my experience.
we appreciate that !!!!!!!!!!!!!!!
كتب arbash:
I am working with some project called "ODBMS" (Analys, Design & Implement). I have faced some trouble which is like the following :
I don't see any thing about hacking here, do u guys?
كتب arbash:
I was forced to access the private and protected data members of an instance of any Java class.
this is general
|
| |
دخول أو تسجيل لإرسال التعليقات |
|
مشرف
تاريخ التسجيل: 2006-02-19 مشاركات: 2888
الجامعة: دمشق الكلية: الهندسة المعلوماتية المرحلة: السنة الثالثة
|
arbash be nice to others so they will be nice too.
First, your question showed nothing about hacking. Second, it's forbidden to talk about hacking in this forum.
|
| |
دخول أو تسجيل لإرسال التعليقات |
|
عضو فعال
تاريخ التسجيل: 2005-10-25 مشاركات: 944
الجامعة: دمشق الكلية: الهندسة المعلوماتية المرحلة: السنة الثالثة
|
كتب arbash:
I was forced to access the private and protected data members of an instance of any Java class. It was so hard , but i finally have written some code (with C++) that made it possible to access such fields in Java.
I would like to ask you pleaze if you have some ideas about this challenge to help me improve my project's performance !!
يعني أنا قرأت مشكلتك شي خمس مرات وما لقيت فيه طلب باختراق غير شرعي للمتحولات الخاصة والمحمية ...
ونحنا دائماً وقت منجاوب على تساؤل وسئالة شي عضو .. منفترض الوجه الحسن للموضوع ..
حضرتك كان فيك تقول "بالمشرمحي" أنه بدك عملية "Hacking" للمعلومات مشان نفهم قصدك وما كان بدها هالدورة واللفة .. وتحكيلنا عن منجزاتك في عمل نسخة Native مشان توصل لمطلبك ..
وبالأخير متل ما قال العضو mpcabd :
كتب mpcabd: arbash be nice to others so they will be nice too.
First, your question showed nothing about hacking. Second, it's forbidden to talk about hacking in this forum.
|
| |
دخول أو تسجيل لإرسال التعليقات |
تاريخ التسجيل: 2004-10-29 مشاركات: 85
الجامعة: البعث الكلية: الهندسة المعلوماتية المرحلة: السنة الثالثة
|
مرحبا جميع
أنا بعتذر جدا للجميع . ماقصدي أجرح أو أي شي
بس أنا كنت قاصد شي وما عبرت بشكل مناسب
الموضوع كان فعلاً hacking على الـ Java Runtime Security .
بس لقيت الردود كتير بسيطة فانفعلت زيادة.
بعتذر مجدداً. وأنا مالي خبر إنو مواضيع الـ hacking ممنوعة.
المشكلة عندي كانت إني بدي أعرف أي صف user class شو بيملك واصفات، وأقدر من أجل أي غرض من هاد الصف أعرف قيم جميع الواصفات حتى الغير public فأنا ماني ضامن إنو المستخدم رح يوفرلي getters لهلواصفات. وقدرت أعملها أخيراً بطريقة معينة، فكنت حابب أسمع رأي شي حدا من الأعضاء الأفاضل عندو اطلاع على متل هيك شغلة ...
شكراً.
النور يشع وسط الظلام والظلام لا يستطيع أن يمحوه
|
| |
دخول أو تسجيل لإرسال التعليقات |
|
مدير
تاريخ التسجيل: 2005-07-15 مشاركات: 3231
الجامعة: دمشق الكلية: الهندسة المعلوماتية المرحلة: السنة الخامسة الاختصاص: هندسة برمجيات
|
It's not prohibited to talk about "Hacking" here. for cracking it is.
Anyway accessing private members in Java (or any other virtual machine programming languages) is by far not hacking, and it's not rocket science either, and it's not illegal!
This is widely known as Reflection (well, it's one aspect of reflection)
Although I see that in Java there is some kind of constraints on reflecting non-public members ( Class.getField reflects only public fields) but Java.getDeclaredFields returns all declared fields (public or not).
I don't know why they've implemented it this way in Java, but I think getDeclaredFields should do the job.
I think it would be useful for you to read more about The Reflection API in Java
|
| |
دخول أو تسجيل لإرسال التعليقات |
تاريخ التسجيل: 2007-06-19 مشاركات: 26
الجامعة: البعث الكلية: الهندسة المعلوماتية المرحلة: متخرج الاختصاص: هندسة برمجيات
|
Great project arbash, keep the high spirit,
and remember :
"Though a program be but three lines long, someday it will have to be maintained."
Thus spake the master programmer!
|
| |
دخول أو تسجيل لإرسال التعليقات |
|
عضو فعال
تاريخ التسجيل: 2004-02-27 مشاركات: 1477
الجامعة: دمشق الكلية: الهندسة المعلوماتية المرحلة: متخرج الاختصاص: ذكاء صنعي
|
As foad says " Anyway accessing private members in Java (or any other virtual machine programming languages) is by far not hacking" The four Ps (public,private,package,protected) are for code organizing and to follow the OO programing methodology. But over all, It's a nice work, ya3tik el 3afia
|
| |
دخول أو تسجيل لإرسال التعليقات |
تاريخ التسجيل: 2004-10-29 مشاركات: 85
الجامعة: البعث الكلية: الهندسة المعلوماتية المرحلة: السنة الثالثة
|
Dear foaad,
I do know what you're talking about.
if you had tried to access values of these attributes returned by method "getDeclaredFields", you didn't write this answer. cuz Java will throw an exception for the non-public attributes. It's possible to be so easy as you talk !!!
النور يشع وسط الظلام والظلام لا يستطيع أن يمحوه
|
| |
دخول أو تسجيل لإرسال التعليقات |
تاريخ التسجيل: 2004-10-29 مشاركات: 85
الجامعة: البعث الكلية: الهندسة المعلوماتية المرحلة: السنة الثالثة
|
كتب Darkscorp:
Great project arbash, keep the high spirit,
and remember :
"Though a program be but three lines long, someday it will have to be maintained."
Thus spake the master programmer!
Thaaaaaaaaaank you...... thank you too much
النور يشع وسط الظلام والظلام لا يستطيع أن يمحوه
|
| |
دخول أو تسجيل لإرسال التعليقات |
|