Reverse Engineering for Beginners
CHAPTER 54. JAVA CHAPTER 54. JAVA 7: iload_1 8: iload_2 9: invokestatic #2 // Method max:(II)I 12: istore_3 13: iload_1 14: iloa ...
CHAPTER 54. JAVA CHAPTER 54. JAVA public static long lclear (long a, int b) { return a & (~(1<<b)); } public static lo ...
CHAPTER 54. JAVA CHAPTER 54. JAVA iconst_1loads 1 intoTOS,istore_1stores it in theLVAat slot 1. Why not the zeroth slot? Because ...
CHAPTER 54. JAVA CHAPTER 54. JAVA We can see that the Java compiler allocates variables inLVAslots in the same order they were d ...
CHAPTER 54. JAVA CHAPTER 54. JAVA 85: invokevirtual #4 // Method java/io/PrintStream.println:(Ljava/lang⤦ Ç/String;)V 88: goto 9 ...
CHAPTER 54. JAVA CHAPTER 54. JAVA 0: iconst_0 1: istore_1 2: iload_1 3: aload_0 4: arraylength 5: if_icmpge 23 8: getstatic #2 / ...
CHAPTER 54. JAVA CHAPTER 54. JAVA public class UseArgument { public static void main(String[] args) { System.out.print("Hi, "); ...
CHAPTER 54. JAVA CHAPTER 54. JAVA public java.lang.String get_month(int); flags: ACC_PUBLIC Code: stack=2, locals=2, args_size=2 ...
CHAPTER 54. JAVA CHAPTER 54. JAVA anewarraycreates a new array ofreferences(henceaprefix). The object’s type is defined in thean ...
CHAPTER 54. JAVA CHAPTER 54. JAVA 16: iconst_3 17: iconst_4 18: iastore 19: dup 20: iconst_4 21: iconst_5 22: iastore 23: invoke ...
CHAPTER 54. JAVA CHAPTER 54. JAVA 54.13.6Two-dimensional arrays. Two-dimensional arrays in Java are just one-dimensional arrays ...
CHAPTER 54. JAVA CHAPTER 54. JAVA public static void main(java.lang.String[]); flags: ACC_PUBLIC, ACC_STATIC Code: stack=3, loca ...
CHAPTER 54. JAVA CHAPTER 54. JAVA public static void main(java.lang.String[]); flags: ACC_PUBLIC, ACC_STATIC Code: stack=3, loca ...
CHAPTER 54. JAVA CHAPTER 54. JAVA stack=2, locals=2, args_size=2 0: new #3 // class java/lang/StringBuilder 3: dup 4: invokespec ...
CHAPTER 54. JAVA CHAPTER 54. JAVA { this.index = index; } public int getIndex() { return index; } } Listing 54.11: Month2.java c ...
CHAPTER 54. JAVA CHAPTER 54. JAVA public int getIndex(); flags: ACC_PUBLIC Code: stack=1, locals=1, args_size=1 0: aload_0 1: ge ...
CHAPTER 54. JAVA CHAPTER 54. JAVA 40: invokevirtual #7 // Method java/io/PrintStream.println:(Ljava/lang⤦ Ç/String;)V 43: aload_ ...
CHAPTER 54. JAVA CHAPTER 54. JAVA } public static int get_b () { return b; } } The constructor just sets both fields to zero: pu ...
CHAPTER 54. JAVA CHAPTER 54. JAVA obj.set_a (1234); System.out.println(obj.a); } } public static void main(java.lang.String[]); ...
CHAPTER 54. JAVA CHAPTER 54. JAVA Figure 54.1:IDA Let’s patch the first byte of the function to 177 (which is thereturninstructi ...
«
27
28
29
30
31
32
33
34
35
36
»
Free download pdf