麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

為你的VB程序程序加密(VB新手)

2019-11-18 17:44:54
字體:
來源:轉載
供稿:網友
VB的好處我就不多說了。VB初學者模仿能力很強,總希望自己的程序看起來專業一點,如用密碼登錄、制作限次版、限時版、強行啟動等等,其實這些東西并不神秘,在VB里只要用少量代碼就可實現。
  1.最簡單的可執行文件密碼登錄:
  在程序啟動時加入以下代碼:
  PRivateSubForm_Load()
  DimaasVariant
  a=InputBox("請輸入密碼!")
  Ifa<>"****"ThenMsgBox"密碼錯誤,您不能使用本軟件!":End注釋:****為預先設定的字符
  EndSub
  怎么樣,能唬人吧。什么?太爛!
  2.在硬盤上建立一個文件用于存放密碼,這樣就可以讀寫修改了
  OnErrorGoTosss
  注釋:若文件不存在,則捕獲該錯誤,建立密碼
  Open("c:/abc.abc")ForInputAs#1
  注釋:文件存在,則打開文件
  Input#1,b注釋:將密碼讀入變量b
  Close#1
  a=InputBox("請輸入密碼!")
  Ifa<>bThenMsgBox"密碼錯誤,您不能使用本軟件!":End
  ExitSub
  sss:
  a=InputBox("請建立密碼!")
  Open("c:/abc.abc")ForOutputAs#2注釋:在硬盤上建立存放密碼的文件
  Print#2,a
  Close#2
  MsgBox"建立密碼成功!"
  使用InputBox輸入密碼的缺點是密碼被顯示出來,大家可以另建一個窗體代替輸入對話框,加入一TextBox并將其PassWordChar屬性設為*就行了。文件abc.abc可用任何文本文件打開編輯,因此在你未學會加密算法之前可將文件命名為*.sys或*.dll,并放在windows或system目錄下,甚至將其屬性設為隱藏,哈哈,系統文件誰敢亂改!不過要小心不要覆蓋真正的系統文件。
  用啟動登錄的方法加密會令用戶反感,最好只用在軟件中較重要的修改數據部分或用于多用戶登錄。如果你想制作共享軟件,那就先試試限次版吧。
  3.軟件限定使用次數說白了也是在硬盤中的某個地方作個標記,每啟動一次就記數一次,當次數加到一定值時就不允許使用軟件。以上代碼稍加改動也能實現:
  PrivateSubForm_Load()
  OnErrorGoTosss
  注釋:若文件不存在,則建立文件
  Open("c:/abc.abc")ForInputAs#1
  注釋:文件存在,則打開文件
  Input#1,b注釋:將數值讀入變量b
  Close#1
  Ifb>100ThenMsgBox"對不起,您只能使用本軟件100次!":End
  注釋:提示用戶使用次數并退出程序
  c=b+1注釋:計數器加1
  Open("c:/abc.abc")ForOutputAs#3
  Print#3,c注釋:將加1后的數值寫入文件
  Close#3
  ExitSub
  sss:
  Open("c:/abc.abc")ForOutputAs#2
  Print#2,1注釋:建立文件,并寫入數值1
  Close#2
  EndSub
  4.大家一定對win.ini和system.ini文件很熟悉吧,它是一種專門用來保存應用程序初始化信息和運行環境信息的文本文件,Windows軟件的初始化參數的獲取與保存是通過讀取擴展名為.ini的文本文件來實現的。目前很多軟件干脆就把軟件密碼保存在自己的ini文件中。VB只要利用API的GetPrivateProfileString和WritePrivateProfileString兩個函數就可以很方便地讀寫ini文件,從而可以保存、讀出和驗證密碼。首先認識一下ini文件。
  ini文件的形式為:
  [section1]
  keyword1=value1
  keyword2=value2
  ……
  [section2]
  keyword1=value1
  keyword2=value2
  ……
  section是段名,keyword是關鍵字名,value為關鍵字對應的設定值
  首先用WritePrivateProfileSection創建新的段名和關鍵字名:
  DeclareFunctionWritePrivateProfileSectionLib"kernel32"Alias"WritePrivateProfileSectionA"(ByVallpAppNameAsString,ByVallpStringAsString,ByVallpFileNameAsString)AsLong
  DeclareFunctionWritePrivateProfileStringLib"kernel32"Alias"WritePrivateProfileStringA"(ByVallpapplicationNameAsString,ByVallpKeyNameAsAny,ByVallpStringAsAny,ByVallpFileNameAsString)AsLong
  A=WritePrivateProfileSection("user","password","c:/windows/user.ini")
  在windows目錄下的user.ini文件中創建新段名user及該段名下的關鍵字password,如果目錄下沒有user.ini文件,則創建該文件
  B=WritePrivateProfileString("user","password","1234","c:/windows/user.ini"),設定關鍵字user的值為1234。這樣在你的user.ini文件就會多出一段:
  [user]
  password=1234
  利用GetPrivateProfileString函數可以讀出password的值:
  DeclareFunctionGetPrivateProfileStringLib"kernel32"Alias"GetPrivateProfileStringA"(ByVallpApplicationNameAsString,ByVallpKeyNameAsAny,ByVallpDefaultAsString,ByVallpReturnedStringAsString,ByValnSizeAsLong,ByVallpFileNameAsString)AsLong
  DimkeyasString*255
  c=GetPrivateProfileString("user","password","false",key,255,"c:/windows/user.ini")
  Ifkey="false"then
  MsgBox"文件不存在或沒有該字段"
  Else:Form1.Print"Thepasswordis";key
  該函數將文件user.ini中password的值(即你設定的密碼)賦予key,若發生錯誤(文件不存在或沒有該段名)則key的值為“false”,注意一定要聲明變量key的長度并與函數中的值一致。這樣你就可以將key與登錄密碼進行對照或直接處理key的值來決定是否繼續運行程序。
  使用ini文件存儲密碼還有一個好處,就是設計者可以建立幾個段名來存儲不同的密碼,從而可實現多用戶登錄。
  5.在注冊表中標記密碼可能是保護你的勞動成果的最高境界了。主要方法是在注冊表中創建一個鍵名,在鍵值里存放你的密碼,以后運行時則取出該數據進行驗證或處理,當滿足條件時終止程序。可以認為注冊表是"以亂取勝",只要你選擇到一個隱蔽的位置做標記或存放數據,不用做任何加密算法的處理都應該是比較安全的。令人驚喜的是VB很容易利用API操作注冊表。這里只簡單介紹幾個API函數,大家只要參照函數說明,正確引用變量傳遞數據,不需要任何技巧就可操作注冊表。
  RegCreateKeyEx:創建關鍵字,如果關鍵字已存在,則將只簡單地將它打開
  RegOpenKey:用于打開某鍵
  RegSetValueEx:打開某鍵后,用于設置其鍵值
  RegQueryValueEx:查詢一個存在的值,如果此函數調用成功,會返回ERROR_SUCCESS標志
  制作限時版只要會用幾個函數如day、month、year、date就行了。例如到了2001年就不能執行程序:
  a=Year(Date)
  ifa>=2001thenMsgBox"對不起,該軟件已過期":End
  你還可以用前面的方法使條件滿足時在硬盤上作個標記,而用戶通過修改系統時間、重新安裝也不能再使用軟件。
  怎么樣?學會了對硬盤的簡單讀寫操作,這些東東一點也不神秘了吧!雖然不是很高明,但很多軟件都確實使用這種方法進行簡單加密;隨著解密手段越來越高明,單一加密方法已成為過去,一些軟件同時在ini文件和注冊表等地方做標記,當然不是簡單的把你輸入的保存起來,win9x撥號上網時如果選擇保存密碼也會在硬盤上生成user.pwl文件,不過該文件加了密,強行用文本編輯器打開時只會看到些亂碼。哈哈,又心癢癢想學其他招數了吧!->


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲视频观看 | 国产乱淫av| 国产成人强伦免费视频网站 | 91久久久久久久久久久久久 | 国产精品视频1区 | xxxx欧美视频 | 久久一区三区 | 久久久久久久久久久亚洲 | 精品国产一区二区三区在线观看 | 久久久婷婷 | 免费毛片电影 | 成人在线a| 草久影视 | 久久久电影电视剧免费看 | 久久一本日日摸夜夜添 | 日日鲁一鲁视频 | 亚州精品在线视频 | 操毛片 | 亚洲精品一区二区三区免 | qyl在线视频精品免费观看 | 亚洲小视频网站 | 午夜精品小视频 | 久久精品欧美一区二区三区不卡 | 国产成人视屏 | 国产一级大片 | 久章草在线视频 | 日韩视频一二三 | 性生活视频网站 | 性爱免费在线视频 | 97青青草视频 | 亚洲一区二区三区四区精品 | 一级黄色片在线看 | 日本网站一区二区三区 | 免费的毛片 | 国产精品99久久99久久久二 | 久草导航| 毛片在哪里看 | 欧美91看片特黄aaaa | 中文字幕在线观看国产 | 欧美成人精品一区二区男人小说 | 国产黄色录像片 |