Pobierz Norton 360 wersji 2.0 Premier Edition - English Version


Uruchamianie z chronionego lub prywatnych klasy Java: upewnij się, że jest to niemożliwe?


Reklama


Prawidłowa odpowiedź brzmi: "zależy na obecności lub braku bezpieczeństwa menedżer."

W rzeczywistości, poprzez refleksji jest faktycznie możliwe, aby przejść do obowiązujących ograniczeń w języku Java bez większych trudności, ammenochè nie tylko Security Manager, jedynym aktorem w stanie zarządzać rzeczywiście i ostatecznie zatrzymać tych rodzajów sił.

Ale mamy przykład, że warto wiele debat. Biorąc pod uwagę następujące klasy:

 package net.nothing2hide.test; public class ClassWithMethodsToHack { private void sayHello(String name){ System.out.println("Hello " + name + "! You're calling a private method"); } } 

chcemy, aby wykazać, jak łatwo być stosowane poza prywatnych metoda sayHello jak przewidywano go używać silnie refleksji:

 package net.nothing2hide.test; public class PrivateMethodInvocationTest { /** * This sample class demonstrates how to * invoke a protected method on another class * * @param args */ public static void main(String[] args) { String myName = "Davide"; Method m; try { //Let'access the private method //by reflection. You could do the same //with a protected method m = ClassWithMethodsToHack.class.getDeclaredMethod( "sayHello", new Class[]{String.class}); if (m != null) { //Let's force the java language access //checks on the reflected method. Note //that if a security manager is defined //this workaround could not be permitted //and a SecurityException could be raised m.setAccessible(true); //And finally let's invoke the protected method m.invoke(new ClassWithMethodsToHack(), new Object[]{myName}); } } catch (Exception e) { e.printStackTrace(); } } } 


Czy korzystają z tego artykułu? Zapisz się teraz, aby otrzymywać aktualizacje lub wiadomości:
Subskrybuj RSS napisz do kanału RSS


Nie ma jeszcze żadnych komentarzy »

Kanał RSS komentarzy na temat tego postu. TrackBack URI

Zostaw komentarz

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

RECENT VISITORS


Nothing2Hide © 2006 Wszelkie prawa zastrzeżone.

Licencja | Zastrzeżenie
Blisko
Wyślij e-mail