• ida sdk add_struc_member array


      tid_t tid = get_struc_id ( "foo_type" ) ;
      struc_t * sptr = get_struc ( tid );
      
      if ( sptr == NULL )
      {
        tid = add_struc ( BADNODE,    "foo_type" ) ;
        sptr = get_struc ( tid );
        
        if ( sptr == NULL )
          return;
          
        add_struc_member ( sptr, "memb0", 0, dwrdflag(), NULL, 4 );
        add_struc_member ( sptr, "memb4", 4, dwrdflag(), NULL, 4 );
        add_struc_member ( sptr, "membC", 12, dwrdflag(), NULL, 4 );
        tid = get_struc_id ( "bar_type" ) ;
        sptr = get_struc ( tid );
        
        if ( sptr == NULL )
        {
          tid = add_struc ( BADNODE,    "bar_type" ) ;
          sptr = get_struc ( tid );
          
          if ( sptr == NULL )
            return;
            
          typeinfo_t mt;
          mt.tid = get_struc_id ( "foo_type" ) ;
          add_struc_member ( sptr, "memb0", 0, dwrdflag(), NULL, 4 );
          add_struc_member ( sptr, "memb1", 4, struflag(), &mt,
                             get_struc_size ( mt.tid ) * 4 );
          add_struc_member ( sptr, "memb2", -1, dwrdflag(), NULL, 4 );
        }
      }

  • 相关阅读:
    JVM和HotSpot
    java中的四种引用类型
    垃圾回收与算法
    Full GC
    JVM内存结构
    事务不同的隔离级别实现原理
    事务的隔离级别
    jQuery后续和 前端框架Bootstrap
    jQuery
    BOM和DOM操作
  • 原文地址:https://www.cnblogs.com/shangdawei/p/3379857.html
Copyright © 2020-2023  润新知