CAPITULO V: PLAN DE COMERCIALIZACIÓN
5.2 Mezcla de Marketing
5.2.3 Plaza
{
public File2() {
// 0 0:aload_0
// 1 1:invokespecial #1 <Method void File()> // 2 4:return
}
public static int Product(int i, int j) { // 0 0:iload_0 // 1 1:iload_1 // 2 2:imul // 3 3:istore_2 // 4 4:iload_2 // 5 5:ireturn } }
D.2.3. Test.class disassembled by DJJavaDecompiler import java.io.PrintStream;
public class Test {
public Test() {
// 0 0:aload_0
// 1 1:invokespecial #1 <Method void Object()> // 2 4:return
}
public static void main(String args[]) {
// 0 0:new #2 <Class File> // 1 3:dup
// 2 4:invokespecial #3 <Method void File()> // 3 7:astore_2
// 4 8:aload_2 // 5 9:iconst_2
// 6 10:putfield #4 <Field int File.first> // 7 13:aload_2
// 8 14:iconst_5
// 9 15:putfield #5 <Field int File.second> // 10 18:new #6 <Class File2>
// 11 21:dup
// 12 22:invokespecial #7 <Method void File2()> // 13 25:astore_3
// 14 26:aload_3 // 15 27:bipush 15
// 16 29:putfield #8 <Field int File2.first> // 17 32:aload_3
// 18 33:bipush 7
// 19 35:putfield #9 <Field int File2.second> // 20 38:aload_2
// 21 39:getfield #4 <Field int File.first> // 22 42:aload_2
// 23 43:getfield #5 <Field int File.second>
// 24 46:invokestatic #10 <Method int File.Sum(int,int)> // 25 49:istore 4
// 26 51:aload_3
// 27 52:getfield #11 <Field int File2.first> // 28 55:aload_3
// 29 56:getfield #12 <Field int File2.second>
// 30 59:invokestatic #13 <Method int File2.Sum(int,int)> // 31 62:istore 5
// 32 64:aload_3
// 33 65:getfield #14 <Field int File2.first> // 34 68:aload_3
// 35 69:getfield #15 <Field int File2.second> // 36 72:invokestatic #16 <Method int
File2.Product(int,int)> // 37 75:istore 6
// 38 77:new #17 <Class String> // 39 80:dup
// 40 81:invokespecial #18 <Method void String()> // 41 84:astore 7
// 42 86:ldc1 #19 <String "Java Obfuscation"> // 43 88:astore 7
// 44 90:bipush 10 // 45 92:newarray int[]
// 46 94:astore 8 // 47 96:iconst_5 // 48 97:istore 9 // 49 99:aload_2
// 50 100:getfield #4 <Field int File.first> // 51 103:aload_2
// 52 104:getfield #5 <Field int File.second> // 53 107:icmpge 114 // 54 110:iconst_1 // 55 111:goto 115 // 56 114:iconst_0 // 57 115:istore 10 // 58 117:aload_3
// 59 118:getfield #20 <Field int File2.first> // 60 121:aload_3
// 61 122:getfield #21 <Field int File2.second> // 62 125:icmpge 132
// 63 128:iconst_1 // 64 129:goto 133 // 65 132:iconst_0 // 66 133:istore 11
// 67 135:invokestatic #22 <Method double Math.random()> // 68 138:ldc2w #23 <Double 26D> // 69 141:dmul // 70 142:ldc2w #25 <Double 97D> // 71 145:dadd // 72 146:d2i // 73 147:int2char // 74 148:istore 12
// 75 150:getstatic #27 <Field PrintStream System.out> // 76 153:new #28 <Class StringBuffer>
// 77 156:dup
// 78 157:invokespecial #29 <Method void StringBuffer()> // 79 160:iload 12
// 80 162:invokevirtual #30 <Method StringBuffer
StringBuffer.append(char)> // 81 165:ldc1 #31 <String ": ">
// 82 167:invokevirtual #32 <Method StringBuffer
StringBuffer.append(String)> // 83 170:invokevirtual #33 <Method String
StringBuffer.toString()> // 84 173:invokevirtual #34 <Method void
PrintStream.print(String)> // 85 176:iload 12 // 86 178:tableswitch 97 121: default 314 // 97 292 // 98 314 // 99 314 // 100 314 // 101 292 // 102 314 // 103 314 // 104 314 // 105 292 // 106 314 // 107 314
// 108 314 // 109 314 // 110 314 // 111 292 // 112 314 // 113 314 // 114 314 // 115 314 // 116 314 // 117 292 // 118 314 / 119 303 // 120 314 // 121 303
// 87 292:getstatic #27 <Field PrintStream System.out> // 88 295:ldc1 #35 <String "vowel">
// 89 297:invokevirtual #36 <Method void
PrintStream.println(String)> // 90 300:goto 322
// 91 303:getstatic #27 <Field PrintStream System.out> // 92 306:ldc1 #37 <String "Sometimes a vowel"> // 93 308:invokevirtual #36 <Method void
PrintStream.println(String)> // 94 311:goto 322
// 95 314:getstatic #27 <Field PrintStream System.out> // 96 317:ldc1 #38 <String "consonant">
// 97 319:invokevirtual #36 <Method void
PrintStream.println(String)> // 98 322:getstatic #27 <Field PrintStream System.out> // 99 325:new #28 <Class StringBuffer>
// 100 328:dup
// 101 329:invokespecial #29 <Method void StringBuffer()> // 102 332:ldc1 #39 <String "\nFirst Object\nFirst number: ">
// 103 334:invokevirtual #32 <Method StringBuffer
StringBuffer.append(String)> // 104 337:aload_2
// 105 338:getfield #4 <Field int File.first> // 106 341:invokevirtual #40 <Method StringBuffer
StringBuffer.append(int)> // 107 344:ldc1 #41 <String "\nSecond number: "> // 108 346:invokevirtual #32 <Method StringBuffer
StringBuffer.append(String)> // 109 349:aload_2
// 110 350:getfield #5 <Field int File.second> // 111 353:invokevirtual #40 <Method StringBuffer
StringBuffer.append(int)> // 112 356:ldc1 #42 <String "\nSum: ">
// 113 358:invokevirtual #32 <Method StringBuffer
StringBuffer.append(String)> // 114 361:iload 4
// 115 363:invokevirtual #40 <Method StringBuffer
StringBuffer.append(int)> // 116 366:ldc1 #43 <String "\nSum Times Scalar: "> // 117 368:invokevirtual #32 <Method StringBuffer
// 118 371:iload 4 // 119 373:bipush 10 // 120 375:imul
// 121 376:invokevirtual #40 <Method StringBuffer
StringBuffer.append(int)> // 122 379:ldc1 #44 <String "\nProtected Double: "> // 123 381:invokevirtual #32 <Method StringBuffer
StringBuffer.append(String)> // 124 384:aload_2
// 125 385:getfield #45 <Field double File.var2> // 126 388:invokevirtual #46 <Method StringBuffer
StringBuffer.append(double)> // 127 391:ldc1 #47 <String "\n">
// 128 393:invokevirtual #32 <Method StringBuffer
StringBuffer.append(String)> // 129 396:invokevirtual #33 <Method String
StringBuffer.toString()> // 130 399:invokevirtual #36 <Method void
PrintStream.println(String)> // 131 402:getstatic #27 <Field PrintStream System.out> // 132 405:new #28 <Class StringBuffer>
// 133 408:dup
// 134 409:invokespecial #29 <Method void StringBuffer()> // 135 412:ldc1 #48 <String "\nSecond Object\nFirst number: ">
// 136 414:invokevirtual #32 <Method StringBuffer
StringBuffer.append(String)> // 137 417:aload_3
// 138 418:getfield #49 <Field int File2.first> // 139 421:invokevirtual #40 <Method StringBuffer
StringBuffer.append(int)> // 140 424:ldc1 #41 <String "\nSecond number: "> // 141 426:invokevirtual #32 <Method StringBuffer
StringBuffer.append(String)> // 142 429:aload_3
// 143 430:getfield #50 <Field int File2.second> // 144 433:invokevirtual #40 <Method StringBuffer
StringBuffer.append(int)> // 145 436:ldc1 #42 <String "\nSum: ">
// 146 438:invokevirtual #32 <Method StringBuffer
StringBuffer.append(String)> // 147 441:iload 5
// 148 443:invokevirtual #40 <Method StringBuffer
StringBuffer.append(int)> // 149 446:ldc1 #51 <String "\nProduct: ">
// 150 448:invokevirtual #32 <Method StringBuffer
StringBuffer.append(String)> // 151 451:iload 6
// 152 453:invokevirtual #40 <Method StringBuffer
StringBuffer.append(int)> // 153 456:ldc1 #44 <String "\nProtected Double: "> // 154 458:invokevirtual #32 <Method StringBuffer
StringBuffer.append(String)> // 155 461:aload_3
// 156 462:getfield #52 <Field double File2.var2> // 157 465:invokevirtual #46 <Method StringBuffer
StringBuffer.append(double)> // 158 468:ldc1 #47 <String "\n">
// 159 470:invokevirtual #32 <Method StringBuffer
StringBuffer.append(String)> // 160 473:invokevirtual #33 <Method String
StringBuffer.toString()> // 161 476:invokevirtual #36 <Method void
PrintStream.println(String)> // 162 479:iconst_0 // 163 480:istore 13 // 164 482:goto 497 // 165 485:aload 8 // 166 487:iload 13 // 167 489:iconst_5 // 168 490:iload 13 // 169 492:imul // 170 493:iastore // 171 494:iinc 13 1 // 172 497:iload 13 // 173 499:bipush 9 // 174 501:icmple 485
// 175 504:getstatic #27 <Field PrintStream System.out> // 176 507:new #28 <Class StringBuffer>
// 177 510:dup
// 178 511:invokespecial #29 <Method void StringBuffer()> // 179 514:ldc1 #53 <String "\nList[5] = "> // 180 516:invokevirtual #32 <Method StringBuffer
StringBuffer.append(String)> // 181 519:aload 8
// 182 521:iconst_5 // 183 522:iaload
// 184 523:invokevirtual #40 <Method StringBuffer
StringBuffer.append(int)> // 185 526:invokevirtual #33 <Method String
StringBuffer.toString()> // 186 529:invokevirtual #36 <Method void
PrintStream.println(String)> // 187 532:goto 538
// 188 535:iinc 9 -1 // 189 538:iload 9 // 190 540:ifne 535
// 191 543:getstatic #27 <Field PrintStream System.out> // 192 546:new #28 <Class StringBuffer>
// 193 549:dup
// 194 550:invokespecial #29 <Method void StringBuffer()> // 195 553:ldc1 #54 <String "\nnumber = ">
// 196 555:invokevirtual #32 <Method StringBuffer
StringBuffer.append(String)> // 197 558:iload 9
// 198 560:invokevirtual #40 <Method StringBuffer
StringBuffer.append(int)> // 199 563:invokevirtual #33 <Method String
StringBuffer.toString()> // 200 566:invokevirtual #36 <Method void
PrintStream.println(String)> // 201 569:iload 10
// 202 571:ifeq 585
// 203 574:getstatic #27 <Field PrintStream System.out> // 204 577:ldc1 #55 <String "\nFirst object first < second">
// 205 579:invokevirtual #36 <Method void
PrintStream.println(String)> // 206 582:goto 593
// 207 585:getstatic #27 <Field PrintStream System.out> // 208 588:ldc1 #56 <String "\nFirst object first > second">
// 209 590:invokevirtual #36 <Method void
PrintStream.println(String)> // 210 593:iload 11
// 211 595:ifeq 609
// 212 598:getstatic #27 <Field PrintStream System.out> // 213 601:ldc1 #57 <String "\nSecond object first < second\n">
// 214 603:invokevirtual #36 <Method void
PrintStream.println(String)> // 215 606:goto 617
// 216 609:getstatic #27 <Field PrintStream System.out> // 217 612:ldc1 #58 <String "\nSecond object first > second\n">
// 218 614:invokevirtual #36 <Method void
PrintStream.println(String)> // 219 617:getstatic #27 <Field PrintStream System.out> // 220 620:new #28 <Class StringBuffer>
// 221 623:dup
// 222 624:invokespecial #29 <Method void StringBuffer()> // 223 627:ldc1 #59 <String "\ns = ">
// 224 629:invokevirtual #32 <Method StringBuffer
StringBuffer.append(String)> // 225 632:aload 7
// 226 634:invokevirtual #32 <Method StringBuffer
StringBuffer.append(String)> // 227 637:ldc1 #60 <String "\nLength of s = "> // 228 639:invokevirtual #32 <Method StringBuffer
StringBuffer.append(String)> // 229 642:aload 7
// 230 644:invokevirtual #61 <Method int String.length()> // 231 647:invokevirtual #40 <Method StringBuffer
StringBuffer.append(int)> // 232 650:ldc1 #47 <String "\n">
// 233 652:invokevirtual #32 <Method StringBuffer
StringBuffer.append(String)> // 234 655:invokevirtual #33 <Method String
StringBuffer.toString()> // 235 658:invokevirtual #36 <Method void
PrintStream.println(String)> // 236 661:return
} }