作者JohnnyDell (強尼戴爾)
看板java
標題[問題] 請問war檔的代碼混淆
時間Thu Jun 26 22:18:44 2014
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://webptt.com/m.aspx?n=bbs/java/M.1403792326.A.D66.html
1F:→ godchueh:考慮把重要演算法放jni? 06/27 10:48
G大 這個比較困難 因為其實整包沒有什麼重要的演算法(迷之音: 那還怕被逆向工程?)
不過主要是因為整包專案哪些是核心哪些不是其實我也不清楚(剛接手)
加上放jni對目前來說比較難達到
2F:→ bitlife:把你自己的邏輯包成jar,把這個jar混淆 06/27 11:55
B大您的意思是說不要整包web service混 只把後端業務邏輯的部分包出來混?
※ 編輯: JohnnyDell (122.116.194.46), 06/27/2014 14:22:40
3F:→ qrtt1:能稍為說一下前因後果嗎:P 06/27 14:20
Sorry 請問Q大說的前因後果是指先前為啥obfuscate會出錯? 又怎麼弄了以後沒出錯?
※ 編輯: JohnnyDell (122.116.194.46), 06/27/2014 14:23:39
4F:→ qrtt1:主要是好奇為什麼需要混淆. 06/27 14:33
因為.. 因為怕被decompile就被取得source code了
至於有沒有人會去decompile以及做了取得source code以後會對我們有啥影響
其實我也不知道 但是就是說做為一個被release的war 上面的人就覺得需要protection
※ 編輯: JohnnyDell (122.116.194.46), 06/27/2014 14:48:05
5F:→ qrtt1:如果真的想用,就直接 call 應該也是會動的,其實不需要原始 06/27 15:12
6F:→ qrtt1:碼。若真的有重點的東西在裡面。多半會再經過 server 驗證。 06/27 15:12
7F:→ qrtt1:server 的邏輯就放自己家不外流的。 06/27 15:13