19
votes
What is a good Java decompiler and deobfuscator?
Old and Lacking Entries
JAD
Some time ago, everyone’s decompiler of choice was jad. Currently, the project is dead (in addition, it wasn’t open source), but still you see a lot of people referring to ...
Community wiki
17
votes
Accepted
How can I decode this php code?
I wrote a small Python script to deobfuscate the majority of the string obfuscation:
import urllib
import re
php = urllib.urlopen("http://pastebin.com/raw.php?i=wVs8w44v").read()
# Slight ...
- 20.6k
12
votes
How do I reverse engineer .so files found in android APKs?
Use android-ndk, https://developer.android.com/ndk/downloads/index.html.
You can use the toolchains inside the ndk to perform the type of disassembling you want to. For e.g. if I decompile an apk and ...
- 121
8
votes
Accepted
Extracting classes from running JVM
I would recommend using a Java Agent to extract classes from the running JVM instance. An agent is a tool that provides instrumentation capability for an application. Speaking of agents, there are two ...
- 5,950
6
votes
Accepted
What kind of compression/obfuscation algorithm is this?
The gzip headers are valid, but the deflate compressed data format is violated almost immediately, within less than ten bytes in for all of the files.
For all of the example files provided, the first ...
- 201
6
votes
Accepted
How can I deobfuscate this javascript code
The special "accent" letters are just a distraction. You can use a text-editor to replace them with "standard" letters and the code would still work.
Let's add a newline after each semicolon:
É=-~-~[...
- 529
5
votes
Extracting classes from running JVM
You can dump bytecode at runtime using HotSpot tools, and use a decompiler to reverse the bytecode. I made a proof of concept, available here
It requires 3 dependencies:
JDK libraries (sa-jdi.jar, ...
5
votes
Animal Crossing: Pocket Camp .zdat File
The file does not appear to be obfuscated or encrypted in any way. The header appears to be trivial. I have included a description of the header for the .zdata you posted. The .unity3d files contained ...
- 326
5
votes
Accepted
Obfuscated code analysis - can unused variables be ignored?
This might be true that those variables are added only to confuse analysis but remember that in Javascript there are so many ways to access the variable that I would take such info from an automated ...
- 4,662
4
votes
Analyzing highly obfuscated JavaScript
In addition to the other useful links here, I recommend to try Malware-Jail
Sandbox for semi-automatic Javascript malware analysis, deobfuscation and payload extraction. Written for Node.js
malware-...
- 183
4
votes
How do I reverse engineer .so files found in android APKs?
You can also reverse-engineer APK files directly on an android device.
Java part: Show Java
.so files: Android disassembler.
(Disclaimer: I 'm the developer)
Version 1.4.2 release.
Android-...
- 321
4
votes
How do I reverse engineer .so files found in android APKs?
You can also try the Snowman tool: https://derevenets.com/.
Snowman is a native code to C/C++ decompiler
It supports ARM, x86, and x86-64 architectures as specified on their website.
- 41
4
votes
Accepted
How to get address where MakeFunction() failed in IDA Pro
Solution:
find_func_bounds() does the trick (see SDK documentation). That's how it works:
pfn = func_t()
find_func_bounds(ea, pfn, FIND_FUNC_NORMAL)
pfn.endEA
If the return value of ...
- 61
4
votes
Any good deobfuscators for java?
Proguard's "optimisation" stage results in deobfuscating junk as I wrote up here - http://www.surrendercontrol.com/2016/03/using-proguard-to-deobfuscate-code.html.
Also, Caleb Fention's Simplify ...
- 843
4
votes
How to deobfuscate native Android library obfuscated with OLLVM?
You're in luck; I wrote an article about that last year. I didn't know at the time that the obfuscator in question was Obfuscator-LLVM, but indeed, it was (albeit a version that was integrated into ...
- 8,499
4
votes
Accepted
Dealing with heavily obfuscated Java, possibly on bytecode level
First off, you should never use javap when dealing with obfuscated applications, because javap is not designed to handle malicious bytecode, and can easily be thwarted in a number of ways. Luckily, ...
- 1,982
4
votes
Obfuscated VBE malware script analysis
This script is mostly obfuscated through renaming of variables and function names. I recommend using a tool such as Visual Studio Code Where you can right click the variable or function and select ...
- 1,165
4
votes
Dealing with obfuscated PUSH PUSH RET instructions
The RET instruction transfers control to the return address located on the stack. Normally this is used to go back from a function to where the function was called, as the address of the next ...
3
votes
Accepted
Assistance in Decrypting Lua script that is obfuscated with Base64 > SSL
Since it is not used anymore I'll show you :)
print("SSL Decoder version 2.0")
print("Copyright (C) 2015")
print("Decoding Started...")
local infilename = select(1,...)
local outfilename = select(2,....
- 48
3
votes
Accepted
Debugging Win32.Upatre - why does Ollydbg fail to analyze this?
About the "??3@YAXPAX" calls, it is called Name Mangling, take a look at this thread for more explanation.
"YAXPAX" calls are actually the delete C++ operator.
About the __set_app_type, ...
- 588
3
votes
What is a good Java decompiler and deobfuscator?
I'm using https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine
It's the decompiler from IntelliJ, it decompile codes where JD-GUI fail.
It's a unofficial mirror ...
Community wiki
3
votes
Accepted
Decompiling and deobfuscating APK file
Yes, this is indeed possible.
IDA Pro, starting from version 6.6 supports source code level debugging for Dalvik Bytecode.
You can find more details here: https://www.hex-rays.com/products/ida/...
- 176
3
votes
Accepted
How decrypt hexadecimal javascript code?
Those hex values could represent anything. Look for online converters that convert hexadecimal to text (consider various formats), dec, etc. and see if the results make any sense. If not, then they ...
- 2,194
3
votes
Accepted
Is deobfuscation of my javascript code hard or easy?
Resolved.
generally nothing in js is impossible to reverse
in this case the 'alert' string in plain text give me a big help, because I simply started to resolve function value one step back at time.
...
- 183
3
votes
(de4dot) The file isn't a .NET PE file
As a programmer myself, I have to again and again tell and shout, that if the purpose is cracking/stealing, then you should not do that for the sake of honesty. If the purpose is good, then I'll share ...
- 633
3
votes
What's this obfuscation technique?
I could be wrong, but it looks like VMProtect v3. For this version, this obfuscator inlines all handlers, so that's normal you don't find any dispatcher.
- 1,094
3
votes
Accepted
Is it possible to completely reverse this code?
Having such code the first thing to do is to analyze what part is the obfuscation algorithm and what's the actual code. Here' it's not that difficult as all the code is on top. So let's analyze it ...
- 4,662
3
votes
Accepted
Virtual machine code obfuscation implementation details
You will need to go through each of the over 200 instructions, and figure out how to do the "same" thing in your instruction set. So you'll need to see how the stack may be changing, the stack pointer,...
- 444
3
votes
Virtual machine code obfuscation implementation details
If you want proof-of-concept VM based obfuscator, you can actually skip the virtualization step and bytecode generation step. You can write an interpreter of x86 instructions in x86 assembler so that ...
- 133
2
votes
Try to deobfuscate multi layered javascript
You could try using de4js. For the javascript snippet in the original post, de4js produces the following output:
var _0x2815 = ["3 1(){2 0=5;4 0}", "|", "split", "x|myFunction|var|function|return|", "...
- 21
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
deobfuscation × 150obfuscation × 46
javascript × 29
decompilation × 27
java × 17
ida × 16
decryption × 14
disassembly × 10
android × 8
malware × 8
.net × 8
unpacking × 7
assembly × 6
binary-analysis × 6
tools × 6
idapython × 4
file-format × 4
encryption × 4
apk × 4
virtual-machines × 4
jar × 4
php × 4
windows × 3
debugging × 3
elf × 3