1. #!/usr/bin/perl
  2. #===============================================================================
  3. #
  4. # FILE: securecrt_linux_crack.pl
  5. #
  6. # USAGE: ./securecrt_linux_crack.pl
  7. #
  8. # DESCRIPTION: securecrt_linux_crack
  9. #
  10. # OPTIONS: ---
  11. # REQUIREMENTS: ---
  12. # BUGS: ---
  13. # NOTES: ---
  14. # AUTHOR: xiaobo_l
  15. # ORGANIZATION:
  16. # VERSION: 1.2
  17. # CREATED: 08/16/2015 13:26:00
  18. # REVISION: ---
  19. #===============================================================================
  20. use strict;
  21. use warnings;
  22. use File::Copy qw(move);
  23. sub license {
  24. print "\n".
  25. "License:\n\n".
  26. "\tName:\t\txiaobo_l\n".
  27. "\tCompany:\twww.boll.me\n".
  28. "\tSerial Number:\t03-94-294583\n".
  29. "\tLicense Key:\tABJ11G 85V1F9 NENFBK RBWB5W ABH23Q 8XBZAC 324TJJ KXRE5D\n".
  30. "\tIssue Date:\t04-20-2017\n\n\n";
  31. }
  32. sub usage {
  33. print "\n".
  34. "help:\n\n".
  35. "\tperl securecrt_linux_crack.pl <file>\n\n\n".
  36. "\tperl securecrt_linux_crack.pl /usr/bin/SecureCRT\n\n\n".
  37. "\n";
  38. &license;
  39. exit;
  40. }
  41. &usage() if ! defined $ARGV[0] ;
  42. my $file = $ARGV[0];
  43. open FP, $file or die "can not open file $!";
  44. binmode FP;
  45. open TMPFP, '>', '/tmp/.securecrt.tmp' or die "can not open file $!";
  46. my $buffer;
  47. my $unpack_data;
  48. my $crack = 0;
  49. while(read(FP, $buffer, 1024)) {
  50. $unpack_data = unpack('H*', $buffer);
  51. if ($unpack_data =~ m/785782391ad0b9169f17415dd35f002790175204e3aa65ea10cff20818/) {
  52. $crack = 1;
  53. last;
  54. }
  55. if ($unpack_data =~ s/6e533e406a45f0b6372f3ea10717000c7120127cd915cef8ed1a3f2c5b/785782391ad0b9169f17415dd35f002790175204e3aa65ea10cff20818/ ){
  56. $buffer = pack('H*', $unpack_data);
  57. $crack = 2;
  58. }
  59. syswrite(TMPFP, $buffer, length($buffer));
  60. }
  61. close(FP);
  62. close(TMPFP);
  63. if ($crack == 1) {
  64. unlink '/tmp/.securecrt.tmp' or die "can not delete files $!";
  65. print "It has been cracked\n";
  66. &license;
  67. exit 1;
  68. } elsif ($crack == 2) {
  69. move '/tmp/.securecrt.tmp', $file or die 'Insufficient privileges, please switch the root account.';
  70. chmod 0755, $file or die 'Insufficient privileges, please switch the root account.';
  71. print "crack successful\n";
  72. &license;
  73. } else {
  74. die 'error';
  75. }
文档更新时间: 2018-12-26 11:57   作者:张尚