亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

使用Proguard混淆J2ME應用程序

2019-11-17 06:24:18
字體:
來源:轉載
供稿:網友

  假如我們的開發的J2ME應用程序直接打包成JAR文件發布,那么存在被其他人反編譯的可能。因為反編譯class文件并不是一件困難的事情。為了保護我們的程序代碼不被破解,我們可以使用混淆器PRoguard。非常幸運的是eclipse已經把Proguard集成在一起了。
  
  Proguard是開源的軟件,他是基于java語言寫成的,因此他的運行需要java2運行環境。我們可以從http://Proguard.sourceforge.net 免費下載到。目前的最新版本為proguard3.0。把他解壓縮安裝在C:/proguard3.0.1。運行eclipse,選擇菜單windows-preferences-j2me-obfuscation,在這里我們應該指定正確的Proguard的根目錄,由于我們混淆的時候要保留擴展了MIDlet的類,不然程序將無法執行。所以在Proguard keep eXPressions中應該寫public class * extends javax.microedition.midlet.MIDlet。請參考下圖
   使用Proguard混淆J2ME應用程序(圖一)
  下面我們按照開發J2ME的應用程序一樣編寫代碼、編譯、預驗證。為了節省時間,在這里略去這些步驟。以下面的代碼為例演示如何使用proguard混淆J2ME應用程序:
  
  import javax.microedition.midlet.MIDlet;
  import javax.microedition.midlet.MIDletStateChangeException;
  import javax.microedition.lcdui.*;
  import java.io.*;
  import javax.microedition.io.*;
  
  public class ImageGetter extends MIDlet implements CommandListener
  {
  
  private Display display;
  public static final Command connCommand = new Command("Connect",
      Command.ITEM, 1);
  public static final Command exitCommand = new Command("Exit", Command.EXIT,
      1);
  private Form mainForm;
  private GetterThread gt;
  
  protected void startApp() throws MIDletStateChangeException
  {
  
    display = Display.getDisplay(this);
    mainForm = new Form("Image Getter");
    mainForm.append("Click Connect to get Image");
    mainForm.addCommand(connCommand);
    mainForm.addCommand(exitCommand);
    mainForm.setCommandListener(this);
    display.setCurrent(mainForm);
    gt = new GetterThread(this);
    gt.start();
  
  }
  
  public void setImage(Image image)
  {
  
    mainForm.append(image);
    display.setCurrent(mainForm);
  }
  
  protected void pauseApp()
  {
  
  }
  
  protected void destroyApp(boolean arg0) throws MIDletStateChangeException
  {
  
  }
  
  public void commandAction(Command cmd, Displayable disp)
  {
    if (cmd == connCommand)
    {
      synchronized (this)
      {
        notify();
      }
    } else if (cmd == exitCommand)
    {
      exitMIDlet();
    }
  }
  
  private void exitMIDlet()
  {
    try
    {
      destroyApp(false);
      notifyDestroyed();
    } catch (MIDletStateChangeException e)
    {
      e.printStackTrace();
    }
  }
  
  class GetterThread extends Thread
  {
    private ImageGetter midlet;
    public static final String URL = "http://localhost/j2medev.png";
    private HttpConnection httpConn = null;
    private InputStream is = null;
  
    public GetterThread(ImageGetter midlet)
    {
      this.midlet = midlet;
    }
  
    public void run()
    {
      synchronized (midlet)
      {
        try
        {
          midlet.wait();
        } catch (InterruptedException e)
        {
          e.printStackTrace();
        }
      }
      System.out.println("connect to server...");
      try
      {
        httpConn = (HttpConnection) Connector.open(URL);
        is = httpConn.openInputStream();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        int ch = 0;
        while ((ch = is.read()) != -1)
        {
          baos.write(ch);
        }
        byte[] imageData = baos.toByteArray();
        Image image = Image.createImage(imageData, 0, imageData.length);
        midlet.setImage(image);
        baos.close();
        is.close();
        httpConn.close();
  
      } catch (IOException e)
      {
        e.printStackTrace();
      }
  
    }
  }
  
  }
  
  右鍵選擇項目GetImage-J2ME-create obfuscated package,這樣proguard就會把除MIDlet之外的class文件混淆。如下圖所示:
  使用Proguard混淆J2ME應用程序(圖二)
  在deploy文件夾內我們可以看到GetImage.jar、GetImage.jad和一些proguard產生的其他文件,你可以用jar命令解開GetImage.jar,發現他的另一個class文件已經被混淆成a.class了,MIDlet類則沒有任何改變,Proguard除了混淆的功能之外同時會把我們的jar文件減小,提高一些運行效率。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久久999精品视频| 国产盗摄xxxx视频xxx69| 日本成人免费在线| 日韩精品视频在线| 国产精品一区二区久久| 日韩中文字幕国产精品| 国产精品视频专区| 亚洲成人av在线| 日韩欧美在线视频| 国产精品久久久久77777| 97婷婷大伊香蕉精品视频| 国产精品视频99| 91亚洲精品在线观看| 亚洲一区av在线播放| 欧洲亚洲免费视频| 亚洲国产精品999| 欧美—级a级欧美特级ar全黄| 国产成人综合一区二区三区| 国产噜噜噜噜久久久久久久久| 亚洲а∨天堂久久精品喷水| 欧美精品在线极品| 久久成人精品一区二区三区| 国产精品国产三级国产aⅴ浪潮| 日韩精品免费在线| 欧美日韩国产丝袜另类| 欧美高清无遮挡| 欧美亚洲视频在线看网址| 亚洲欧美成人一区二区在线电影| 自拍视频国产精品| 中文在线不卡视频| 亚洲综合中文字幕68页| 亚洲成人久久电影| 成人精品视频在线| 国产一区二区丝袜高跟鞋图片| 国产丝袜一区二区三区| 日本最新高清不卡中文字幕| 性欧美办公室18xxxxhd| 高潮白浆女日韩av免费看| 国产在线观看一区二区三区| 久久影院资源网| 不用播放器成人网| 国产成人精品日本亚洲专区61| 欧美日韩亚洲国产一区| 97视频在线观看免费高清完整版在线观看| 欧美日韩国产va另类| 中文字幕视频一区二区在线有码| 蜜月aⅴ免费一区二区三区| 九九热最新视频//这里只有精品| 亚洲国产天堂网精品网站| 韩日精品中文字幕| 欧美综合在线第二页| 久久久精品国产亚洲| 这里只有精品视频在线| 国产精品ⅴa在线观看h| 欧美午夜性色大片在线观看| 欧美日韩国产综合视频在线观看中文| 亚洲三级黄色在线观看| 久久综合免费视频| 成人乱色短篇合集| 日韩在线观看免费| 美女福利精品视频| 欧美一级片免费在线| 亚洲丝袜一区在线| 国产不卡在线观看| 久久久人成影片一区二区三区| 欧美在线免费视频| 欧美日韩中文字幕在线视频| 亚洲另类xxxx| 久久久精品国产亚洲| 中文字幕亚洲在线| 91精品国产91久久久久久不卡| 亚洲精品一区中文字幕乱码| 亚洲欧美一区二区精品久久久| 国产精品jvid在线观看蜜臀| 91干在线观看| 不用播放器成人网| 亚洲色图第一页| 亚洲精品一二区| 91国内揄拍国内精品对白| 欧美一级淫片videoshd| 亚洲欧美中文日韩v在线观看| 亚洲综合日韩在线| 久久精品人人做人人爽| 岛国av一区二区| 91精品啪在线观看麻豆免费| 91精品视频在线免费观看| 精品亚洲国产视频| 亚洲色图13p| 国产视频自拍一区| 午夜欧美大片免费观看| 欧美在线影院在线视频| 亚洲综合最新在线| 色综合老司机第九色激情| 91精品久久久久久久久中文字幕| 亚洲国产美女精品久久久久∴| 91精品国产综合久久男男| 国产不卡精品视男人的天堂| 久久久久久欧美| 国产精品爽爽ⅴa在线观看| 欧美激情视频网站| 亚洲欧美一区二区三区情侣bbw| 国产精品视频一区二区高潮| 在线看日韩av| 久国内精品在线| 欧美极品xxxx| 深夜福利日韩在线看| 日韩二区三区在线| 国产精品久久久久福利| 中文字幕亚洲欧美日韩在线不卡| 日韩精品极品在线观看播放免费视频| 久久久久久国产精品久久| 秋霞av国产精品一区| 欧美另类极品videosbest最新版本| 欧美精品在线免费| 国产精品福利久久久| 久久成人精品视频| 亚洲国产精品推荐| 在线亚洲欧美视频| 国产精品日韩久久久久| 国产男女猛烈无遮挡91| 日韩美女视频免费看| 欧美性猛交xxx| 欧美美女18p| 欧美剧在线观看| 国产a∨精品一区二区三区不卡| 国产成人精品午夜| 国产日韩欧美中文在线播放| 久久激情五月丁香伊人| 26uuu日韩精品一区二区| 国产精品直播网红| 欧美亚洲日本网站| 国产精品网站入口| 国内外成人免费激情在线视频| 91高潮精品免费porn| 欧美高清在线视频观看不卡| 久久影视三级福利片| 国产精品丝袜白浆摸在线| 揄拍成人国产精品视频| 国产精品18久久久久久麻辣| 亚洲人成77777在线观看网| 高清视频欧美一级| 欧美富婆性猛交| 国产精品美女在线观看| 国产精品综合久久久| 中国人与牲禽动交精品| 欧美国产高跟鞋裸体秀xxxhd| 国产成人+综合亚洲+天堂| 欧美日韩综合视频网址| 欧美www视频在线观看| 国产精品电影一区| 欧美激情欧美激情在线五月| 日韩精品久久久久久福利| 91成人精品网站| 国产欧美日韩综合精品| 欧美一级片免费在线| 伊人精品在线观看| 日韩视频在线一区| 亚洲美女视频网| 欧美日韩国产精品| 欧美疯狂做受xxxx高潮| 国产日本欧美一区| 日本国产精品视频| 九九久久综合网站| 欧美性生交xxxxx久久久|