C++ 各种操作

1. 文件读写

 fseek(fp, Elf32SectionHeader.sh_offset, SEEK_SET);
    fread(lpStringTable, Elf32SectionHeader.sh_size, 1, fp);
    fseek(fp, Elf32Header.e_shoff, SEEK_SET);

2. 字符数组

unsigned char data[1] = {0x01}
unsigned  off;
st_st32(&off, sizeof(data));



    unsigned char data[24] = {
        0xC0, 0x46, 0xFF, 0xB5, 0x79, 0x46, 0x14, 0x39, 0x0A, 0x1C, 0x13, 0x68,
        0xD5, 0x1A, 0x04, 0x3A, 0x16, 0x68, 0x76, 0x19, 0x01, 0x3E, 0xB7, 0x46
    };
    
    upx_byte *p = getLoader();
    lsize = getLoaderSize();
    unsigned raw_lsize = lsize;
    lsize = lsize + sizeof(data) + 8;
    updateLoader(fo);
    patchLoaderChecksum();
    printf("----- print hex loader  --------");
    for (int i = 0; i < lsize; i++) {
        if(i%16 == 0) {
       printf(" \n");
    }
    printf(" %02x", p[i]);
    }
    //hex_print(p, lsize);
    printf("----- loader size : %d , raw_size: %d \n,", lsize, raw_lsize);
    fo->write(p, raw_lsize);
    
    unsigned lwrite;
    set_te32(&lwrite, loader_off);
    fo->write(&lwrite, sizeof(lwrite));
    
    unsigned cur_off = fo->st_size();
    unsigned cur;
    set_te32(&cur, cur_off);
    fo->write(&cur, sizeof(cur));
    cur_off = fo->st_size();
    printf("cur_off : %d, fo->size : %d \n", cur, cur_off);
    entry_off = fo->st_size();

    fo->write(data, sizeof(data));
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 写在前面弄了下个人站...防止内容再次被锁定...所有东西都在这里面welcome~个人博客 所有方法 都很简单,...
    gwk_iOS阅读 1,803评论 0 4
  • CSDN博客 img z702143700 C#各种配置文件使用,操作方法总结 发表于2015/5/22 10:1...
    北风知我意阅读 5,047评论 0 0
  • 归去 看得见你温柔的笑脸 看不见你悲伤的哭泣 听得见世间的纷繁 听不见生命的哀叹 冬天已然来临 黄叶就要落尽 尘世...
    玉生烟阅读 198评论 0 2
  • 12月28日,微信发布了最新的6.6.1版本,这个版本加入了很多H5游戏开发者期待已久的小游戏功能。该功能的...
    肆野与湫阅读 726评论 0 1
  • (其一) 清风拂柳蝉欲静, 月上山头哪堪行。 借问此身归何处? 纷纷扰扰尘世中。 (其二) 梧桐叶落天转凉, 日影...
    四合道人阅读 415评论 7 4