小编Jus*_*iak的帖子

麻烦了解受阻的Perl方法

我正在尽力破译一些Perl代码并将其转换为C#代码,以便我可以将它与更大的程序一起使用.我已经能够将其中的大部分转换,但是使用以下方法时出现问题:

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);  
}
Run Code Online (Sandbox Code Playgroud)

它被称为:

$sid = 0;  
$rand = pack("H*", 'feedfacedeadbeef1111222233334444');  
$skey = dynk($rand, $sid, 2, 3) ^ dynk(substr($dbuf, 0, 16), $sid, -1, -4);
Run Code Online (Sandbox Code Playgroud)

除了这一部分,我理解其中的大部分内容:
$_*$_[($_[1]>>$_-1&1)+2]

我不确定在这种情况下如何使用$ _?如果有人可以解释,我想我可以得到其余的.

perl

3
推荐指数
1
解决办法
103
查看次数

标签 统计

perl ×1