[問題] 請問war檔的代碼混淆

看板java作者 (強尼戴爾)時間11年前 (2014/06/26 22:18), 11年前編輯推噓0(007)
留言7則, 3人參與, 最新討論串1/1
Update: 報出的錯誤有些是找不到lib,有些是丟了不同版本的lib進去他無法判斷 另外就是Google發現他雖寫支持.war 可是不能丟war進去 必須把war的web-inf/classes下的包成jar在丟 調整加進去的lib後已可正確obfuscate完沒有出錯 但果然就是會整個壞掉 因為被混淆了 現在卡在不知道要怎麼調整設定 設定例外讓他keep住不該改變的部分 --- 因為目前有一個專案 是使用GWT開發的Web service 可是必須整個war檔交付出去 就存在著被decompile的問題 找了一下發現可以obfuscate .class檔 達到即使被decompile也較難辨認 可是大多都是針對.jar檔 尤其是Android的app 畢竟一般大多是.jar才會釋出 若是war大多應該是以提供service的方式 似乎也有看到web service若obfuscate後會整個錯亂無法使用.. 試了ProGuard這款 把war檔整個丟進去 再把幾百個lib給丟進去 結果一直出現error說class name不對@@ 請問各位大大 一般對於這種需要把war整個release出去的 有什麼樣的solution可以防止被逆向工程嗎? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.238.68 ※ 文章網址: http://www.ptt.cc/bbs/java/M.1403792326.A.D66.html

06/27 10:48, , 1F
考慮把重要演算法放jni?
06/27 10:48, 1F
G大 這個比較困難 因為其實整包沒有什麼重要的演算法(迷之音: 那還怕被逆向工程?) 不過主要是因為整包專案哪些是核心哪些不是其實我也不清楚(剛接手) 加上放jni對目前來說比較難達到

06/27 11:55, , 2F
把你自己的邏輯包成jar,把這個jar混淆
06/27 11:55, 2F
B大您的意思是說不要整包web service混 只把後端業務邏輯的部分包出來混? ※ 編輯: JohnnyDell (122.116.194.46), 06/27/2014 14:22:40

06/27 14:20, , 3F
能稍為說一下前因後果嗎:P
06/27 14:20, 3F
Sorry 請問Q大說的前因後果是指先前為啥obfuscate會出錯? 又怎麼弄了以後沒出錯? ※ 編輯: JohnnyDell (122.116.194.46), 06/27/2014 14:23:39

06/27 14:33, , 4F
主要是好奇為什麼需要混淆.
06/27 14:33, 4F
因為.. 因為怕被decompile就被取得source code了 至於有沒有人會去decompile以及做了取得source code以後會對我們有啥影響 其實我也不知道 但是就是說做為一個被release的war 上面的人就覺得需要protection ※ 編輯: JohnnyDell (122.116.194.46), 06/27/2014 14:48:05

06/27 15:12, , 5F
如果真的想用,就直接 call 應該也是會動的,其實不需要原始
06/27 15:12, 5F

06/27 15:12, , 6F
碼。若真的有重點的東西在裡面。多半會再經過 server 驗證。
06/27 15:12, 6F

06/27 15:13, , 7F
server 的邏輯就放自己家不外流的。
06/27 15:13, 7F
文章代碼(AID): #1Jh2l6rc (java)
文章代碼(AID): #1Jh2l6rc (java)