ProGuard (software)

ProGuard is an open source command-line tool that shrinks, optimizes and obfuscates Java code. It is able to optimize bytecode as well as detect and remove unused instructions.[3] ProGuard is free software and is distributed under the GNU General Public License, version 2.[2]

ProGuard
ProGuard GUI
Developer(s)Eric P.F. Lafortune[1]
Stable release
6.1.1 / June 2019 (2019-06)
Repository
Written inJava
Operating systemCross-platform
LicenseGPLv2.0[2]
Websitewww.guardsquare.com/en/products/proguard

ProGuard is distributed as part of the Android SDK and runs when building the application in release mode.[4]

Features

Obfuscation

ProGuard obfuscates Java and Android programs by renaming classes, fields, and methods using meaningless names, making it harder to reverse-engineer the final application.[5]

Optimization

Besides removing unused instructions from the compiled bytecode, ProGuard optimizes it using techniques such as control flow analysis, data-flow analysis, partial evaluation, static single assignment, global value numbering, and liveness analysis.[5]

ProGuard can remove many types of unused and duplicated code, perform over 200 peephole optimizations, reduce variable allocation, inline constant and short methods, simplify tail recursion calls, remove logging code, among others.[5]

gollark: POST data isn't in the URL though, it's sent as the body.
gollark: The reason they *do* is probably just consistency with other methods (it would be very annoying if they worked very differently to GET routing-wise) and so requests can be routed to the right handler more easily.
gollark: <@498244879894315027> Why wouldn't (shouldn't?) they have a URL?
gollark: They do have to spin pretty fast. There are sealed helium ones now.
gollark: > The HDD's spindle system relies on air density inside the disk enclosure to support the heads at their proper flying height while the disk rotates. HDDs require a certain range of air densities to operate properly. The connection to the external environment and density occurs through a small hole in the enclosure (about 0.5 mm in breadth), usually with a filter on the inside (the breather filter).[124] If the air density is too low, then there is not enough lift for the flying head, so the head gets too close to the disk, and there is a risk of head crashes and data loss. Specially manufactured sealed and pressurized disks are needed for reliable high-altitude operation, above about 3,000 m (9,800 ft).[125] Modern disks include temperature sensors and adjust their operation to the operating environment. Breather holes can be seen on all disk drives – they usually have a sticker next to them, warning the user not to cover the holes. The air inside the operating drive is constantly moving too, being swept in motion by friction with the spinning platters. This air passes through an internal recirculation (or "recirc") filter to remove any leftover contaminants from manufacture, any particles or chemicals that may have somehow entered the enclosure, and any particles or outgassing generated internally in normal operation. Very high humidity present for extended periods of time can corrode the heads and platters. https://en.wikipedia.org/wiki/Hard_disk_drive#Integrity

See also

References

  1. "Eric Lafortune home page". Retrieved November 24, 2015.
  2. "ProGuard license page". February 2, 2015. Retrieved November 24, 2015.
  3. "ProGuard overview (official page)". February 2, 2015. Retrieved November 24, 2015.
  4. "Shrink your code and resources". Retrieved June 10, 2018.
  5. "ProGuard FAQ". February 2, 2015. Retrieved November 24, 2015.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.