Video Guide: lærer at bruge Wordpress i en enkelt dag!


Påberåber sig fra et beskyttet eller private class java: sikker på, at det er umuligt?


Advertisement


Det korrekte svar er: "afhænger af tilstedeværelse eller fravær af en sikkerheds-manager."

Ja, gennem refleksion er faktisk muligt at gå i kraft af begrænsningerne i Java sprog uden større vanskeligheder, ammenochè er ikke bare en sikkerhedschef, den eneste aktør i stand til virkelig at forvalte og eventuelt stoppe den slags kræfter.

Men vi er nu det eksempel, som er mere værd end mange disquisition. I betragtning af de følgende klasser:

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

vi ønsker at vise, hvor let påberåbe metoden fra private sayHello ", som jeg allerede har avancerede at gøre det stærkt brug for overvejelser:

 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(); } } } 


Har du gerne denne artikel? Tilmeld dig nu for at modtage opdateringer eller nyhedsartikler:
Abonner på RSS-feeds skrive til RSS-feed


Stadig ingen kommentarer »

Kommentarer RSS-feed for dette indlæg. TrackBack URI

Efterlad en kommentar

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 All rights reserved.

License | Ansvarsfraskrivelse
Luk
Send e-mail