首页
社区
课程
招聘
[求助]干了好多年逆向了,一直有个疑惑没有解决,看哪位大神能给个回答
发表于: 2020-4-30 18:20 5569

[求助]干了好多年逆向了,一直有个疑惑没有解决,看哪位大神能给个回答

2020-4-30 18:20
5569

据我所知c++ 字符串一般用 char* p char p[] 库的string Mfc的CString
但是我分析了很多端游他的字符串内存结构是这种:

 

63 63 63 63 63 63 00 00 00 00 00 00 00 00 00 00 cccccc.
06 00 00 00 0F 00 00 00 10 BC 4D 12 00 00 00 00 ......

 

63 就是c的ascii码
而第二行的06 就是字符串长度 0f 作为结束符

 

如果字符串长度超过16 那么此位置保存的是字符串的指针

 

这跟我所知的字符串形式的内存结构都不一样,请问这种类型对应在上层是哪种字符串类型??


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (16)
雪    币: 7065
活跃值: (3106)
能力值: ( LV4,RANK:52 )
在线值:
发帖
回帖
粉丝
2
std::string + 4
2020-4-30 18:33
0
雪    币: 2296
活跃值: (6668)
能力值: ( LV7,RANK:102 )
在线值:
发帖
回帖
粉丝
3
Union联合
2020-4-30 18:56
0
雪    币: 206
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
string是类..内存结构比这个复杂的多.因为他还有函数指针等等
2020-4-30 18:57
0
雪    币: 6552
活跃值: (4346)
能力值: ( LV10,RANK:163 )
在线值:
发帖
回帖
粉丝
5
std::string
debug string前面多4字节.
2020-4-30 20:23
0
雪    币: 181
活跃值: (621)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这就很牛皮了..干了好多年逆向都不会写代码去看看的吗...string的实现方式IDA里面就能看到,
2020-4-30 22:13
0
雪    币: 12848
活跃值: (9147)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
7

class vs_stdstring_t {
public:
       union {
               char strbuf[16];
               char *strptr;
       } _u;
       size_t _len;
       size_t _capacity;

       char *c_str()
       {
               if (_capacity >= sizeof(_u.strbuf)) {
                       return _u.strptr;
               }
               return _u.strbuf;
       }
}


顺便,干了好多年逆向都不知道这个,我有理由怀疑你所谓的逆向逆的是helloworld

最后于 2020-4-30 22:40 被hzqst编辑 ,原因:
2020-4-30 22:39
0
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
楼主没学c
用的易语言吧
2020-5-1 00:03
0
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
union的神奇之处相当于让两个或多个八杆子打不到一块的人瞬间穿一条裤子
2020-5-1 00:09
2
雪    币: 9034
活跃值: (6255)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
我看标题以为干了很多年的逆向弃坑要贡献点什么了呢
2020-5-1 01:05
0
雪    币: 1705
活跃值: (676)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
我以为大神要去叫鸡了,粉碎虚空踏入神仙境了,留下一地宝贝
2020-5-1 12:49
0
雪    币: 221
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
12
怎么联系你,一起探讨一下逆向问题
2020-5-4 12:25
0
雪    币: 259
活跃值: (283)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
666
2020-5-5 03:46
0
雪    币: 206
活跃值: (53)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14

string的

mfc的

肉眼可见结果都跟帖子的存放结构不一样,我是想,这么多端游都用自定义的存字符结构而且还都一样?这是巧合么?

放着现成的库不用自己去创造?不管台湾端游还是大陆端游。我怎么都觉得应该是对应着一个类型。

回复的union大神。您写程序的时候用字符串的时候会先封一个union再用么?然后还自己实现一套比对,剪切,复制

查找等等功能函数这不符合人性吧,我就是问下帖子的那种存放字符串的上层实现大家见过是哪个库。

论坛这是挂的什么风。。。讨论问题就是讨论问题没必要攻击人吧。。。我虽然不常来。。。

自己挖坑自己填

这种内存存放就是std:string的至于后面的0f 其实是扩容用的值

详见这篇帖子

https://www.52pojie.cn/thread-943314-1-1.html

最后于 2020-5-7 11:52 被summoner编辑 ,原因: 修改信息
2020-5-7 11:34
1
雪    币: 246
活跃值: (20)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
这个真看不懂,纯学习了,只会简单的爆破
2020-5-20 21:42
0
雪    币: 6172
活跃值: (4952)
能力值: ( LV10,RANK:160 )
在线值:
发帖
回帖
粉丝
17
mark
2020-7-4 02:37
0
游客
登录 | 注册 方可回帖
返回
//