We’re rewarding the question askers & reputations are being recalculated! Read more.

Questions tagged [java]

Java is an object-oriented language and runtime environment (JRE). Java programs are platform independent, because they are compiled to bytecode and their execution is handled by a Virtual Machine called the Java VM or JVM.

Filter by
Sorted by
Tagged with
1
vote
1answer
53 views

J2ME games obfuscator - Spyro and Tekken 5

While reversing some J2ME games like Spyro or Tekken 5 Mobile I have encountered a weird obfuscation where all fields, methods and classes have names like A, a, B, b, Aa, Bb etc. It's really hard to ...
1
vote
0answers
48 views

Google Maps, Android serialisation format

I've come across an SQLite database (gmm_storage.db) used by Google Maps on Android, and I'm unsure as to how the data it contains is serialised. For example: I'm saying serialised, as from the ...
2
votes
2answers
113 views

Java reverse engineering tool [closed]

I'm getting started on Java reverse engineering but I can't find a great tool. I'm currently using JD-Gui to decompile it. I've tried PNF's JEB which is really perfect but it's only for Android stuff....
0
votes
1answer
62 views

What types are read from byte array?

I try to understand what data types are read from a byte array. These methods seem to follow a common pattern: public class Reader { static short readA(byte[] bytes, int i) { int s = ((((...
3
votes
0answers
164 views

How to do debug a running java process in linux?

TLDR I want to do live debugging of a java program on a linux machine, and don't how/what debugger to attach to the JVM to get this done. I expect that this is a well-solved problem, but I lack the ...
1
vote
1answer
40 views

DEX file referenced type is not defined in file

I am analyzing a dex file and to ease with reverse engineering, I converted it a jar so it could be decompiled. In the file android/support/v17/leanback/media/MediaControllerGlue.class, the following ...
2
votes
1answer
140 views

Are there any Java decompilers accurate enough that if I recompiled the result, it should be identical to the original program?

I am trying to decompile Minecraft, to see if I can analyze the code to make a few small changes, but I need a decompiler good enough so I can recompile it in a way that will work. I have tried ...
1
vote
0answers
529 views

Obfuscated Config Files: EHI Files for HTTP Injector

So I have an ehi file, which is a configuration file for an Android App called HTTP Injector. Of course when I try to see it as a simple text, I just get random characters. What tool could I use to ...
1
vote
0answers
63 views

Calling functions of a shared object (.so) extracted from an APK

Decompiling a regular Android application I noticed that its code uses some native functions. So, unpacking the (.apk) file I found the usual "lib" folder and under that a series of folders for ...
0
votes
0answers
60 views

How to guess the key of XOR encryption in java?

I am trying to find the key of XOR encrypted string in java. It is very much probable that the key is eight characters long. I have the encrypted string. I am not able to understand how to go ...
0
votes
1answer
444 views

Ghidra pseudocode to Java/C

I have this piece of code generated from Ghidra void __cdecl FUNCTION(uint *key,uint *text) { undefined uVar1; ushort uVar2; uint *puVar3; uint *puVar4; uint *puVar5; int iVar6; uint ...
1
vote
2answers
225 views

Constant pool error

To debug a jar file, i tried to modify java bytecode using JByteMod tool and print some variable to standard output. The variable i'm trying to print is an ArrayList. Specifically, it's a public ...
0
votes
0answers
162 views

Decoding blob data from a sqlite database into readable format

I have a Sqlite database file that has blob data in it. I only know the the database has blob data and I know what the expected output should be. The blob data's expected output should be a Mac ...
1
vote
0answers
366 views

Debugging Ghidra Script [closed]

I want to write a new script for ghidra to extract variuous information from the binary and store it to an external file for future management. I need to perform the analyisis with Ghidra Headless in ...
0
votes
1answer
46 views

Java obfuscated methods and params

Try to decompile several classes from jar and found this public static final boolean \u2005\u200e; and if (\u2005\u200e) { final boolean \u2005\u200e = tEstPrOJEcTDEV7i.\u2005\u200e; } ...
3
votes
0answers
142 views

Reverse engineering android native packer

im trying to Reverse engineering an android app and the app have 4 folders in the /data/data/{package} folder ├───app_dexprotector │ 823517D25836B88F1C499C02370A047E.dat │ ...
1
vote
0answers
288 views

decompiled android application with only one class [DexProtector]

I'm trying to reverse engineering an android app and it's mostly for an experiment but I have a problem that I can't find a solution or even what is the problem. I decompiled an app with JADX-gui and ...
-1
votes
1answer
58 views

decomplied apk with bad parameters

I'm trying to reverse engineering an android app API so this is what I tried: First the app was using Okhttp certificate pinning and I couldn't track the URLs with Charles then I tried this method ...
2
votes
2answers
363 views

Is PNF's JEB Reverse Engineering platform written in pure Java?

I have seen the JEB decompiler by PNF Software morph from a specialised decompiler to a full fledged reverse engineering platform like Capstone or IDA Pro. While examining the earlier versions of JEB,...
3
votes
1answer
646 views

Find function in a stripped dynamic ELF library

Im currently reverse engineering an android app and this app calls a function named "getUserInfo" in an ARM 32bit ELF library called "libcms.so" via the Java Native Interface. My Problem is: The ...
1
vote
0answers
75 views

Common practices for 'hiding' a class within an Android application?

I've recently gotten into Android reverse engineering, and I've been messing around with some apps lately for education/research purposes to see how some things are done with private (mobile) APIs. ...
0
votes
2answers
474 views

What functions (in which modules) can be hooked by Frida to access unencrypted data of SSL connections in Java programs running under Windows?

There are gazillions of internet resources discussing how to use Frida to hook and otherwise mess around with SSL connections of Java programs running under Android, but seemingly (as far as my google-...
1
vote
1answer
242 views

Reversing a Java digest function, with known public key and source code

A Java application verifies that an XML string that came from a clearnet server (no SSL) has not been tampered, using a message digest. It does so with a public key stored locally, accessed with the ...
1
vote
0answers
61 views

Intercept traffic from exe to my Java server

In Windows 10, I can easily intercept traffic of an application using Proxifier and route it to Charles proxy, so that I can inspect and edit the data. exe -> Proxifier (Socks proxy to localhost:...
0
votes
2answers
345 views

.exe file to .class, decompiled to .java, how to put back to .class?

I'm trying to reverse engineer a very complex .exe to alter its behavior. Ran JWScan that tells me it's been wrapped with Jar2Exe (which I also saw during debugging). Looking at the complex exe with ...
1
vote
1answer
145 views

Reverse Engineering Flat Data File

I'm writing a piece of software that will take positional data from a piece of software called Pyware and put it into a GUI so I can visualize the coordinates and assign each coordinate a color. ...
1
vote
2answers
191 views

Reverse engineer a ARM-v7a function

Currently I am trying to reverse engineer the following armeabi-v7a function: I already wrote the following Java code: static double getFunc(double param0, double param1, double param2, double ...
7
votes
2answers
378 views

Why do obfuscators remove line numbers, and can I safely leave them in?

Application security engineer here. When we compile our java code, we obfuscate it using KlassMaster and have it remove line numbers (see KlassMaster docs) because of a handwavy explanation "it makes ...
1
vote
1answer
234 views

Reversing video protocol for chinese drone so i can view the stream outside of the app

I am trying to view the video stream of the vento protocol air drone on my computer. The final goal is to get the video stream into python or c++ for opencv; however, if i can just view it in a ...
1
vote
0answers
70 views

Is there any way to get value from bytecode under JDWP without access to source?

When I debug android app through jdwp using jdb, it seems I can't get anything from the bytecode level. I know normally it's fine as long as we have the source line info and use a decompiler, but the ...
1
vote
1answer
416 views

How to find the executable code of the native method in the library * .so? (Android)

I'm doing reverse engineering of a mobile application for android and I had a question how to find the executable code of the native method in the library * .so. From the code of the code, the native ...
2
votes
0answers
84 views

How to reverse a java thread to get its origin

I was working on a java application which is run for the first couple of minutes & then application interface hangs. I had open the application in JMC & it shows later I create a thread dump ...
0
votes
1answer
290 views

Android Reverse Engineering Network Traffic Stack Trace

Lets say an Android application sends out a traffic out to the server and expects a Json Response Request: https://server:port/userid=user1&token=randomstring7345 We want to replicate the ...
-1
votes
2answers
42 views

How to view SDK files and is it mandatory to run modified apk on rooted device

I am performing reverse engineering on android apk using apktool. Is there any way I can view the code in SDK/NDK files ? if i make any change in the .smali files is it necessary to run the modified ...
1
vote
2answers
1k views

Patching a class file inside Jar using bytecode

I was trying to patch an application, but the application is required to exact same class size as the original one but editing class file with JByteMod, Recaf or whatsoever always changes the class ...
3
votes
1answer
181 views

Disassemble/decompile arbitrary JVM bytecode

I have an obfuscated java binary which does runtime code injection using java reflection like this. Object o = "a long string"; ((Method)o).invoke(params..); (If I write this in a java file, it ...
2
votes
1answer
124 views

How can I generate the recovery password on a legacy system (Original company is out of business) running on my local machine?

I'm attempting to use a legacy systems recovery feature that typically required calling/faxing a company that is no longer around. Basically, the system was designed to go into a recovery mode and ...
0
votes
1answer
258 views

How can I open id0, id1, nam, so, or til files?

I am attempting to reverse engineer the DYMO Connect app in order to learn how to print to a DYMO LabelWriter Wireless printer. However, the mobile driver for the printer is in several different ...
1
vote
0answers
309 views

Java Bytecode edit

Hi, I would like to edit one compiled java class file & like to insert & edit a couple of lines. I'm trying to make a patch for a software & when I compare this two file the only change I ...
2
votes
1answer
236 views

JAVA Decryption - Reverse engineering an Android application

I am trying to decrypt an encrypted string, but I am stuck in Ciper.doFinal() where the decryption throws a BadPaddingException. The string in question is 3qBogw/PIqpErH/DyEHLTQ==. One thing I know is ...
0
votes
1answer
236 views

How add String.equals to java bytecode (Krakatau)

I use Krakatau to edit java code. class test{ public boolean Func2(String text) { if(text=="aaaaaa") return true; return false; } } When I compile it I get this java bytecode ....
0
votes
1answer
395 views

Compute stack frames while edit java bytecode

I saw here edit java bytecode got error that when editing java bytecode with Krakatau ,it may happend to error on stack frames. The answer there offer to change Krakatau version to 50. If I only ...
1
vote
1answer
562 views

explain java bytecode

I saw java bytecode that need to compare to var, if they equal return true, else ..... if(var1==var2) return true; else { ...} on bytecode aload 1 aload 2 if_acmpne 6 iconst 1 ireturn I ...
1
vote
1answer
539 views

can't edit class file with recaf.0.9 without re-compile

I have this java code public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } I compile to class file, run it , and all fine. I ...
-1
votes
1answer
248 views

[B symbol in java bytecode

I looking at java bytecode and understand almost everything. I saw the symbol [B on java bytecode. What does it mean?
-1
votes
1answer
2k views

How to add code to compiled java class

I have java code that is compiled to a .class file. There is a function that gets few parameters and do some action (e.g. get int x and int y and do x+y) I want to add to this .class file code that ...
2
votes
1answer
820 views

How to use Frida on a Java application ? (non Android application)

I am trying to use Frida on a Java application which is obfuscated with ZKM (Zelix KlassMaster). When I attach to the process, it seems the JVM is not loaded: [Local::PID::23585]-> Java.available ...
1
vote
1answer
87 views

Android Intercepts for log the Funtion Calls to javax

Im reversing an apk that uses a native library .so to make calls to some Java methods thru reflexion I know by analysing the app that exist the followings calls: import javax.crypto.Mac; import ...
1
vote
1answer
1k views

How to combine 2 dex files into a single dex file for more complete disassembly by IDA Pro

Most apk files, when disassembled, produces 2 dex files instead of one. However since IDA Pro only allows the loading of one dex file at a time,it may result in missing information as a result of the ...
0
votes
1answer
55 views

Need help understanding “garbage” data in https request

I managed to overcome certificate pinning in an android application and I am now able to view all the HTTPS request in plain text. However, I came across this request that I still do not understand: ...