請問大家,App 製作出來後,怎麼樣才能讓別人不容易解密、抄襲?如果加密會不會影響用戶註冊登錄?
請問大家,App 製作出來後,怎麼樣才能讓別人不容易解密、抄襲?如果加密會不會影響用戶註冊登錄?
PS:我的想法是,現在創業的那麼多,如果加密了,某些創業者就無法直接拿來自己做,如果要解密作為創業者他們不一定有那個資金或技術去解密,傳聞當年Facebook不是也拿了人家的源代碼還是什麼然後創業發展的么?防百度、騰訊是防不住了,我是想防惡性競爭創業者,我只是有這個顧慮,我知道很不成熟,所以特向大家請教,比如說有個創業者有和我們類似的創業想法,但他沒有程序員,只能外包,但外包解密我們的App的話成本會增加,這樣這個創業者可能就取消不做這個App了,我們現在的級別也就只能想著防禦同水平的惡性競爭者,其他級別的沒多想,謝謝。
完全贊同 @田金周的答案。並補充:以國內絕大多數(定義「絕大多數」:99%以上)App的水平,根本不需要解密,照著做一個都是很簡單的事,從頭開發成本超不過100萬人民幣。這種級別的軟體,沒有必要考慮加密什麼的,因為都是垃圾。
題主在評論里說:我是想防惡性競爭創業者,我只是有這個顧慮,我知道很不成熟,所以特向大家請教,比如說有個創業者有和我們類似的創業想法,但他沒有程序員,只能外包,但外包解密我們的App的話成本會增加,這樣這個創業者可能就取消不做這個App了
簡單粗暴地說:沒有自己IT研發力量的創業團隊,沒有任何競爭力。
為什麼?我在互聯網創業的幻夢這篇文章里講了,創業團隊要有「船小好調頭」的靈活性,需要三種技術能力:持續交付、大數據、DevOps。沒有自己的IT研發力量,別的不說了,你想調整一個功能還要回頭去找一個外包團隊?那你還談啥精益創業、談啥學習和調整呢?這種創業團隊,有一個死一個,沒有例外的。如果你的創業團隊能被這樣的創業團隊給競爭敗了,那都是好事,省得你繼續浪費生命了。
樓主繼續補充:感謝回答,打個比方,比如說UI設計圖我們花了大概2個月時間,如果加密了,最起碼UI設計圖沒那麼容易給盜取吧?另外,我們採取的是與App開發製作公司合伙人的形式
我可能低估了你們做的東西,如果真是這樣,那我先道個歉哈。不過一般的來說,如果你沒有用專門的圖形庫之類的、只是用iOS/Android標準庫做的UI,我這麼說吧,不能用HTML在一個星期內把全套UI照著重新做一遍的,不多。大家都在拼速度、拼快速調整,做套界面要兩個月,這事兒,不樂觀。做一個App創業,IT是你的核心競爭力。你把核心競爭力外包給一個對你創業成敗興趣不大的專業服務公司,這事兒,更加不樂觀。
豐田早年間生產自動織布機的時候,有一次,一款織布機的設計圖被盜了,豐田喜一郎聽聞後據說是這樣評述的(出自《精益企業》):竊賊的確可能依照設計圖紙造出一台織布機。但是我們每天都在改變和完善我們的產品。因此,竊賊在按照偷來的設計圖紙造出織布機的那一刻,就已經落後於我們了。而且,由於他們沒有從初期生產的失敗中獲得的經驗技能,所以在改進織布機的時候要浪費的時間比我們多得多。事情既然已經發生了,就沒必要擔心。我們只要一如既往地繼續改進產品就行了。
這才叫競爭力。
謝邀,。先說我的觀點:防止別人複製抄襲,本質上屬於運營問題,甚至是行業競爭問題,而不是開發者問題,因為沒有高等演算法支撐的普通應用都無法從技術上避免被複制。
平時說到加大反編譯和反編譯後代碼閱讀的難度,無非就是三種方法:
1.本地混淆——增加代碼的閱讀難度;2.用難以被反編譯的語言來實現,如安卓使用NDK開發;3.使用加固手段,通過代碼轉譯加殼加花等來實現,如市面上的加固保等等但是開發者或者決策者有沒有想過,為什麼要提高反編譯的門檻?什麼樣的應用才是需要代碼級別的保密?答案就是弱聯網類型。這類應用基本就是獨立運行,沒有什麼伺服器內容做支撐,所以很容易被複制,或者被二次打包添加廣告。舉個例子,以前非常火的「瑞士軍刀」這個應用,現在都被打包黨們弄得我都無法區分哪個是官方版本了,於是也就不用了。而且就算是代碼級別的加密,混淆以及使用NDK開發並不能阻止打包黨們來個二次打包,因為人家不需要閱讀你的源碼,只有通過一定的加固手段,做到簽名驗證才能略微提高二次打包門檻。而強聯網類型的應用,因為大部分業務和數據都在伺服器端,就算複製一個應用,也不過是個空殼子。就好比知乎手機客戶端,我隨便在網上搜搜,就能找到各種模仿知乎客戶端的博客,作為一個開發者來說,憑藉互聯網資源,造出一個知乎客戶端來,應該不難,但是我一個人造出來沒用啊,我用的還是知乎的數據啊,知乎人家都不放廣告,我做個客戶端難道要放廣告賺錢嗎?而我一旦把知乎客戶端和伺服器都給重做了一遍,問題就來了,我怎麼獲取這麼多用戶,怎麼走流量,我怎麼和知乎競爭?——這已經不是我一個開發者能做到的了。綜上,我的觀點是:沒有高級演算法,任何手機應用都可以被複制,問題不在於從技術上怎麼阻止被複制,被抄襲,而是如何在同類競爭對手角逐中勝出,沒有競品的應用是不存在的。可以只做發達國家接地氣的app
很多人嘲諷你,這不好,龍有龍的活法,蜻蜓有蜻蜓的活法。
要防禦同級別的小微競爭企業,你要記住一點,加解密技術並不好用。你要用貧客戶端方式。將主要功能放到伺服器上,這雖然增加了你伺服器開銷和編程難度,但是可以實際解決你這個問題。
比如暗黑破壞神2,是不是被3DM,遊俠破解的一天世界?
暗黑破壞神3,主要計算都在伺服器上,是不是沒破解了?
進行代碼混淆,核心功能封裝成dll,數據傳輸盡量使用加密技術。當然這隻能盡量避免代碼被扒。如果人家看了你的遊戲,非要寫一個差不多的來和你競爭,你又沒法說服app商店將其下架的話(估計這可能是絕大多數情況),你只能繼續做新創意新玩法,然後繼續被抄。。。。
總之,現在就是這樣一個時代,快速迭代,快速抄襲,資本助推。一時的成功只代表過去,如果你不進化,指望能安穩收錢,那麼不久就會被更好的新品把你淘汰掉。所以保持進化,不停追求新技術,才是在這個競爭殘酷激烈的環境下生存下去的有效方式問出這種問題的,不適合選這種類型的創業,後面認真答題的難道看不出來嗎?還是只有我好心告訴他了。
一個創業產品,開始的時候,致勝的法寶是點子,也就是你的業務模式,所以,初期的重點不是防止解密,而是防止被山寨,當然,如果你的商業模式不是重點,重點是你實現商業模式的技術或黑科技的話,那就需要加密演算法代碼,不過,即使這樣,客戶端的加密還是不怎麼可靠的,所以,可以考慮雲計算:把核心代碼放在你的伺服器上,甚至,在伺服器上部署你的硬體產品,如此,你就提供了一個黑盒子。如果點子重要,泄露是遲早的問題,只從你的用戶界面就能看出端倪,但,如果你初期控制的好,等你佔據市場的時候,至少,已經領先一步的時候,下一個優勢你已經擁有了:客戶群和市場知名度,只只要你不作,每一步都可以有優勢,所以,加解密的神馬的都是小兒科
做一個別人想抄襲的產品 比加密難多了
看題主意思是聯網的 APP 吧。
你要聯網,肯定是 HTTP 吧,我猜也不能是私有的 TCP 協議。
HTTP 的話,走個代理,安個根證書,基本上就摸清協議了,對其他人來說就可以自己搞個客戶端出來了,根本用不到反向客戶端。這裡有一點,要防這個的話,建議嚴格按照 OAuth 實現授權介面。
(PS. 快遞100的介面很奇怪,所有數據得在官網查詢一遍才能在自己搞出來的介面里查詢,不知道為什麼)
要抄的人肯定也是帶伺服器端抄,那麼你伺服器端代碼別人肯定拿不到(攻擊伺服器不算)。那麼就算反向了一個客戶端也沒用。
所以,要抄你的代碼的創業團隊,至少要寫一個伺服器端,得雇程序員,那如果客戶端不是自己寫的就得考慮對接,很麻煩。所以最合適的方法是一起按著功能自己寫一個出來。那你 APP 防反向有何意義呢?App還沒上線,開始有人抄襲我們的創意,看來真的不能隨便發BP,哎。。。。。。
我覺得題主想多了??很多創業者都是太高估自己點子的價值。80%的情況是做出來也沒爆款,不會有人抄襲的。「因為不值得抄」
如何看待阿里巴巴安全專家雲舒針對支付寶隱私門「賞金10萬」? - Android裡面的技術提取一下思路還是可以得~~
有人抄襲是好事,接下來就看運營了,畢竟你先人一步,有競爭才有壓力和動力。至於混淆和加密,別浪費那個心思和人力了。
題主問題的本源,是延長自己技術的窗口期。不要歪樓~
題主我說幾句難聽的話,請別介意…
介意我也說…哈哈
先別扯什麼加不加密了,首先你得先做出來個APP,然後這個APP還會被人所看見,你知道各大應用市場95%(保守)的app都不為人所見嗎=invisible to anyone else except you ??既然沒有人看見,就不會有人來抄。。
萬一…萬一…出事了。。真有題主的APP被人抄了,那你就加密吧(然並卵)╮( ̄▽ ̄)╭
因為你,就你那點加密,那個願意抄你的人,肯定能破;又或者,他根本不抄你,直接做一個比你更好的出來氣死你(ー_ー)!!
這樣的話,是不是事先考慮申請專利呢??
這樣我就不知道是不是又是然並卵的舉動了要抄襲為何要知道你的源代碼捏?直接按你的樣子自己實現一個啊……
很簡單,你不出名別人就看不到,不知道他去哪裡抄
找愛加密和棒棒
推薦閱讀:
※水利數值模擬軟體的現狀和發展是怎樣的?
※聊天類軟體後台對聊天內容加密嗎?
※如何成為一個好的組長?
※人人都是架構師,架構師是不是過時了?
※如何從零開始做手機軟體的開發?