Ingineria inversă
Ingineria inversă
Ingineria inversă
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Exemple: ingineria <strong>inversă</strong> a programelor Java<br />
Codul de mai sus reprezintă Tabela Constantelor clasei snow. Din punctul de vedere al<br />
decompilatorului, din acest cod ne interesează în primul rând intrările CONSTANT_Utf8 al căror<br />
conţinut reprezintă calea relativă către o clasă. Acestea sunt clasele referite şi utilizate în program,<br />
deci trebuiesc importate. Identificăm următoarele clase:<br />
java/lang/Thread<br />
java/awt/Image<br />
java/awt/Graphics<br />
java/util/Random;<br />
java/awt/Dimension<br />
java/awt/MediaTracker<br />
java/lang/InterruptedException<br />
java/applet/Applet<br />
java/lang/Runnable<br />
java/awt/Component<br />
java/lang/String<br />
java/lang/Integer<br />
java/awt/Color<br />
java/awt/image/ImageObserver<br />
java/lang/Math<br />
Cum pachetul java.lang este importat implicit în orice clasă Java, toate clasele din acest pachet nu ne<br />
interesează. Din pachetul java.awt sunt utilizate mai multe clase, deci vom importa întreg pachetul.<br />
Prin urmare puntem scrie în snow.java:<br />
import java.applet.Applet;<br />
import java.awt.*;<br />
import java.awt.image.ImageObserver;<br />
import java.util.Random;<br />
CLASS DECLARATION<br />
0000076e Access Flags ACC_PUBLIC<br />
00000770 This Class snow<br />
00000772 Super Class java/applet/Applet<br />
Din acest cod aflăm modificatorii clasei şi superclasa, deci putem scrie:<br />
- 19 -