• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Windows下编译perl程序

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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

所需工具
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 〈[email protected]

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 〈[email protected]

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 〈[email protected]

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 〈[email protected]

Created 'gzpia_special.exe'
------------------------------------

加壳
之所以选择使用北斗壳的原因是因为它操作起来比较方便:),打开PEID看看我们现在编译的程序:

嘿嘿,显示是VC6.0编译的程序哦:P。打开北斗加壳程序:

点击主界面右下角的“打开”按钮,在弹出的文件选择对话框中选定我们在上面操作中编译好的EXE程序,然后
点击“打开”按钮...回到北斗主界面,点击左下角的“压缩”按钮...

嘿嘿,搞定了,退出北斗加壳程序,现在再用PEID来看看:
 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
perl debug发布时间:2022-07-22
下一篇:
perl的引用发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap