python 整理OTP数据(二)

上一篇博客中,虽然初步实现了想法,但仍缺少扩展。

0,提供文件名输入的接口,也加一下。

1,提供接口,让人输入lsc group的地址,包括valid_flag, start_addr, end_addr, checksum_addr。

2,进行valid_flag, checksum的校验。

3,将输出结果对齐,并写入文本记录,方便下次查看。

4,异常处理,也没有。

晚上搞出新代码,加油。

麻蛋,一忙起来就是两周。。累死了。。。


# -*- coding: UTF-8 -*-
import unittest
print "scs_debug_ver2.0"


def valid_flag(flag_data, valid_data=0x55):
    if(flag_data == valid_data):
        print "valid group"
        return True
    else:
        print "group invalid"
        return False


def valid_checksum(reg_data, ):
    return True


def do_format_lsc_data(file_name):
  try:
    with open(file_name,'r') as f_read,open("test.log",'w+') as f_write:
        i = 0
        count = 0
        couple = 0
        temp = 0x00
        data = 0
        line = []
        sort_data = []
        for line in f_read:
            i = i+1
            if(i == lsc_flag_addr):  #58
                line_data = int((line.strip().split())[0],16)
                Flag_check = valid_flag(line_data)
            if(i > (vdata_start_addr - 1) and i < (vdata_end_addr +1)):
                line_data = int((line.strip().split())[0],16)
                couple = couple + 1
                if( couple > 442):
                    couple = 1
                    print " \n"
                    f_write.write('\n')
                if ( 0 == couple % 2):
                    data = temp + (line_data << 8)
                    sort_data.append(data)
                    count = count + 1
                    if ( 0 == count % 17):
                        print sort_data
                        cc = ".00f  ".join([ str(scs_i) for scs_i in sort_data ])
                        f_write.write(cc+'.00f\n')
                        sort_data = []
                else:
                    temp = line_data
  except IOError as err:
    print('file_error:' + str(err))


def format_lsc_data():
    file_name = raw_input("文件拖进来 \n")
    if( file_name is "" ):
        file_name = 'hi556_kingcome_kbuffer_dump'
    do_format_lsc_data(file_name)




lsc_group_flag = 0x55
lsc_group_sel = 0x00
vdata_offset_addr = 0x401 - 4
vdata_start_addr = 0x438 - vdata_offset_addr
vdata_end_addr = 0x0b1F - vdata_offset_addr
lsc_flag_addr = 0x437 - vdata_offset_addr
check_sum_addr = 0x0b20- vdata_offset_addr
format_lsc_data()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值