製做CAB包

製做CAB包

inf文件

INF是Device INFormation File的英文縮寫,是Microsoft公司爲硬件設備製造商發佈其驅動程序推出的一種文件格式,INF文件中包含硬件設備的信息或腳本以控制硬件操做。在INF文件中指明瞭硬件驅動該如何安裝到系統中,源文件在哪裏、安裝到哪個文件夾中、怎樣在註冊表中加入自身相關信息等等。html

給硬盤(U盤)DIY一個可愛的圖標

接着打開記事本程序,錄入如下內容:算法

[autorun]
ICON=******.ICO

其中「******」是圖標文件的路徑及圖標文件名,請自行修改成具體的圖標文件的路徑及圖標文件名。錄入完畢,另存爲「Autorun.inf」,並將其剪切到某一個你欲扮酷的分區的根目錄下。express

在命令行下安裝INF文件

一般狀況下,咱們都是在Windows環境下安裝INF文件的,可是假若有一天,你須要在命令行運行INF文件該怎麼辦呢?api

在命令行提示符後輸入「 rundll32 syssetup,SetupInfObjectInstallAction DefaultInstall 128 INF文件所在的路徑及文件名.inf 」,回車後便可安裝相應的INF文件。安全

[pre]再提供兩個方法:ide

  方法1. 運行RunDll32 advpack.dll,LaunchINFSection YOUINF.inf,DefaultInstall工具

  方法2.修復右鍵安裝測試

  操做步驟以下:this

  打開個人電腦,「工具」菜單中的「文件夾選項」。切換至「文件類型」選項卡,在其中找到inf文件,點高級按鈕,雙擊「安裝」(如沒有「安裝」就添加一個),按以下內容修改url

  用於執行操做的應用程序:

  C:\WINDOWS\System32\rundll32.exe setupapi,InstallHinfSection DefaultInstall 132 %1

  點選使用DDE(U)

  應用程序(C):

  setupapi

  主題(T):

  System

  確認!

  而後再次右鍵點選inf文件安裝。

編寫inf文件

; Sample INF file for IMES.DLL

;分號後爲註釋

[version] 
; version signature (same for both NT and Win95) do not remove

;在該節中若是出現「signature="$CHICAGO$"」這樣的條目則表示該INF文件適用於Windows 98以後的全部操做系統,若是包含「signature="$Windows NT$"」這樣的條目則表示該INF文件適用於Windows 2000/XP/2003操做系統,並且二者必具其一

signature="$CHICAGO$"
AdvancedINF=2.0  

[Add.Code]
Editor.ocx = Editor.ocx

; needed DLL

[Editor.ocx]
file=thiscab
clsid={8BB4EE5B-5919-11D1-A01A-0060971932BC}
RegisterServer=yes
FileVersion=5,0,1,7

; end of INF file

將ActiveX控件進行打包並加數據鑑名的工具集:

  • Cabarc.exe 將ocx打包成cab
  • Cert2spc.exe 將cer格式證書轉換成spc格式證書, 即PKCS#7證書
  • Certmgr.exe 是管理證書用的
  • Chktrust.exe 檢查簽署證書後的ocx是否正確
  • Makecat.exe
  • Makecert.exe 製做cer格式的證書, 即X.509證書, 同時能夠建立私鑰和公鑰
  • Makectl.exe
  • Signcode.exe 將證書籤署到ocx上

工具集下載:makeCAB.rar

製做CAB文件

  • CMD 輸入 iexpress,將啓動Iexpress嚮導
  • 選中"Create new Self Extraction Directive file"
  • 選擇"Create compressed files only(ActiveX Installs)"
  • 添加INF文件中所列全部文件(DLL及DEF等)
  • 單擊"下一步(N)",單擊Browse按鈕選擇RemtCard.CAB文件,同時選中 「Store files using long Name inside Package」checkbx
  • 選擇"Don't save"
  • 單擊完成按鈕將同時生成RemtCard.CAB文件

執行
CABARC -s 6144 n RemtCard.cab ocx文件.ocx inf文件.INF

生成RemtCard.CAB文件

自制數字證書

用CMD進入到控件所在的目錄;

建立PVK文件(私人密匙文件),CMD輸入makecert -$ "individual" -r -sk RemtCard RemtCard.pvk -n CN=XXXXXXX

建立CER文件(公司證書),CMD輸入「makecert -sk RemtCard.pvk RemtCard.cer」,而後回車,在相對目錄下會出現一個安全證書

建立SPC測試軟件出版商證實書,CMD輸入「cert2spc RemtCard.cer RemtCard.spc」

執行

makecert -cy both -d RemtCard -n CN=xxxx有限公司 -sv RemtCard.pvk RemtCard.cer
Cert2SPC RemtCard.cer RemtCard.spc

文件數字簽名

在CMD中運行signcode

選擇RemtCard.CAB

選擇好RemtCard.CAB文件後單擊"下一步(N)"按鈕,在選擇想要的簽名類型裏選擇"自定義(C)"按鈕

單擊"從文件選擇(F)"按鈕,選擇剛製做的RemtCard.cer

選擇"CSP中的私鑰(K)"

容器密匙選擇RemtCard.pvk

在散列算法中選擇"md5"

"證書路徑中的證書"中選擇"證書路徑中的全部證書,包括根證書(C)",在"其它證書(可選)」中選擇「包括在如下PKCS #7 證書(.p7b)文件中的證書(P):"」,並單擊"瀏覽(R)…"按鈕選擇RemtCard.spc文件

"數據描述"窗口中輸入公司的名稱及網址並單擊"

執行

signcode.exe -spc RemtCard.spc -v RemtCard.pvk -n RemtCard1.0.0.1 -i www.xxx.com.cn  RemtCard.cab

activeX插件安裝升級

<object codebase="http://localhost/RemtCard.cab#version=1,1"CLASSID="CLSID:8BB4EE5B-5919-11D1-A01A-0060971932BC"…/>

參考:

相關文章
相關標籤/搜索