2016-07-26 13 views

Trả lời

10

Sử dụng tốt bitwise string XOR operator^.

']])@+}'^'-/@._]' 

đánh giá để print,

'/<[*-_<+>?}{>]@}[email protected]}]])@+}@<[*-_<+>?}{>]@^' 
    ^'`^=_^<]_[[]+[/,]_/]-/@._]/^=_^<]_[[]+[/,|' 

đánh giá để Obfuscated Perl to print obfuscated Perl" và toàn bộ chương trình giảm đến

$ perl -MO=Deparse ... 
'' =~ m[(?{print "Obfuscated Perl to print obfuscated Perl",$/})]; 
... syntax OK 

liên quan: Acme::EyeDrops

+0

tôi vẫn didnt nhận được cách thức hoạt động :(nó sẽ rất tuyệt nếu bạn thêm giải thích chi tiết cho '']]) @ +}'^'-/@ ._]' ' – Umair

+0

Theo liên kết. Giá trị thứ tự của mỗi ký tự trong chuỗi đầu tiên là XOR'd với giá trị thứ tự của ký tự tương ứng trong chuỗi thứ hai và được chuyển đổi trở lại thành một ký tự. 'ord ("] ")' là 93, 'ord (" - ")' là 45, 93 xor 45 là 112. 'chr (112)' là 'p' – mob

+1

Lưu ý rằng bạn cần' sử dụng lại 'eval'; 'với 5.24 trở lên. –

Các vấn đề liên quan