hashcat中的一些写法

1.

for (mask_pos = 0, css_pos = 0; mask_pos < mask_len; mask_pos++, css_pos++)
  {

这里的mask是包含“?”这样的分隔符的,例如?l?a?b这样,

所以定义两个位置,一个mask_pos(代表未解码区的位置),一个css_pos(代表解码区的位置)。

2.

 chr |= (u32) hex_convert ((u8) p1) << 0;
 chr |= (u32) hex_convert ((u8) p0) << 4;

利用偏移来进行拼凑。

我之前研究的游戏代码里,也有异曲同工的一个写法。

例如“力量的数值”与“力量的经验值”,就算400力量,5000经验,例如400*1000 + 5000拼凑成400500,

用的时候再用除法分解开,400500/1000是力量,400500%1000是经验值。

3

猜你喜欢

转载自www.cnblogs.com/rachelint/p/9398449.html