免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5012 | 回复: 7
打印 上一主题 下一主题

[已解决]想请教各位大大帮一下忙, 关于将perl编绎成exe,谢谢大家 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-05 20:47 |只看该作者 |倒序浏览
本帖最后由 hyoryeo 于 2011-12-06 15:24 编辑

首先目前进度,
已经试过perl2exe是可行的,但是他不免费。
par也看了相关资料,一直接手动安装pm,可是结果编绎失败,怀疑可能是没安装完全,所以装上了make for windows跟gcc,
在安装任何的库
perl Makefile.PL;
make;
发现这样的错误
make: *** 没有规则可以创建“makefile” 需要的目标 "c:\perl\lib\COREconfig.h"。停止。
没找到这个头文件。大家有给个指引吧,不过很奇怪,网上有说出现这个错误是因为没有Makefile这个文件,可是每个包都是从cpan下载的,
不太明白为什么会编绎失败,应该是缺少某些库,但是不太清楚缺少哪些库。


请问各位大大有没有遇到过这种情况,关于perlcc,大家是怎样解决的? 在网上搜索了一些资料,但很多都没有解决方案。
怀疑
1, 是不是gcc的版本太高了,
2, 如果是libperl的原因,可否给我个指引,因为没找到libperl for windows,是否与linux的安装相同。
其实我也知道在网上看到说perlcc很麻烦,有很多问题。
但是公司前辈说在用perlcc能用,没问题的(估计是linuxt系统)。

平台cygwin,
gcc:mingw

hellocgi.pl
  1. #!c:/perl/bin/perl.exe

  2. #print "Content-type: text/html\n\n";
  3. print "hello";
复制代码
执行/cygdrive/c/perl/bin/perlcc.bat hellocgi.pl
  1. Set up gcc environment - 4.6.1
  2. pccMpHkL.c: In funciton 'perl_init_aaaa':
  3. pccMpHkL.c:2124:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
  4. c:/minw/bin/../lib/gcc/mingw32/4.6.1/../../../mingw32/bin/ld.exe:cannot find -lperl
  5. collect2: ld return 1 exit status
复制代码
可能我问的问题太多,但是希望大大们帮帮忙,希望我不太会罗嗦跟没有讲清楚。

由于perlcc编绎不过,用了最笨最简单的方法,用activePerl+cpan终于成功了。献上结果。希望未成功的同学也能成功
  1. 安装PAR-Packer

  2. 安装ActivePerl-5.14.2.1402-MSWin32-x86-295342.msi
  3. 设置系统环境变量PERL_TEST_POD = 1, 这个只是make test时需要,理论可忽略。

  4. ppm install cpan 如果没有安装
  5. ppm install Win32-Exe

  6. 进行cpan自动下载安装minGw
  7. It looks like you don't have a C compiler and make utility installed.  Trying
  8. to install dmake and the MinGW gcc compiler using the Perl Package Manager.
  9. This may take a a few minutes...

  10. cpan> install ExtUtils-MakeMaker
  11. cpan> install F/FL/FLORA/ExtUtils-Command-1.17.tar.gz ( ExtUtils-Command )
  12. cpan> install YVES/ExtUtils-Install-1.54.tar.gz (ExtUtils-Install)

  13. cpan> i /PAR-Packer/
  14. cpan> install RSCHUPP/PAR-Packer-1.012.tar.gz( 虽然这会自动安装一些库,但不全,反正之前没有ppm install Win32-Exe, 在这里可能会安装失败。不好意思,之前写错了。)


  15. 若如果没成功,一定是没把相应的库装上去。
复制代码
ps:编绎的库超大1K的文件打成EXE变成2M多(把静态库打上去的结果),perlcc再看看

未命名.GIF (15.08 KB, 下载次数: 19)

未命名.GIF

论坛徽章:
0
2 [报告]
发表于 2011-12-05 22:29 |只看该作者
用PDK吧,既然你是要加密那估计就是商业用途,别的我就不多说了,何况买一份以后也能用

论坛徽章:
0
3 [报告]
发表于 2011-12-06 08:36 |只看该作者
回复 2# nsnake


{:3_185:} {:3_192:} 用不用付费的不是由我来决定。还是希望有遇到过这个问题的帮帮忙。{:3_189:} 谢谢

论坛徽章:
0
4 [报告]
发表于 2011-12-06 08:56 |只看该作者
用PDK+ActivePerl是很完美的组合,PDK是收费软件,但百度一下就能解决这个问题,你懂的。

不过PDK绝对不是你想象的那么安全,在高手面前,也能反编译出源代码,perl2exe也一样,相对安全吧。老大曾说,先用代码干扰模块把代码打乱,再编译,即使被反编译出来,代码也是乱的,这方法挺好!

论坛徽章:
0
5 [报告]
发表于 2011-12-06 10:51 |只看该作者
用PDK+ActivePerl是很完美的组合,PDK是收费软件,但百度一下就能解决这个问题,你懂的。

不过PDK绝对不 ...
iamlimeng 发表于 2011-12-06 08:56


PDK+ActivPerl编译的程序运行后会出现很多的临时文件,至于反编译在一个论坛上看一个牛人把源码完整的反编译出来了,那感觉还不如不编译

论坛徽章:
0
6 [报告]
发表于 2011-12-06 14:01 |只看该作者
感觉不想公布源码还选择perl本身就不合适

论坛徽章:
0
7 [报告]
发表于 2011-12-06 14:35 |只看该作者
回复 6# Roemer

没办法。

论坛徽章:
0
8 [报告]
发表于 2011-12-07 09:03 |只看该作者
perlcc加密过的基本上反编译很困难,不过在5.10之后的版本就不能运行了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP