Questions tagged [obfuscation]

Obfuscation is the process by which the code is altered so that a developer finds it much harder to understand clearly what the intended program does or how it operates. The larger the program the greater the obfuscation, as code becomes intertwined linking different segments through out the program.

While it may be possible to use a disassembler to figure out how certain aspects within a program function, it requires knowledge of assembly. Assembly language by its nature is non-trivial.

Another way to increase obfuscation is to use packers.

2987 questions
35
votes
7 answers

Using GSON with proguard enabled

My code works perfectly without proguard, but GSON doesn't work when proguard is enabled. This is the part of code where it doesn't works JSONArray mensaje = response.getJSONArray("categorias"); // Parsear con Gson Categorias[] categorias =…
35
votes
4 answers

How to use ConfuserEx?

I'd like to have a try on this program but I couldn't figure out how to use it. I've search on the author's site https://github.com/yck1509/ConfuserEx but the example on this site is not clear enough for someone new to the programming like me. So…
andrewfam
  • 447
  • 2
  • 5
  • 8
33
votes
10 answers

How to prevent decompilation of any C# application

We are planning to develop a client server application using C# and MySQL. We plan to sell the product on the shelf like any other software utility. We are worried about the decompilation of our product which does have some sort of edge over our…
Kalpak
  • 3,510
  • 4
  • 22
  • 21
32
votes
1 answer

Android/java: Transition / Migration from ProGuard to R8?

I wonder how to make the transition / migration from ProGuard to R8. Should I just remove the Proguard-related lines from my Gradle files and add the android.enableR8 = true line instead ? Thanks.
toto_tata
  • 14,526
  • 27
  • 108
  • 198
32
votes
3 answers

How can I check/upgrade Proguard version when using it in Eclipse for Android development?

The documentation on this is extremely poor. I understand that ProGuard can be enabled by manually editing "default.properties" in the project's rot directory. And all the settings go into the "proguard.cfg" file in the same place, but I'd like to…
user496854
  • 6,461
  • 10
  • 47
  • 84
32
votes
6 answers

proguard warning: the configuration keeps the entry point....but not the descriptor class

I've configured: -keep ,allowoptimization,allowobfuscation,allowshrinking public class org.jf.dexlib2.dexbacked.** { *; } but still getting the warning: Note: the configuration keeps the entry point 'com.trusteer.trf.dex_parser { int…
user3398598
  • 423
  • 1
  • 5
  • 10
31
votes
9 answers

How effective is obfuscation?

A different question, i.e. Best .NET obfuscation tools/strategy, asks whether obfuscation is easy to implement using tools. My question though is, is obfuscation effective? In a comment replying to this answer, someone said that "if you're worried…
ChrisW
  • 54,973
  • 13
  • 116
  • 224
31
votes
2 answers

How to tell proguard to keep enum constants and fields

I've try obfuscate our web application which use spring, jaxb and relies on annotations, and reflection heavily. I apply many recipes found in internet to keep some classes, attributes, annotations and enumerations. But with enumerations still have…
Hubbitus
  • 5,161
  • 3
  • 41
  • 47
31
votes
12 answers

Should I be obfuscating database IDs from my users?

I'm being told that I shouldn't be using database IDs directly in HTML code in web applications. Currently I use the IDs on things like table row IDs (tableRow-454 where 454 is the ID of the row in the DB), in hidden or selects fields in forms or in…
Darryl Hein
  • 142,451
  • 95
  • 218
  • 261
29
votes
6 answers

Which Javascript minifier (cruncher) does the same things that the one Google uses for its JS APIs?

I am a Google Maps API (javascript) developer. I have noticed that Google uses a Javascript minifier that has the following features: Shortens variables, properties, arguments, classes, function and method names, obfuscating the code. (eg.…
Jader Dias
  • 88,211
  • 155
  • 421
  • 625
29
votes
6 answers

How to declare dependent style names with UiBinder

I have a simple UiBinder widget containing a TextArea:
Eduard Wirch
  • 9,785
  • 9
  • 61
  • 73
29
votes
3 answers

How to configure proguard for javascript interface?

I have a implemented a Webview which takes use of JavascriptInterface. It's working fine when not obfuscating, but at once Proguard is active, it does not work. I've looked here at other answers, but i still can't get it working. Some of the WebView…
Ikky
  • 2,826
  • 14
  • 47
  • 68
28
votes
4 answers

How do these javascript obfuscators generate actual working code?

There's this one and this one and they both generate completely unreadable code, one being more adorable than the other. Now, I'm no expert in Javascript, but I fail to see how ゚ω゚ノ= /`m´)ノ ~┻━┻ //*´∇`*/ ['_']; o=(゚ー゚) =_=3; c=(゚Θ゚)…
Cyclone
  • 17,939
  • 45
  • 124
  • 193
28
votes
4 answers

How to encrypt HTML+JS assets in Android Phonegap mobile app?

I have mobile app created using Phonegap basic wrapper and HTML5. My goal is to encrypt files in assets directory (JS and HTML files) so they are unreadable to people, who unzip the APK file and want to see the JS sources. Ok, i know there is no…
Frodik
  • 14,986
  • 23
  • 90
  • 141
28
votes
2 answers

Obfuscating Swift code before submission to Apple App Store

I'm having a hard time finding any info on this. Android themselves mention code obfuscation as something to do before submitting to their store. But I see nothing about this from Apple or from any "third party" before-submission checklists. The…
Kardinal
  • 433
  • 1
  • 5
  • 8