рдЬрд╛рд╡рд╛ рдПрдкреНрд▓реЗрдЯ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреИрд╕реЗ рдХрд░реЗрдВ

рд╣реИрд▓реЛ, рдкреНрд░рд┐рдп рдкрд╛рдардХред
рдЖрдЬ рдЖрдк рдЬрд╛рдиреЗрдВрдЧреЗ рдХрд┐ JAVA рдПрдкреНрд▓реЗрдЯ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреИрд╕реЗ рдХрд░реЗрдВред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ JAVA рдПрдкреНрд▓реЗрдЯреНрд╕ рдХреА рд╕реАрдорд┐рдд рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдПрдкреНрд▓реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:


рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрдИ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ:
1. рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рдЧреНрд░рд╛рд╣рдХреЛрдВ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк java.policy рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рд╕реНрдерд╛рдкрд┐рдд JRE рдХреЗ рд╕рд╛рде рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ C: \ Program Files \ Java \ jre6 \ lib \ Security рдореЗрдВ)ред рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдЬреЛрдбрд╝реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдм рдХреБрдЫ рд╕рдВрднрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд▓рд╛рдЗрди рдбрд╛рд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

grant { ... permission java.security.AllPermission; } 


рдФрд░ рдЕрдЧрд░ рдЖрдкрдХреЛ рд╕рд╛рдЗрдЯ hackmeplease.com рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

 grant codeBase "http://hackmeplease.com/*" { permission java.awt.AWTPermission "accessClipboard"; }; 


рдпрд╣ рд╡рд┐рдзрд┐ рдХреЗрд╡рд▓ рддрднреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧреА рдЬрдм рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рдХреЗ рдЕрдВрддрд┐рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реАрдорд┐рдд рд╣реЛ рдФрд░ рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕реНрдХреНрд░реИрдк рдкрд░ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рд╕рдорд╛рдзрд╛рди рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реИред

2. рдЕрдкрдиреЗ рдЬрд╛рд╡рд╛ рдПрдкреНрд▓реЗрдЯ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░реЗрдВред рддреЛ, рдЗрдирдкреБрдЯ рдкрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ:
- JDK рдФрд░ JRE рд╕реНрдерд╛рдкрд┐рдд;
- рдЖрдкрдХреЗ рдПрдкрд▓реЗрдЯ рдХреА рдЬрд╛рд░-рдлрд╝рд╛рдЗрд▓ (рд╕реНрд░реЛрдд рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ, рдиреАрдЪреЗ рджреЗрдЦреЗрдВ);
- рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓рд╛рдЗрди рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:

рдЯреВрд▓рдХрд┐рдЯ рдЯреВрд▓рдХрд┐рдЯ = рдЯреВрд▓рдХрд┐рдЯ.рдЧреЗрдЯрдлреЙрд▓реНрдЯрдЯреВрд▓рдХрд┐рдЯ ();
рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб = toolkit.getSystemClipboard ();

рдЗрди рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдПрдкреНрд▓реЗрдЯ рд╕реЗ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЕрдкрд╡рд╛рдж рдорд┐рд▓рддреЗ рд╣реИрдВ:
java.security.AccessControlException: рдПрдХреНрд╕реЗрд╕ рдЕрд╕реНрд╡реАрдХреГрдд (java.awt.AWTPermission accessClipboard)

рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ:
0. рд╣рдорд╛рд░реЗ JDK рдХреЗ BIN рдлреЛрд▓реНрдбрд░ рдореЗрдВ рдЬрд╛рдПрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, C: \ Program Files \ Java \ jdk1.6.0_23 \ bin)ред
I. рд╣рдорд╛рд░реЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ (рдХреАрд╕реНрдЯреЛрд░) рдХрд╛ рд╕реНрдерд╛рдиреАрдп рд╕реНрдЯреЛрд░ рдмрдирд╛рдПрдБ:
keytool -genkey -keystore .keystore -alas "рдЯреЗрд░рд╛рд╕реЙрдлреНрдЯ" -рд╡рд╛рджреНрдпрддрд╛ 99999
рдЬрд╣рд╛рдБ Terrasoft рд╣рдорд╛рд░реЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдирд╛рдо рдирд╛рдо рд╣реИ;
99999 - рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╡реИрдзрддрд╛ рдХреЗ рдорд╣реАрдиреЛрдВ рдореЗрдВ рдЕрд╡рдзрд┐;
.keystore - рдирд┐рд░реНрдорд┐рдд рд╕реНрдЯреЛрд░реЗрдЬ рдХрд╛ рдлрд╝рд╛рдЗрд▓ рдирд╛рдоред

рдЯреАрдо рдХреЗ рд╕рдлрд▓ рдкреНрд░рдХреНрд╖реЗрдкрдг рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рд┐рд╕реНрдЯрдо рд╣рдорд╕реЗ рд╣рдорд╛рд░реЗ рд╕реНрдЯреЛрд░ рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдкреВрдЫреЗрдЧрд╛, рд╕рд╛рде рд╣реА рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЬрд╛рдирдХрд╛рд░реА (рдЖрдкрдХрд╛ рдирд╛рдо, рдХрдВрдкрдиреА рдХрд╛ рдирд╛рдо, рд╢рд╣рд░, рджреЗрд╢ рдФрд░ рд░рдХреНрдд рдкреНрд░рдХрд╛рд░)

