[请益] 请问大家如何保护程式码?(防反组译)

楼主: KJzelda (cheer)   2018-09-26 17:44:30
各位好,
小弟目前需要对公司新产品(硬件装置)开发影像软件算法,
并包个API给客户使用,
这个装置算法须处理的资料量很大,
且速度上希望达到real time的效果。
但老板对于公开API(dll?)在外觉得很不放心,
怕被有心人士或竞争对手反组译破解后得知我们的算法核心,
因我之前对于这种开发案并无经验,
不知道一般商业用API或SDK都如何防反组译?
上网google了一下发现普遍都是说再怎么防,
被破解只是时间长短的问题,真的是如此吗?
若是把算法运算布置在云上的话(ex.AWS)是可行的吗?
但又觉得光资料传输就很难达到real time。
请教大家是否有相关经验可以分享给我,谢谢。
作者: DirKai (Dirk_AI(MIX))   2018-09-26 17:48:00
哪间公司可以说吗? 通常是很厉害才需要防成这样吧
作者: hidog (.....)   2018-09-26 18:31:00
真的很重要的话 应该找专业的来防 而不是让你自己找方法硬件装置的话 算法是跑在embedded linux上吗?如果是 这应该很难破吧 不同平台的组语长相都不太一样
作者: pttano (pttano)   2018-09-26 18:45:00
dll不是ms的特殊种吗?怎么会是linux,linux我只知道.so,.a
作者: fukinhot (抱歉粗口我怕热)   2018-09-26 18:46:00
ﴮNET Obfuscator,其他语言你可以用混淆器(Obfuscator)当关键字找
作者: pttano (pttano)   2018-09-26 18:49:00
怎么防要看你们的算法,多一组iv乱算或是protocol 加入time stamp 或是protocol加几个字段会消耗cpu time但实际上也是没意义的
作者: f19870421 (鱼儿)   2018-09-26 18:51:00
跟老板说你没做过 请他找专业的
作者: pttano (pttano)   2018-09-26 18:52:00
简单就是用硬件加速算有意义的,软件耗点cpu算没意义的
作者: hotdogmc (陈全)   2018-09-26 19:08:00
没有办法防吧…
作者: sarafciel (Cattuz)   2018-09-26 19:33:00
看能不能把算法弄在硬件的ROM里面 API负责call就好不过讲白了你把东西交到别人手上有心要破都是可以破的就是门槛跟时间问题而已
作者: now99 (陈在天)   2018-09-26 19:44:00
放硬件吧
作者: hidog (.....)   2018-09-26 19:45:00
因为硬件我会猜是embedded pc平台应该不用强调
作者: menShow (The Show)   2018-09-26 19:55:00
软件混淆器,硬件加密狗加壳.但都只是增加破解难度
作者: splitline (台ㄎ废文王)   2018-09-26 21:00:00
不可能完全防反组译啊,只能增加破解的成本让破解划不来
作者: accessdenied (存取违规)   2018-09-26 21:03:00
如果你知道MS Adobe 这些做视窗软件的,花多少钱在研发注册码逻辑,启动机制,反盗版的安装程序,却每次发行新版马上对岸就有注册机,绿色版,免安装可携版,你就不会纠结在这点。没被破解只是因我你的东西没什么价值而已。*只是因为
作者: ap954212 (death is like the wings)   2018-09-26 21:05:00
推楼上
作者: badyy (nick)   2018-09-26 21:22:00
TrustZone/SGX 钱花下去,平台硬件老大哥能保护你XD
作者: lovebridget (= =")   2018-09-26 21:24:00
写烂一点啊 不过八成已经够烂了
作者: wave1et (百分百殖利率)   2018-09-26 21:32:00
申请专利阿
作者: mathrew (Joey)   2018-09-26 21:48:00
有这么好防 别人花钱都是傻子
作者: kurtsgm   2018-09-26 22:23:00
放云端可以啊 但是你做影像...可以承受latency吗....
作者: alog (A肉哥)   2018-09-26 22:23:00
等申请到你的技术大概也过时了 申请没这么快 还有维持你技术优势的成本 光蒐证调查什么的有必要也是要找逆向工程的人才帮你看
作者: kurtsgm   2018-09-26 22:24:00
为了防反组译如果牺牲太多performance可能不太划算
作者: alog (A肉哥)   2018-09-26 22:25:00
另外做混淆只是加慢他的运作速度 因为会产生很多不必要的运作跟损耗另外是 只有人有心 就算不做反编译 大致上的算法规则可能会因为大量反复测试下会看到一些关键会做的人也不会直接看逆向或看程式码 因为没有当初设计的原理的相关资料无法再进行改良跟后续维护只要你们那个产品包进去很划算 不会有人直接挑战你那个api还打算重造轮子 有也会是用资料去探出你们的处理逻辑剩下的则由他们现成开发好核心再进行改良 简单来说 就是模仿、借idea但他们都没动到你的程式哦如果你老板认为这个商机很大或是已经有知道哪家真的会硬干那么你们就得真的砸钱出来找专家来帮你测测看一边攻一边看如何防御 至少难度门槛拉高一点但还是要强调 一切还是时间早晚的问题别傻傻的没有考量你维持这个技术优势所需要投入的成本 这是很多方面的开销
作者: s89162504 (阿本)   2018-09-26 22:50:00
影像处理算法有这么好逆向吗symbol去掉 正常-O2 正常编出来都没这么好解吧
作者: ktecv2000 (跛铭)   2018-09-26 23:16:00
你再怎么做反逆向通常痛到的应该是要打你们产品的hacker…XD对于真的要窃取你们技术的hacker就只是增加点成本而已,如果真有那个价值那何乐不为?对于前者来说,你的产品不一定有洞,逆向成本一拉高它可能就不想做了,但对后者来说你核心技术就摆在那边,要挖掘出来只是时间早晚问题如果还是真要做,你可以去逛逛看雪或是reddit的Reversiing Engineering版,看一下骇客们平常都怎么玩的
作者: testPtt (测试)   2018-09-26 23:50:00
直接做成OS
作者: olozil (ヾ(ΦωΦ)ツ)   2018-09-27 07:57:00
简单的加个壳跟老板有交代就好(′゜ω。‵)
作者: y3k (激流を制するは静水)   2018-09-27 09:04:00
扰乱+runtime compression就差不多了 要更强保护变云卡实在XD
作者: pttano (pttano)   2018-09-27 13:12:00
千万不要拿混淆器来乱用
作者: viper9709 (阿达)   2018-09-27 23:15:00
二楼正解
作者: buper (ymsrc)   2018-09-28 00:02:00
写烂,就不会有人想扣了(x

Links booklink

Contact Us: admin [ a t ] ucptt.com