流程
安裝解譯器/編譯器-》測試源碼可行性-》製作表徵圖-》編譯器-》加殼
所需工具
Perl解譯器:activeperl
PDK開發包:ActiveState Perl Dev Kit
ICON表徵圖編輯器:http://demonalex.3322.org/download/development/pic2icon.rar
北鬥加殼工具:http://demonalex.3322.org/download/development/Nspack3.7.rar
測試時使用的工具
PEID殼查看工具:http://demonalex.3322.org/download/development/peid.rar
安裝PERL解釋、編譯器
注意次序,首先安裝ActivePerl-5.8.7.815,然後在安裝PDK開發包。為什麼ActivePerl我要選擇這個版本呢?
因為我從官網上下載了最新的解譯器後發現PPM的使用方法與原來的不相同,因此推崇使用原來的版本。安裝完
成後:
C:\>path
PATH=C:\Program Files\ActiveState Perl Dev Kit 6.0\bin\;C:\Perl\bin\;C:\WINNT\sy
stem32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\SecureCRT\;C:\Program Fi
les\Support Tools\;e:\usr\bin;e:\Program Files\NetIQ\Chariot
注意到path輸出內容的底線部分。第一條是PDK的路徑,第二條是PERL解譯器的路徑。
測試源碼的可行性
測試可行性這個步驟主要是為了確定程式有沒有什麼錯誤與保證該程式所使用的包都已經‘湊齊’。首先在源
碼的標識‘#!/bin/perl’後加入參數‘-w’確認程式沒有文法上的錯誤。接下來是確認我們要編譯的程式所需
的包是不是都‘湊齊’了,用perlapp編譯一次,看看錯誤就知道了:
------------------------------------
C:\>perlapp -f gzpia_special.pl
PerlApp 6.0.2 build 203380
Copyright (C) 1998-2005 ActiveState Corp. All rights reserved.
ActiveState is a division of Sophos Plc.
Commercial license for Name 〈demonalex@hackermail.com〉
Can't locate DBI.pm in @INC (@INC contains: C:/Program Files/ActiveState Perl De
v Kit 6.0/lib/ C:/Perl/lib C:/Perl/site/lib . C:/Perl/lib C:/Perl/site/lib .) at
gzpia_special.pl line 3.
BEGIN failed--compilation aborted at gzpia_special.pl line 3.
'gzpia_special.pl' had compilation errors.
------------------------------------
提示少了DBI這個庫。在cmd下輸入ppm進入ppm command模式,輸入‘install DBI’,安裝完成後再編譯一次:
++++++++++++++++++++++++++++++++++++
C:\>perlapp -f gzpia_special.pl
PerlApp 6.0.2 build 203380
Copyright (C) 1998-2005 ActiveState Corp. All rights reserved.
ActiveState is a division of Sophos Plc.
Commercial license for Name 〈demonalex@hackermail.com〉
MLDBM.pm:
error: Can't locate MLDBM.pm
refby: C:\Perl\site\lib\DBD\DBM.pm line 323
SQL\Statement.pm:
error: Can't locate SQL\Statement.pm
refby: C:\Perl\site\lib\DBI\SQL\Nano.pm line 27
Created 'gzpia_special.exe'
++++++++++++++++++++++++++++++++++++
提示少了MLDBM與SQL-Statement這兩個包,重新進入ppm command模式,相繼輸入‘install MLDBM’與‘insta
ll SQL-Statement’,‘exit’退出ppm command,重新編譯一次:
************************************
C:\>perlapp -f gzpia_special.pl
PerlApp 6.0.2 build 203380
Copyright (C) 1998-2005 ActiveState Corp. All rights reserved.
ActiveState is a division of Sophos Plc.
Commercial license for Name 〈demonalex@hackermail.com〉
Created 'gzpia_special.exe'
************************************
確認源碼沒問題,而且所有包都‘到齊’了,把gzpia_special.exe刪到吧,因為現在的EXE檔案的表徵圖還沒弄
好,嘿嘿。
產生表徵圖
開啟ICON表徵圖編輯器--Pic2Icon綠色破解版:
點擊“載入表徵圖”按鈕,在彈出的檔案選擇對話方塊中找到你要使用的圖片...
將圖片的長寬度設定為32,“確定”...
選定“是”回到Pic2Icon主介面,點擊“儲存表徵圖”...
在“另存新檔”對話方塊中選定儲存ICON檔案的路徑,“儲存”,退出Pic2Icon程式,表徵圖產生過程完成。
編譯器
重新編譯一次,不過需要添加“--icon ICON檔案路徑”:
------------------------------------
C:\>perlapp -f --icon C:\編譯PERL\gzpia.ico gzpia_special.pl
PerlApp 6.0.2 build 203380
Copyright (C) 1998-2005 ActiveState Corp. All rights reserved.
ActiveState is a division of Sophos Plc.
Commercial license for Name 〈demonalex@hackermail.com〉
Created 'gzpia_special.exe'
------------------------------------
加殼
之所以選擇使用北鬥殼的原因是因為它操作起來比較方便:),開啟PEID看看我們現在編譯的程式:
嘿嘿,顯示是VC6.0編譯的程式哦:P。開啟北鬥加殼程式:
點擊主介面右下角的“開啟”按鈕,在彈出的檔案選擇對話方塊中選定我們在上面操作中編譯好的EXE程式,然後
點擊“開啟”按鈕...回到北鬥主介面,點擊左下角的“壓縮”按鈕...
嘿嘿,搞定了,退出北鬥加殼程式,現在再用PEID來看看: