weidagang2046的專欄

          物格而后知致
          隨筆 - 8, 文章 - 409, 評論 - 101, 引用 - 0
          數據加載中……

          k1205 extractor

          $arg_num ? = ? @ARGV ;

          (
          $arg_num ? == ? 1 )? || ? die ( " usage:?perl?$0?[file]\n " );

          open (FH , ? $ARGV [ 0 ])? || ? die ( " Failed?to?open?$ARGV[0]\n " );

          $flag ? = ? 0 ;
          $begin_symbol ? = ? ' |HEX?|0?|1?|2?|3?|4?|5?|6?|7?|8?|9?|A?|B?|C?|D?|E?|F?| ' ;

          while ( $line ? = ? < FH > )
          {
          ????
          chop ( $line );
          ????
          if ( 1 ? != ? $flag ? || ? $line ? =~ ? /^\| 0 \ s{ 3 } \|/ )
          ????{
          ????????
          $flag ? = ? 1 ;
          ????????
          @bytes ? = ? split ( /\|/, ? $line );
          ????????
          for ( $i ? = ? 2 ;? $i ? < ? @bytes ;? $i ++ )
          ????????{
          ????????????
          push ( @data , ? $bytes [ $i ]);
          ????????}
          ????}
          }

          # print?join("?",?@data),?"\n";

          $beginOffset ? = ? 3 ;
          $group ? = ? 3 ;

          $group ? = ? 3 ? - ? $group ;

          $pattern1 ? = ? 0x1 ? << ?( 2 ? * ? $group );
          $pattern2 ? = ? 0x2 ? << ?( 2 ? * ? $group );

          $count ? = ? 0 ;

          for ( $i ? = ? $beginOffset ;? $i ? < ? @data ;? $i ? += ? 4 )
          {
          ????
          $num ? = ? 0 ;
          ????
          for ( $j ? = ? 0 ;? $j ? < ? 4 ;? $j ++ )
          ????{
          ????????
          $part [ $j ]? = ?(( hex ( $data [ $i + $j ])? & ?( 0x1 ? << ?( 2 ? * ? $group )))? >> ?( 2 ? * ? $group )? << ? 1 )? |
          ????????????????????((
          hex ( $data [ $i + $j ])? & ?( 0x2 ? << ?( 2 ? * ? $group )))? >> ?( 2 ? * ? $group )? >> ? 1 );
          ????????
          $num ? = ?( $num ? << ? 2 )? | ? $part [ $j ];
          ????}

          ????
          if ( $num ? < ? 16 )
          ????{
          ????????
          print ? " 0 " ;
          ????}
          ????
          printf ? " %x? " , ? $num ;
          ????
          if ( ++ $count ? % ? 16 ? == ? 0 )
          ????{
          ????????
          print ? " \n " ;
          ????}
          }

          close (FH);

          posted on 2006-04-30 16:19 weidagang2046 閱讀(268) 評論(0)  編輯  收藏 所屬分類: Perl

          主站蜘蛛池模板: 岳阳县| 拜泉县| 郎溪县| 尼木县| 新竹市| 宾川县| 广丰县| 福贡县| 梅河口市| 平乡县| 岑溪市| 香格里拉县| 肇庆市| 普安县| 桐城市| 金坛市| 阿鲁科尔沁旗| 马龙县| 聂拉木县| 彭阳县| 景东| 白朗县| 星子县| 盖州市| 延川县| 莒南县| 绥化市| 灵川县| 江都市| 方正县| 榕江县| 山西省| 柳林县| 沙坪坝区| 灵石县| 吴川市| 冕宁县| 广灵县| 金乡县| 营山县| 独山县|