Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

標籤: Java

反組譯 Java bytecode

Posted on 2009 年 7 月 2 日2021 年 3 月 12 日 By 日落 在〈反組譯 Java bytecode〉中尚無留言

最近做壞事,跑去下載了別人的 JAR 檔查資料,JAR 即使解壓縮以後裡面還是二進位的 bytecode,要從中找到帳號密碼實在是海底撈針。

後來找到一個軟體:DJ Java Decompiler,反組譯以後可讀性還是很高,變數名稱都還在,不過反組譯以後關鍵字的色彩標記有點問題,有時候可能會出現怪怪的程式片段,不過完整性很高可以不用擔心。

從 Tools => Decompile more files 可以一次反組譯某資料夾下的多個 bytecode。如果程式有包含中文字,記得要多選取一個選項「Convert Unicode strings to ANSI strings」,這樣中文就不會變成二進位碼。

Tags:Java, 生活雜記, 資訊學習

Java 密碼存取

Posted on 2009 年 6 月 6 日2021 年 3 月 12 日 By 日落 在〈Java 密碼存取〉中有 3 則留言

之前程式需要儲存帳號密碼,不過發現 Java 即使 compile 成 byte code 以後密碼還是明文,serialized 以後也可以看的到,問了一下才知道怎麼處理。

處理密碼時直接在 getter() 和 setter() 做編碼和解碼,目前想用 RSA 實作:

class Password {
   String password;

   public void setPassword(String in){
      password = RSA(in);
   }

   public String getPassword(){
      return RevertFromRSA(password);
   }
}

雖然目前知道可以用 java.security.MessageDigest 物件處理,但還沒看 API 就先跑去找質數了… XD

看到「尋找大質數」以後,照網頁上面說的跑去計算 26972593-1,不過單單用 BigInteger 就跑了半個多小時,輸出時在呼叫 toString() 又跑到電腦當機……。還是決定不要太想不開 Orz

ps.
梅森求質數的方法是計算 2n-1,不過似乎不能找到「所有」的質數,但是可以比較簡單的找到更大的質數。之前求質數是用 6n ± 1 去計算,但是跑得也不快,等哪天開悟了在去衝。

Tags:Java, 資訊學習

Java 變數可以用中文名稱耶

Posted on 2009 年 6 月 3 日2021 年 3 月 12 日 By 日落 在〈Java 變數可以用中文名稱耶〉中有 3 則留言

去受訓翻書的時候發現的,不過也早該想到了….. XD

class Asd
{
   public static void main(String[] args) 
   {
      String 我 = "天才";
      System.out.println(我);
   }
}

程式碼打的很心虛…….

Tags:Java, 程式設計, 資訊學習

Java 抓本機 IP

Posted on 2009 年 3 月 1 日2021 年 3 月 12 日 By 日落 在〈Java 抓本機 IP〉中尚無留言

Inet4Address.getLocalHost().getHostAddress()
都說不再碰 Java 了,結果筆記一大堆…. @_@a

Tags:Java, 程式設計

Java JFileChooser

Posted on 2009 年 2 月 27 日2021 年 3 月 12 日 By 日落 在〈Java JFileChooser〉中尚無留言

JFileChooser 還真好用~

JFileChooser chooser = new JFileChooser();
chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
chooser.setApproveButtonText("確定");
chooser.showDialog(jLabel1, null); //留 null 否則上一行的設定被覆蓋

File filePath = chooser.getSelectedFile();
if(filePath!=null && !filePath.getPath().equals("")){
jTextField1.setText(filePath.getPath());
}
Tags:Java, 程式設計

文章分頁

1 2 3 下一頁

其他

關於我  (About me)

小額贊助

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.