设为首页 收藏本站
查看: 1028|回复: 0

[经验分享] Windows下编译perl程序

[复制链接]

尚未签到

发表于 2015-12-26 07:22:24 | 显示全部楼层 |阅读模式
  流程
安装解释器/编译器-》测试源码可行性-》制作图标-》编译程序-》加壳

所需工具
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来看看:

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-156367-1-1.html 上篇帖子: PERL之模式匹配 下篇帖子: 用perl实现的文件头注释工具
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表