SEARCH
0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Prev | Current Page 517 | Next

Shon Harris, Allen Harper, Chris Eagle, and Jonathan Ness

"Gray Hat Hacking, Second Edition"

equals("qcvw|uyl"));
}
}
The quality of the decompilation is quite good. There are only a few minor differences
in the recovered code. First, we see the addition of a default constructor not present
in the original but added during the compilation process.
NOTE In object-oriented programming languages, object data types generally
contain a special function called a constructor. Constructors are invoked each
time an object is created in order to initialize each new object. A default
constructor is one that takes no parameters. When a programmer fails to
define any constructors for declared objects, compilers generally generate a single default
constructor that performs no initialization.
Second, note that we have lost all local variable names and that JReversePro has generated
its own names according to variable types. JReversePro is able to fully recover
class names and function names, which helps to make the code very readable. If the class
had contained any class variables, JReversePro would have been able to recover their
original names as well. It is possible to recover so much data from Java files because of
the amount of information stored in each class file. This information includes items
Chapter 12: Passive Analysis
291
PART IV
such as class names, function names, function return types, and function parameter signatures.


Pages:
505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529