Windows下编译perl程序

流程
安装解释器/编译器-》测试源码可行性-》制作图标-》编译程序-》加壳

所需工具
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绿色破解版:
http://photo1.yupoo.com/20070117/125304_1871678823.jpg
点击“载入图标”按钮,在弹出的文件选择对话框中找到你要使用的图片...
http://photo1.yupoo.com/20070117/125305_1211125029.jpg
将图片的长宽度设置为32,“确定”...
http://photo1.yupoo.com/20070117/125306_664433299.jpg
选定“是”回到Pic2Icon主界面,点击“保存图标”...
http://photo1.yupoo.com/20070117/125306_1607841155.jpg
在“另存为”对话框中选定保存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看看我们现在编译的程序:
http://photo1.yupoo.com/20070117/125307_2029862282.jpg
嘿嘿,显示是VC6.0编译的程序哦:P。打开北斗加壳程序:
http://photo1.yupoo.com/20070117/125328_1903355279.jpg
点击主界面右下角的“打开”按钮,在弹出的文件选择对话框中选定我们在上面操作中编译好的EXE程序,然后
点击“打开”按钮...回到北斗主界面,点击左下角的“压缩”按钮...
http://photo1.yupoo.com/20070117/125329_414396242.jpg
嘿嘿,搞定了,退出北斗加壳程序,现在再用PEID来看看:
http://photo1.yupoo.com/20070117/125330_1561142916.jpg 

转载于:https://www.cnblogs.com/allyesno/archive/2007/05/23/757355.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值