" "
 
,  #105, . 054
 
   
    ?    ?   //   ?   !           ,         .       ,         .
    .      
, , ,      .     - ,   ,     /   .        .  ,    -     ,         ?      ,       ,    ,     .  
    ,   -     .  -        .     .
 
    (     ~70%)   Java,  ,  J2ME,    Java 2 Micro Edition.     Java,          .    ,      "-",    Java- (Java Virtual Machine, 
  JVM).  ,     ,     ,      ,    (     ).              .
  ( Fight Hard 3D  RiderX 3D)               (, ARM 6),     .      . 
   ,      Java-,   Fight Hard   ,      .
   
   -   ,  ,   , .         .      .       - ,  ,   .         .        , 
   ,      ,     (   ,   ,   ).
      -  Java-,      Sun (  ): http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html,      Java   ,   .   ,      Java-   JVM, , ,   
  Java          , ,  ,      -,   .
  Java-     IDA Pro,       ,        ,   ,    Java SDK,      ,        ( JavaBite,  ).
     -,       Java-,      . Java-  .   .    avaDec by wl,         www.wasm.ru/baixado.php?mode=tool&id=362.    JDecompiler  http://java-decompiler.qarchive.org.     .           ,      , 
             ,      -.
  - (  - )   hex-,    hiew,     ,      JavaBite by BitArts,    ,         - (www.wasm.ru/baixado.php?mode=tool&id=284).
 ,  ,    
 jar-,   ,    Java SDK,      .  7ZIP ()  WinAce (-)       .   Java-,   .  7ZIP,  WinAce    ,     .     jar-   .
   jar-  jad-,        Java-,         JADgen,  jad-   jar- (http://softsearch.ru/programs/134-892-jadgen-download.shtml).
           ,     ,         .        ,         reset,      (    ),       . ,        .  90%       Java-.  9%    ,     .    1%        ,       -   .
   
      Macroman (   ,   1979    Namco       8-   ZX-Spectrum),            : www.cec.ru/Files/macroman_demo.jar.
    ,     .  -     ,      .     ,  ,   -        .
,  , !    ,        .
   
 , , Macroman         ( ),    .    : "1 Life Left" (  ). ,  ,   ,      ,        .   ,      (    Java)    .
      .    jar-,    7ZIP (    jar  zip).       :
  jar-   
META-INF //       
IMAGES //        png
MACROMAN //    MacromanMidlet.class  -
b.class\
c.class |
d.class |
e.class +-    -
f.class |
g.class/
 FAR (   -),  <ALT-F7> (Search),    "*" ( )     "Life Left",         e.class,   19 .
 e.class  JDec(   ),     e.java   36 .    FAR'  <F4> (Edit),  <F7> (Search)     "Life Left",     :
  Java-,    "Live Left"
if(ax < 0) // <- ax,     
{
byte4 = 2;
as1 = new String[2];
as1[0] = "Game Over";
as1[1] = "HiScore: " + aq.e;
break;
}
if(ax == 1)
{
byte4 = 1;
as1 = new String[byte4];
as1[0] = ax + " Life Left"; //  
}
        .   ax   ,   Game Over ,         .
,   ,   ,   ax      .     ?      !  ax,     .      ,    ,   (   ,   ,   ax  ):
 ,     
private byte ax;
...
av = 0;
ax = 2; ; //   
f.a(this, a4);
, ,   ax = 2   ax = 69  (),    . -,       ,  -,  ,       (         ,             ).
,  ...     ax--    f(),    ax  :
   f(),   ax ( )  
public void f()
{
MacromanMidlet.c();
as = 3;
removeCommand(b);
if(ay <= 10)
{
addCommand(a);
addCommand(e);
}
else
{
ax--; // <-     !!!
if(ax < 0)
{
addCommand(a);
addCommand(e);
if(av > aq.e)
aq.e = av;
}
else
{
addCommand(f);
}
}
c();
}
  - ,   !   -,      .  -    IDA Pro,    JavaBite.   e.class     ,    f()          ax.
  ,   f()    ax  :
  -  f(),   ax ( )  
met016_44: ; CODE XREF: f_1+22^j
042 aload_0 ; var016_0
089 dup
180 001 199 getfield ax B ; //   ax,    
004 iconst_1 ; //     1
100 isub ; //        
145 int2byte ; //   int    
181 001 199 putfield ax B ; //    ax
042 aload_0 ; var016_0
180 001 199 getfield ax B
156 000 047 ifge met016_106
     isub ( 64h/100)     iadd ( 60h/96)?       hex-,   hiew'.    042/089/180 001 199/004/100/145/181 001 199  (  isub)   100  96.              ...   ,    ,   .     !    .
!    isub  nop ( 00h).  ,      JaveBite,     hiew'.     isub,            Edit Instuction.        .  nop,  OK   <Ctrl-S> (Save Class),      .
   ,  ,  .    Java-      .   x86-,    ,  SUB     NOP.   Java    ,    isub         ,     .  isub  nop   , ,   -,      iconst_1.  int2byte   ,      ,     ,       .
 ,   -  :
-,   
met016_44: ; CODE XREF: f_1+22^j
042 aload_0 ; var016_0
089 dup
180 001 199 getfield ax B ; //   ax,    
000 nop ; //   
000 nop ; //   
145 int2byte ; //   int    
181 001 199 putfield ax B ; //    ax
    -  <Ctrl-S> (  <F9>,     hiew')          jar-      .  ,  .
  WinAce     ( ),     JavaSoft-Jar    .     ,   7ZIP,  jar' !   , , ,   ZIP'.  Archive format  ZIP,  Compression level -Normal,  Compression method   Deflate.      -  .  -     zip  jar.        .
   
     Macroman.jar.     ?  !     . ,   ,  ,          http-,       GPRS.  ,  .    .
,     ...     (-, -,   )     ,  .  !!!   (   )!    -      2 .   ,           :).      ?    - !
 
,     
        !  ,       .    .   !  -   ,       .     ,       -.      ,       "Hacked by..."  .
          ,      ,     ,     png-,    image.
,       .           -,     ,    ,      ,           . "  " -   !    ,   -  ,    . ,  :  -     .      ,  "  "   ,       .
WWW
###
Java- - Macroman
www.cec.ru/Files/macroman_demo.jar
The JavaTM Virtual Machine Specification Second Edition -   - Java-
http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html
avaDec 0.9b by wl - Java-
www.wasm.ru/baixado.php?mode=tool&id=362
JDecompiler 1.0-     Java
http://java-decompiler.qarchive.org
IDA PRO -      
www.idapro.com;
JavaBite- ,    - JVM
www.wasm.ru/baixado.php?mode=tool&id=284
JADgen -   jad-
http://softsearch.ru/programs/134-892-jadgen-download.shtml
7ZIP -  ,       jar-
www.7-zip.org;
Winace 2.6 - - 
www.tucows.com/software_detail.html?id=194310
Creating a JAR File -     jar-   Sun        
http://java.sun.com/docs/books/tutorial/deployment/jar/build.html
Bluejacking "   10 (J2ME)" - ,          
http://netgigg.livejournal.com/8631.html
###