Disable print screen 2
Well… fucking shit. Cu bunavointa lui mr. Tazy am spart si versiunea anterioara, care era de fapt solutia. Desi swf-ul mergea, putea fi recuperat de pe server, spart si decompilat pana la nivel de ActionScript. Iar acolo evident se vedea path-ul care desi relativ [my huge mistake] trebuia sa fie identic si pe server. Deci desi in lipsa posibilitatii de print screen se putea scrie manual intr-un *.txt, inchide flashul, copy-paste in browser and voila de vezi. Ce s-a mai putut face ? Exista 2 solutii, niciuna care sa asigure protectie 100%, dar fiecare capabila sa puna ore bune la lucru orice developer experimentat.
Solutia unu se bazeaza pe o realitate simpla: orice pixel nu poate contine decat o singura culoare. Deci daca avem o imagine 400×400px practic nu trebuie decat un batch script care sa recupereze hex value-ul dintr-o suprafata data de 160.000 pixeli. Apoi din algoritmul recuperat se aplica o functie care deseneaza singura imaginea cu anchor point top left in formatRGB. Acest format presupune coduri culoare de la 0 la 16,777,215 (&HFFFFFF). Imaginea fiind generata astfel pixel by pixel, practic nu exista… Dar evident se poate face un script care duce cu un pas mai departe procesul: genereaza si salveaza intr-un *.jpg pixelii agregati.
Solutia doi [click pentru demo sau pentru sursa completa], presupune realizarea unor slice-uri care sunt luate dinamic in flash generand imaginea compozita finala. La fel ca la solutia anterioara, se poate cu DOM identifica folder-ul de apelare de tip *.jpg, fura si decompila sursa. Diferenta este insa ca se pierde timp considerabil pentru recrearea unei imagini complete. De exemplu, un concept al unui site care are 1500 pixeli inaltime inseamna undeva la 150 de slice-uri la 10 pixeli height fiecare. Special thanks pentru o groaza de motive.ro Spor la treaba deci :)
/*defineste si apeleaza functia de reset clipboard*/
this.onEnterFrame = function() {
System.setClipboard('=========================\n=== Fatal brain error ===\n=========================\n\nDenied Acces System.setClipboard din:\n> windows xp si vista all versions\n> mac osx\n> linux\n\nSurprize surprize swf:\n> encrypted pe 32 si 64 de biti pe import\n> path de compilare localhost\n\nDaca esti din neamul Matrix donez sursa integral.\n\nCopyright Razvan Dumitru. All rights reserved.\nP.S. Stiu si dehack-ul pentru hack :)');
/*
\n semnifica breakline
intre '' se defineste textul custom
*/
};
/* definire si parametrare functie dinamica de apelare a imaginilor */
function loadPhotos(photocount, photoheight) {
/* nr dinamic de poze maxim 99 */
for (i=1; i<=photocount; i++) {
_root.createEmptyMovieClip("slice_"+i, i);
trace("slice_"+i);
/* output nr de movieclip-uri generate*/
addon = i+'';
if (i<10) {
addon = '0'+i;
}
_root["slice_"+i].loadMovie("slices/a_"+addon+".jpg");
/* denominatie poza a_01.jpg count to max a_99.jpg */
_root["slice_"+i]._x = 0;
_root["slice_"+i]._y = (i-1)*photoheight;
trace((i-1)*photoheight);
/* output total height - photoheight */
}
}
var lv = new LoadVars();
/* instantiere on load si pozitionare in functie de height FIX*/
lv.onLoad = function() {
_root.loadPhotos(this.photocount, this.photoheight);
};
/* in d3v.txt se parametreaza in pixeli nr de slice-uri si height-ul */
lv.load("count/d3v.txt");
trace("d3v param loaded");
stop();
/* evitare loop infinit */







Nu merge. Poti sa faci print-screen fara nici o problema.
http://razvandumitru.ro/disable-print-screen-working/
@gabi. Dupa cum vezi si din poza e cracked solutia datorita vulnerabilitatilor care sunt de la flash player 9,0,0,8 in sus.