ProGuard
Template:Short description Template:DMCA
Page Module:Infobox/styles.css has no content.
| ProGuard | |
|---|---|
| Lua error in package.lua at line 80: module 'Module:InfoboxImage/data' not found. ProGuard GUI | |
| [[Programmer|DeveloperTemplate:Pluralize from text]] | Eric P.F. Lafortune[1] |
| Written in | Java |
| Operating system | Cross-platform |
| License | GPLv2.0[2] |
| Website | www |
Script error: No such module "Check for conflicting parameters".
ProGuard is an open source command-line tool which shrinks, optimizes and obfuscates Java code. It was created by Belgian software engineer Eric Lafortune and later formed the basis of Guardsquare, the mobile application security company he co-founded.[3] It is able to optimize bytecode as well as detect and remove unused instructions.[4] ProGuard is free software and is distributed under the GNU General Public License, version 2.[2]
ProGuard was distributed as part of the Android SDK and ran when building the application in release mode.[5]
Features
- Bytecode-level optimizations;
- Also works with Java Micro Edition and Android;
Obfuscation Method
ProGuard obfuscates Java and Android programs by renaming classes, fields, and methods using meaningless names (an implementation of security through obscurity), making it more difficult to reverse-engineer the final application.[6]
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.[6]
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, amongst others.[6]
See also
Lua error in mw.title.lua at line 404: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').
- Java (programming language)
- Program optimization
- Obfuscation (software)
- Dotfuscator
- DashO (software)
References
Page Template:Reflist/styles.css has no content.
- ^ Page Module:Citation/CS1/styles.css has no content."Eric Lafortune home page". Retrieved November 24, 2015.
- ^ a b Page Module:Citation/CS1/styles.css has no content."ProGuard license page". February 2, 2015. Retrieved November 24, 2015.
- ^ Page Module:Citation/CS1/styles.css has no content."Battery Ventures pays $29 million for a majority stake in Belgium's Guardsquare". Tech.eu. January 30, 2019. Retrieved March 31, 2026.
- ^ Page Module:Citation/CS1/styles.css has no content."ProGuard overview (official page)". February 2, 2015. Retrieved November 24, 2015.
- ^ Page Module:Citation/CS1/styles.css has no content."Shrink your code and resources". Retrieved June 10, 2018.
- ^ a b c Page Module:Citation/CS1/styles.css has no content."ProGuard FAQ". February 2, 2015. Archived from the original on October 28, 2016. Retrieved November 24, 2015.