Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]6701[/thread]

unleserlichen code erzeugen



<< >> 10 Einträge, 1 Seite
ppm1
 2005-02-13 23:28
#51671 #51671
User since
2003-09-14
142 Artikel
BenutzerIn
[default_avatar]
HAllo

Ich versuche meine Skripte so zu verändern, dass sie unleserlich sind.

Ich benutzte Windows und einen Apache-Webserver.



Ich habe es schon versucht mit:
Acme::Bleach
Acme::Pony
...

Aber es kommt immer eine Fehlermeldung, wie z.B.

Quote
[Sun Feb 13 22:18:29 2005] [error] -832241: ModPerl::Registry: Unknown error\nCompilation failed in require at (eval 187) line 7.\nBEGIN failed--compilation aborted at (eval 187) line 7.\n
[Sun Feb 13 22:18:29 2005] [error] [client 127.0.0.1] malformed header from script. Bad header=Can't open '-e': index.pl



KAnn einer von euch mir ein Modul nennen, mit dem ich etwas in dieser Art machen kann, welches auch funktioniert?
renee
 2005-02-13 23:31
#51672 #51672
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wo hast Du denn das Flag -e gesetzt??
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Crian
 2005-02-14 14:57
#51673 #51673
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Das sieht nach einem Fehler in Zeile 7 aus...
zeig mal ein bischen Code.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
esskar
 2005-02-14 16:40
#51674 #51674
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
läuft es denn in einer nicht webserver umgebung?
Dubu
 2005-02-15 10:14
#51675 #51675
User since
2003-08-04
2145 Artikel
ModeratorIn + EditorIn

user image
Ich lasse mich gerne vom Gegenteil ueberzeugen, aber ich vermute mal, dass solche Module nicht unter mod_perl funktionieren. Und aus der Fehlermeldung ist ersichtlich, dass mod_perl benutzt wird.

mod_perl fuehrt ja den Code nicht als eigenstaendiges Programm aus, sondern laedt ihn als Subroutine. Module, die vor dem Ausfuehren den Quellcode des Programms laden und filtern, duerften dabei vor die Wand laufen. Die Fehlermeldung deutet auch darauf hin, dass versucht wurde, auf $0 zuzugreifen, dort aber nur '-e' drin stand. Das kommt dann vor, wenn man perl direkt den Quellcode uebergibt:
Code: (dl )
1
2
$ perl -le 'print $0'
-e

Ich kenne mich mit der Funktion von mod_perl nicht so aus, vermute aber, dass es da einen Zusammenhang gibt.
Taulmarill
 2005-02-15 13:01
#51676 #51676
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
mod_perl übergibt offensichtlich nicht die lage der quellcode-datei an den interpreter sondern den quellcode selbst.
$0 bzw. das filehandle 0 welches bei den Acme sourcefiltern benutzt wird, setzt aber die existenz einer realen datei voraus. die existiert wohl auch, deren position ist aber durch mod_perl verloren gegangen.
mit normalen cgi scripten sollte das aber funktionieren.

p.s. perl liefert dir aber auch ne menge möglichkeiten um deine programme so zu schreiben, dass sie keiner mehr lesen kann. Acme::Bleach is da noch verhältnissmässig einfach wieder rückgängig zu machen.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Relais
 2005-02-15 13:25
#51677 #51677
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=ppm1,13.02.2005, 22:28]Ich versuche meine Skripte so zu verändern, dass sie unleserlich sind.[/quote]
Wie unleserlich? für Wen unleserlich? zu Welchem Zweck?
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming
ppm1
 2005-04-05 21:22
#51678 #51678
User since
2003-09-14
142 Artikel
BenutzerIn
[default_avatar]
Sorry das ich mich erst jetzt melde aber:


Unleserlich: Ich möchte sie am besten so verändern, dass sie nicht wieder rückgänig gemacht werden können, da ich den Code an Leute geben will, aber die ihn nur ne Woche ausführen lassen sollen.


Was liefert denn Perl direkt für Möglichkeiten um es unleserlich zu machen?
Ronnie
 2005-04-05 22:50
#51679 #51679
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Schau dir mal Acme::Eyedrop an: http://search.cpan.org/dist/Acme-EyeDrops/lib/Acme/EyeDrops.pm - leider besteht ja (noch) nicht die Möglichkeit in solchen Fällen Bytecode abzuliefern wie z.B. bei Python.
Taulmarill
 2005-04-06 12:18
#51680 #51680
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
Quote
leider besteht ja (noch) nicht die Möglichkeit in solchen Fällen Bytecode abzuliefern wie z.B. bei Python.

wieso soll man ein script nicht als bytecode ausliefern können? siehe B::Bytecode
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
<< >> 10 Einträge, 1 Seite



View all threads created 2005-02-13 23:28.