[問題] 反編譯(decompile)

作者: ghkckhg (名字背過又忘記)   2018-12-20 10:50:08
小弟原本是寫C++的,java新手請幫幫忙QQ
公司對某支專案的IP(智慧財產)還挺重視的,
我原本想說都編譯了應該就沒問題了吧,
沒想到今天主管丟了影片說class可以被反編譯,
https://www.youtube.com/watch?v=9ozJlM5XIgQ
稍微查了一下似乎有說Java在這個環節上比較弱。
所以小弟有以下疑問:
1. 跟C++ 的.exe相比,Java 的.class真的比較容易反編譯嗎?
2. 如果是,該採取什麼方法應對比較好?
A. 整支專案用C++重寫?(有點浩大)
B. 核心部分用C++寫成Lib/Dll讓Java去call?
謝謝大家~
作者: petercoin (彼得幣)   2018-12-20 11:01:00
Java decompile很簡單啊 要不要試試看程式碼混淆?
作者: adrianshum (Alien)   2018-12-20 11:03:00
Obfuscator. 嫌不夠的話就真的別踫Java 了。我覺得先問清楚主管「可以被反編譯」他覺得問題出在哪有什麼 concern. 畢竟近年的流行的技術多有類似的問題。
作者: ghkckhg (名字背過又忘記)   2018-12-20 11:12:00
回A大,主管應該是不希望演算法被人看到
作者: qrtt1 (有些事,有時候。。。)   2018-12-20 11:20:00
如果不是作業請他明說想怎麼做,這應該是標準流程的一部分
作者: petercoin (彼得幣)   2018-12-20 11:27:00
那就把演算法用C重寫過 然後透過JNI呼叫吧
作者: ssccg (23)   2018-12-20 16:30:00
這主管為什麼要等用Java做好了才說...何況原PO原本是寫C++一開始就用C++寫重要的部分啊..
作者: adrianshum (Alien)   2018-12-21 08:45:00
除非你的系統的價值就在於該演算法,而該演算法又真的屬高度機密,其他人想不出來寫不出來、被偷了就大問題,不然我會勸你主管別為這些事搞JNI 之類了
作者: petercoin (彼得幣)   2018-12-20 19:01:00
Java decompile很簡單啊 要不要試試看程式碼混淆?
作者: adrianshum (Alien)   2018-12-20 19:03:00
Obfuscator. 嫌不夠的話就真的別踫Java 了。我覺得先問清楚主管「可以被反編譯」他覺得問題出在哪有什麼 concern. 畢竟近年的流行的技術多有類似的問題。
作者: ghkckhg (名字背過又忘記)   2018-12-20 19:12:00
回A大,主管應該是不希望演算法被人看到
作者: qrtt1 (有些事,有時候。。。)   2018-12-20 19:20:00
如果不是作業請他明說想怎麼做,這應該是標準流程的一部分
作者: petercoin (彼得幣)   2018-12-20 19:27:00
那就把演算法用C重寫過 然後透過JNI呼叫吧
作者: ssccg (23)   2018-12-21 00:30:00
這主管為什麼要等用Java做好了才說...何況原PO原本是寫C++一開始就用C++寫重要的部分啊..
作者: adrianshum (Alien)   2018-12-21 16:45:00
除非你的系統的價值就在於該演算法,而該演算法又真的屬高度機密,其他人想不出來寫不出來、被偷了就大問題,不然我會勸你主管別為這些事搞JNI 之類了
作者: jej (晃奶大馬桶)   2018-12-22 20:46:00
用beanshell把程式鎖在資料庫中 從資料庫加密到文字加密只是會變得超難維護
作者: y3k (激流を制するは静水)   2018-12-23 10:05:00
B
作者: jej (晃奶大馬桶)   2018-12-22 12:46:00
用beanshell把程式鎖在資料庫中 從資料庫加密到文字加密只是會變得超難維護
作者: y3k (激流を制するは静水)   2018-12-23 02:05:00
B
作者: zop (ㄞ肝ㄞ肝~一元二十罐~)   2018-12-25 22:34:00
B,重要的東西用C寫
作者: zop (ㄞ肝ㄞ肝~一元二十罐~)   2018-12-26 06:34:00
B,重要的東西用C寫

Links booklink

Contact Us: admin [ a t ] ucptt.com