Comments (4)
Placing it as a child of yguard
makes no sense. It currently can be placed anywhere. However so, it should only be a child of the shrink
task. Fix this.
from yguard.
Wait a second, the <attribute>
element does affect renaming as well as shrinking. Even if renaming but not shrinking, yGuard is able to (or rather will) remove (optional) attributes from class files. While it may seem counter-intuitive to remove attributes when renaming but not shrinking, this actually make sense because removing attributes like SourceFile, LineNumberTable, LocalVariableTable actually serves the purpose of increasing the difficulty for reverse engineering which is the whole point of obfuscation.
Moreover, if <attribute>
was only allowed for shrinking, we would need a "remove only attributes but no classes/members" mode for shrinking. Which in turn would require additional configuration for "obfuscation only" use cases.
I vote to keep <attribute>
as is.
from yguard.
Judging from the source code, the attributesSections
variable is currently (even before this PR) respected ONLY in the shrinker. I think we are talking about the attribute
child element for the rename task then? Why are they named the same (confusing)?
from yguard.
The attribute
section described is actually correct behavior as pointed out by @thomasbehr
Closing.
from yguard.
Related Issues (20)
- Springboot Java Code Obfuscation Error HOT 2
- Support for Java 18+? HOT 17
- Remove Kotlin Metadata annotations HOT 2
- <tasks> replaced by <target> HOT 4
- all method param after obscure are change like paramXXXX HOT 2
- Unique class name generation HOT 8
- The demo for example (/examples/resources/) is not valid. After the maven package is packaged, the package structure and resource contents of the jar file are not changed. HOT 2
- Fix replaceContentPolicy strict for package name strings
- Can we obfuscate spring boot war file ? HOT 8
- Keep method params HOT 4
- Combine obfuscation settings in pom.xml with Obfuscation annotation HOT 7
- How to generate pseudorandom name mappings for package, class HOT 3
- Can we do only Obfuscation step using yGuard ? HOT 1
- support multiple keep for multiple class HOT 4
- How to obfuscate .apk with this tool? HOT 1
- Issue with uber-jar obfuscation (Self-contained executable jar) HOT 1
- Excluding clojure HOT 3
- Exposed class is still being obfuscated HOT 1
- What are the limitations of yGuard tool ? HOT 4
- Yshrink does not accept the Record keyword HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yguard.