рдирддреАрдЬрддрди, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ .keystore рдлрд╝рд╛рдЗрд▓ рд╣реЛрдЧреАред рдпрд╣ рд╣рдорд╛рд░реА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рд╡рд┐рднрд┐рдиреНрди рдПрдкреНрд▓реЗрдЯреНрд╕ рдкрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░реЗрдВрдЧреЗред
рджреНрд╡рд┐рддреАрдпред рд╣рдорд╛рд░реЗ JDK рдХреЗ BIN рдлреЛрд▓реНрдбрд░ рдореЗрдВ рд╣рдорд╛рд░реА JAR рдлрд╛рдЗрд▓ рдХреЙрдкреА рдХрд░реЗрдВред рд╣рдо рдЗрд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕рд╛рдЗрди рдЗрди рдХрд░рддреЗ рд╣реИрдВ:
jarsigner.exe -keystore .keystore ClipboardLibrary.jar "рдЯреЗрд░рд╕реЙрдлреНрдЯ"
рдЬрд╣рд╛рдБ Terrasoft рд╣рдорд╛рд░реЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдирд╛рдо рдирд╛рдо рд╣реИ;
.keystore - рд╕реНрдЯреЛрд░реЗрдЬ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо;
ClipboardLibrary.jar - JAR рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдоред
рд╕рд┐рд╕реНрдЯрдо рд╣рдорд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рд▓рд┐рдП рдкреВрдЫреЗрдЧрд╛ - рдЪрд░рдг I рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдПрдХ рджрд░реНрдЬ рдХрд░реЗрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рддреИрдпрд╛рд░ рд╣реИ ... рд╣рд╛рдБ, рдЕрднреА, рднреЛрд▓реА ...
рдЗрд╕рд▓рд┐рдП, рдЬрдм рдЖрдк рдмреЛрд░реНрдб рдкрд░ рд╣рдорд╛рд░реЗ рдПрдкреНрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдкреГрд╖реНрда рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдлреЙрд░реНрдо рдХреЗ рдЕрдиреБрдХреВрд▓ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВрдЧреЗ:


рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ, "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рд╣рд╛рдБ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдЕрдкрдиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрд▓рд╡рд┐рджрд╛ рдХрд╣реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рд╡рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдо рдЗрд╕рдХреЗ рд╕рд╛рде рдЪрд╛рд╣рддреЗ рд╣реИрдВред"
рд╡реИрд╕реЗ, рд╡реЗрд░рд┐рдлрд╛рдЗрдб рдирд╣реАрдВ рдХрд░рдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдирд╣реАрдВ рд╣реИред рдПрдХ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╡рд┐рд╢реЗрд╖ рд╕реЗрд╡рд╛рдУрдВ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреИрд╕реЗ рдХрд╛ рднреБрдЧрддрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рд╡рд╛рдкрд╕ рд╣рдорд╛рд░реЗ рдореЗрдврд╝реЗред рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╕рдордп, рд╣рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдлреЙрд░реНрдо рдХрд╛ рдПрдХ рдЕрдкрд╡рд╛рдж рдорд┐рд▓рддрд╛ рд╣реИ:
java.security.AccessControlException: рдПрдХреНрд╕реЗрд╕ рдЕрд╕реНрд╡реАрдХреГрдд (java.awt.AWTPermission accessClipboard)

рдмрд╣реБрдд рдмреБрд░рд╛ред рдЦреИрд░, рдЕрдм рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ - рдпрд╣ рджреВрд╕рд░реА рдмрд╛рд░ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдирдорд╕реНрдХрд╛рд░ред

рдмрд╕ рдордЬрд╛рдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рднреА рдПрдкреНрд▓реЗрдЯ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдорд╛рд░реНрдЧрджрд░реНрд╢рдХ рдЬреЛ рдореБрдЭреЗ рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдорд┐рд▓реЗ рд╣реИрдВред рдЬреИрд╕реЗ, рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдПрдкреНрд▓реЗрдЯ рдХрд┐рд╕реА рдЪреАрдЬ рд╕реЗ рдбрд░рддрд╛ рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ рдЙрди рд╕рдмрдХреЛ рд╢рд░реНрдо рдЖрдиреА рдЪрд╛рд╣рд┐рдПред
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд┐рдкрдмреЛрд░реНрдб рдкрд░ рд╣рдорд╛рд░реЗ рдХреЙрд▓ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд feint:

рддреГрддреАрдпред рд╕реНрд░реЛрдд рдХреЛрдб рдмрджрд▓реЗрдВред
рджреГрд╢реНрдп рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп:
 clipboard = toolkit.getSystemClipboard() 

рдлрд╛рд░реНрдо рдХреА рдПрдХ рдХреЙрд▓ рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ:
 clipboard = (Clipboard) AccessController.doPrivileged(new PrivilegedAction() { public Object run() { return toolkit.getSystemClipboard(); } }); 

рдЙрд╕рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЕрдкрдиреЗ JAR рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдЪрд░рдг II рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЕрдВрдд рд╕реЗ рдореЗрд░реА рдкреЛрд╕реНрдЯ рдкрдврд╝рддреЗ рд╣реИрдВ - рд╕рдореНрдорд╛рди)ред

рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕рднреА рд╣реИред рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛, рдФрд░ рд╡рд╣ рдЗрд╕ рдмрдХрд╡рд╛рд╕ рдкрд░ рдЕрдкрдиреЗ рдЬреАрд╡рди рдХрд╛ рдЙрддрдирд╛ рдЦрд░реНрдЪ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬрд┐рддрдирд╛ рдореИрдВрдиреЗ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рд╣реИред рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ, рдЖрдк рдЦрд▓рдирд╛рдпрдХ рдЕрдкрдиреЗ рдЬреАрд╡рди рдХреЛ рдкреНрд░рддреАрдХреНрд╖рд╛ (рд╕реА) рдореЗрдВ рд╢рд░реНрдорд┐рдВрджрд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рддрдХ рд╣рд╡рд╛ рдкрд░ред

Source: https://habr.com/ru/post/In201210/


All Articles