本人與大家一樣,原來只是乙個普通的程式設計師,靠給軟體公司打工謀生。後來感覺這樣長期幹下去沒有什麼前途,雖然現在年輕還可以加班加點靠拼身體吃飯,以後年紀大了怎麼辦?聽說很多人自己單幹每年靠共享軟體都可以賺幾十萬,我為什麼就不行?仗著自己技術好,並且當時已經有了成熟軟體的思路,我就辭職出來加入共享軟體這一行當了。
通過半年多的日夜苦幹,軟體終於編出來了。由於我覺得自己的軟體功能比較新穎,程式設計的技術也很好,以為只要一發布就會大家搶著註冊購買,也可以像那些成名的共享軟體作者一樣每月坐拿幾萬元,結果卻是令我想象不到的,在發布後的第一年,只有1個人註冊,只得到可憐的幾十元。我這下才認識到了軟體推廣的重要性 — 我們作為技術人員,往往是重技術輕營銷,結果是再好的軟體也由於無人知曉而只能孤芳自賞。我這時就有意在網上搜尋軟體推廣方面的文章,國內的資料少就到國外的共享軟體論壇去查,另外還結合自己在實際推廣中的經驗教訓不斷改進自己的推廣技巧,慢慢地在第二年軟體推廣有了初步起色,拿到了一千多元。接連在共享軟體領域摸爬滾打了幾年後,現在終於每月都有近萬元入賬。雖然比起那些共享大牛們來說這點錢還不足掛齒,但自己認為還算不錯了。為了避免程式設計師們重走像我當初的很多彎路,現在把自己的經驗教訓寫出來,給大家在軟體推廣方面一點啟示。
第一、對軟體本身的要求。
? ?也許大家會覺得奇怪,不是講軟體怎麼推廣嗎?怎麼會講起軟體本身的要求來了呢?
??? 其實一點也不出奇,高樓萬丈在於基礎是否穩固。沒有乙個好的軟體產品而去空談什麼推廣,不要說很少有成功的,即使是推廣出去了,客戶拿到手之後也會有受騙上當的感覺,退貨以及退款,再加上對你的軟體的負面宣傳會搞得你焦頭爛額的。
?? 在這裡我的經驗是,如果你不知道編什麼樣的軟體才能好銷,你就站在普通電腦使用者的角度來考慮問題。要一切從使用者觀念出發,要從使用者的要求入手,只要是使用者需要的功能,那怕軟體只有這乙個功能,只要別人的軟體還沒有包含,你在這裡就有成功的可能。例如周弈的*** cd maker,功能並不複雜,但大家需要這個功能,而當時的很多流行軟體如nero等並不具有,因此他憑這一點就可以月進上萬美金。
?? ?還有就是,軟體本身必須盡可能完美,也就是沒有什麼明顯的bug。現在有許多人在軟體還沒有經過什麼測試的情況下就急著發布,結果別人一用到處都是問題,這樣的軟體給使用者的印象很差,只會給軟體造成很大的負面影響。我的經驗是,軟體編好後至少要經過兩個月的測試。不但是自己要徹底測試,而且要交給你身邊的親戚朋友測試,當然能交給普通的使用者測試就更好了。也許你會說別人會願意這樣做嗎?我的經驗是只要答應測試完後免費給他們正式版的註冊碼,他們是很樂意為你測試的。
第二、軟體推廣的常用方法
??? **有了之後,也不是就萬事大吉了,**本身也有個推廣的問題。要根據你的軟體,設計一些關鍵字,把這些關鍵字用在你的**的標題以及**內容之中,使得別人在用這些關鍵字在google等搜尋引擎上搜尋時,能很快找到你的**。當然,**的推廣不是我們這裡要討論的話題,你在網路上應該能方便地找到這些資料。如果你能把有關你軟體的關鍵字做到google搜尋結果的第一頁,那麼恭喜你,你離成功不遠了。
第三、軟體如何推向海外
???你的軟體已經在國內推廣了,還要不要走向海外?回答是肯定的。由於國內存在對盜版解密等活動打擊不力的問題,你辛辛苦苦工作出來的勞動成果,給別人破解後可能全部付諸東流。所以在國內防止軟體被破解是乙個重大的課題,對付破解的問題我留到下一點再仔細講。而在國外,由於對於盜版以及破解打擊的力度較大,另外使用者的正版意識普遍比國內要高,所以付錢註冊購買的人也相對較多。所以你的軟體在國外推廣是很有必要的。就拿我來說,現在軟體收入的大部分就是來自海外使用者。
??? 另外,在國外一般都是找一家**公司幫你收錢,每月定期寄支票給你。**行業在國外已經是乙個很成熟的行業了,不用擔心**會不給錢你。比較大一點的**有:www.regnow.com設施最完備的**,需要開戶費。www.qwerks.com 免費開戶,據說信譽極好。還有www.shareit.com 也是一家不錯的軟體**公司。 還有www.regsoft.com 不過據說反映一般。
??? 另外在國外,是會遇到別人購買你的軟體後覺得不滿意而要求退款的。paypal以及其他的付款方式都有幾十天內不滿意可以要求退款的條文。對於要求退款的使用者,他如果堅持要退是一定可以退的。所以一般都是根據使用者要求直接就退給他,並告訴他keep?? my?? software?? as?? a?? gift,反正他已拿到註冊碼了,你做什麼都沒用,不如來個順水人情。即使他退完款後又來信要求你提供技術服務,你也要盡可能幫助他。能做到這點你的服務才能算真正到家了。
?第四、如何應對軟體的破解
??? 在國內推廣軟體,你要面對的最大問題莫過於軟體被破解了。很多軟體作者反映說,原來軟體在被破解前交費註冊的人還不少,但被破解後收入就直線下降,連成本都收不回來。您想,有了免費的東西人們還交那個錢幹什麼?
??? 在這裡,我借鑑了乙個軟體作者的防破解經驗:發行1.0版時2.0版已經寫的差不多的。發行1.0版時要把1.0版的防破解或者註冊演算法寫的簡單些等著別人去破解。一但出現1.0的破解,等待幾周,這幾周的時間足以使網上1.0的破解版遍天下。然後,分析破解過程更改2.0版演算法(層層加密,複雜再複雜),雖無法**破解但可以浪費破解者的時間和耐力!一般情況下,在網上一搜你的軟體已經有破解版了(1.0的)新的破解者很少會再去破解,何況2.0版本更複雜些。我的乙個軟體用了此法,推出一月後被破解組織破解,公開破解過程及註冊演算法,並做成破解教程。其實破解從某種意義上說是幫我宣傳了軟體。我在乙個月後推出早已經寫好的新版本,還註冊成了「特別版」以迷惑想要破解版的人。使用上述方法後至少在我更新了幾次軟體後的今天仍沒出現破解。但在網上搜破解版、特別版、註冊版到處都是,可沒乙個是真的。其實一些破解高手只是想試探自己的能力,破解乙個軟體後,一般會把目標定在下乙個軟體上。不過如果你的軟體成為人手必備的工具,此法怕是不靈了。
??? 另外,從技術上講也有一些防破解的方法。假設你的註冊部分有300行,你可以分成30個inline函式呼叫(一定要inline),func1(),func2()... func30(). 將他們隨意放到程式的各個部分,一定不能放在一起。不要用memcpy等常用系統呼叫拷貝註冊碼,盡可能自己寫,像memcpy很好寫,效能差點無所謂。經過編譯後inline函式展開,註冊部分和其他**混在一起,他要寫出序號產生器就很困難,因為要向在幾十萬甚至上百萬彙編**裡找出有用的註冊部分那簡直就像是在大海浬撈針。另外註冊碼也不要放在一起,假設你的註冊碼是12位,千萬不要用乙個12位的陣列放註冊碼,你可以在程式的不同位置定義12個全域性字元變數,每個放一位,這樣註冊碼在記憶體就不連續了。最好再加密處理一下(簡單的字元異或就可以),驗證時再解密。只要破解者找不到你驗證結束的地方,暴力和loader破解也沒有可能。很重要的一點是不要用連續記憶體儲存驗證用到的變數,盡量將用到的驗證臨時變數分散定義在程式的不同處,再在驗證中,不斷轉移一些值到其他變數中,對付暴力和loader會比較有效。沒有必要用複雜的加密演算法,更容易成為追蹤的目標。只要你將註冊部分隱藏的足夠好,也沒有漏洞,你花1天寫的加密演算法,破解者可能會花100-1000倍的時間破解。大部分人都會放棄。你將註冊做在一起,就像將你的財寶放在現代保險箱裡,雖然非常堅固難以解密,對於開鎖高手兩分鐘就開啟了。對於一些比較專業的破解者採用上面的方法也是很有效的但是,還是要避免一些低階失誤例如:不要在記憶體中直接出現註冊碼和明顯的註冊碼比較部分不要給使用者太多的有關註冊驗證的資訊,也不要接收到註冊碼後立刻就進行比較。在軟體的不同功能處實現驗證時的好處還有就是不會立刻執行到驗證**註冊碼,可以分多次驗證,也可以分成幾部分驗證,還可以分成幾層驗證驗證時,可以盡量多執行一些無用的操作,加上一些象遞迴之類難於除錯追蹤的**,但在其中要穿插實現軟體功能的**,否則人家直接就跳了過去。反正就是越不引人注意越好,亦即越亂越好。
??? 其實要想徹底防止破解也是不現實的,除了研究一下破解方法,在發布前加殼外,並採用以上所說的方法外,不斷公升級程式也是比較好的方法。
??? 總之,推廣軟體對於搞慣了技術的軟體作者來說一開始會走一些彎路,但只要不斷學習成功者的經驗,不斷吸取自己失敗的教訓,你也會成功的。最後,祝大家個個都成為共享高手。
**:
由國內到國外 軟體推廣成功之路
本人與大家一樣,原來只是乙個普通的程式設計師,靠給軟體公司打工謀生。後來感覺這樣長期幹下去沒有什麼前途,雖然現在年輕還可以加班加點靠拼身體吃飯,以後年紀大了怎麼辦?聽說很多人自己單幹每年靠共享軟體都可以賺幾十萬,我為什麼就不行?仗著自己技術好,並且當時已經有了成熟軟體的思路,我就辭職出來加入共享軟體...
我的軟體推廣成功之路
本人與大家一樣,原來只是乙個普通的程式設計師,靠給軟體公司打工謀生。後來感覺這樣長期幹下去沒有什麼前途,雖然現在年輕還可以加班加點靠拼身體吃飯,以後年紀大了怎麼辦?聽說很多人自己單幹每年靠共享軟體都可以賺幾十萬,我為什麼就不行?仗著自己技術好,並且當時已經有了成熟軟體的思路,我就辭職出來加入共享軟體...
我的軟體推廣成功之路
本人與大家一樣,原來只是乙個普通的程式設計師,靠給軟體公司打工謀生。後來感覺這樣長期幹下去沒有什麼前途,雖然現在年輕還可以加班加點靠拼身體吃飯,以後年紀大了怎麼辦?聽說很多人自己單幹每年靠共享軟體都可以賺幾十萬,我為什麼就不行?仗著自己技術好,並且當時已經有了成熟軟體的思路,我就辭職出來加入共享軟體...