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

          主站蜘蛛池模板: 章丘市| 连云港市| 北票市| 木里| 壤塘县| 霸州市| 江津市| 四平市| 开封县| 犍为县| 资阳市| 施甸县| 深州市| 井冈山市| 天全县| 桂东县| 鄂州市| 凤台县| 绩溪县| 迁西县| 喀喇| 普格县| 淮北市| 延长县| 天门市| 灵丘县| 常德市| 武强县| 嘉鱼县| 仙游县| 开江县| 徐州市| 宁乡县| 岚皋县| 临漳县| 黑河市| 平湖市| 龙海市| 旌德县| 桃江县| 盐边县|