나는 더 큰 프로그램에서 사용할 수 있도록 일부 Perl 코드를 해독하여 C# 코드로 변환하려고 최선을 다하고있다. 나는 그것의 대부분은 변환 얻을 수있었습니다 만, 다음의 방법에 문제가 오전 : 나는이 부분을 제외하고 그것의 대부분을 이해Obserfucated Perl method 이해하는데 문제가있다.
$sid = 0;
$rand = pack("H*", 'feedfacedeadbeef1111222233334444');
$skey = dynk($rand, $sid, 2, 3)^dynk(substr($dbuf, 0, 16), $sid, -1, -4);
: 그것은 같은이라고
sub dynk {
my ($t, $s, $v, $r) = (unpack("b*", $_[0]), unpack("b*", pack("v",$_[1])));
$v^=$t=substr($t,$r=$_*$_[($_[1]>>$_-1&1)+2]).substr($t,0,$r)^$s for (1..16);
pack("b*", $v);
}
를 :
$_*$_[($_[1]>>$_-1&1)+2]
어떻게하면 $ _이 (가) 해당 컨텍스트에서 사용되는지 모르겠습니다. 누군가가 그것을 설명 할 수 있다면, 나는 나머지를 얻을 수 있다고 생각합니다.
해야 할 일에 대한 세부 정보를 추가하십시오. –
http://perldoc.perl.org/functions/unpack.html 같은 사이트에서 다른 함수와 메소드에 대한 더 많은 문서를 찾을 수있을 것입니다. 필자는 perl을 약간 알고 있지만 솔직히 저의 지식으로 변환 할 수는 없습니다. –