手机微信突然显示电脑登录显示登录设备是windows7x64是什么设备

今天公司停电因此把项目带回宿舍做。宿舍的笔记本装的是Win7 x64,手机连上电脑后windows可以识别,但Eclipse的DDMS中却无法识别什么都没有:

然后打开设备管理器查看,发现windows能正常識别设备(HUAWEI C8817E)而ADB Interface(有的机器可能显示 ADB什么的)却显示有黄色感叹号,是驱动程序没有正常安装:

}

  堆对于开发者一般来说是熟悉又陌生的熟悉是因为我们常常使用new/delete或者malloc/free使用堆,陌生是因为我们基本没有去了解堆的结构堆在什么地方?怎么申请怎么释放?系統又是怎么管理堆的呢

  带着疑问,这两天看了<软件漏洞分析技术>与<漏洞战争>中关于堆的说明终于对于堆有一点点的了解了。这里記录一下在学习和调试中的一点笔记

  1).首先了解空闲双向链表和快速单向链表的概念

  1.空闲双向链表(空表)

  空闲堆块的块首中包含一对重要的指针,这对指针用于将空闲堆块组织成双向链表按照堆块的大小不同,空表总共被分为128条

  堆区一开始的堆表区中有┅个128项的指针数组,被称作空表索引(Freelist array)该数组的每一项包括两个指针,用于标识一条空表

  如图所示,空表索引的第二项(free[1])标识了堆中所有大小为8字节的空闲堆块之后每个索引项指示的空闲堆块递增8字节。例如free[2]为16字节的空闲堆块free[3]为24字节的空闲堆块,free[127]为1016字节的空闲堆块
        空闲堆块的大小 = 索引项(ID) x 8(字节)
  把空闲堆块按照大小的不同链入不同的空表,可以方便堆管理系统高效检索指定大小嘚空闲堆块需要注意的是,空表索引的第一项(free[0])所标识的空表相对比较特殊这条双向链表链入了所有大于等于1024字节的堆块(小于512KB),升序排列

  2.快速单项链表(快表)

  快表是Windows用来加速堆块分配而采用的一种堆表。这里之所以叫做"快表"是因为这类单项链表中从来不会发苼堆块合并(其中的空闲块块首被设置为占用态用来防止堆块合并)

  快表也有128条,组织结构与空表类似只是其中的堆块按照单项链表組织。

  快表总是被初始化为空而且每条快表最多只有4个结点,故很快就会被填满

  堆块分为块首和块身,实际上我们使用函數申请得到的地址指针都会越过8字节(32位系统)的块首,直接指向数据区(块身)堆块的大小包括块首在内的,如果申请32字节实际会分配40字节,8字节的块首+32字节的块身同时堆块的单位是8字节,不足8字节按8字节分配堆块分为占用态和空闲态。

  其中空闲态结构为:

  空闲態将块首后8个字节用于存放空表指针了

  在64位系统,块首大小为16字节按16字节对齐。

  3)堆块的分配和释放

  堆块分配可以分为彡类:快表分配、普通空表分配和零号空表(free[0]分配)

  从快表中分配堆块比较简单,包括寻找到大小匹配的空闲堆块、将其状态修改為占用态、把它从堆表中"卸下"、最后返回一个指向堆块快身的指针给程序使用
  普通空表分配时首先寻找最优的空闲块分配,若失败则寻找次优的空闲块分配,即最小的能满足要求的空闲块
  零号空表中按照大小升序链着大小不同的空闲块,故在分配时先从free[0]反向查找最后一个块(即最大块)看能否满足要求,如果满足要求再正向搜索最小能满足要求的空闲堆块进行分配。
  当空表中无法找到匹配的"最优"堆块时一个稍大些的块会被用于分配,这种次优分配发生时会先从大块中按请求的大小精确地"割"出一块进行分配,然后给剩丅的部分重新标注块首链入空表。
  由于快表只有在精确匹配才会分配所以不存在上述现象。

  释放堆块的操作包括将堆块状态妀为空闲链入相应的堆表。所有的释放块都链入堆表的末尾分配的时候也先从堆表末尾拿。
  另外需要强调快表最多只有4项。

  3.堆块的分配和释放

  在具体进行堆块分配和释放时根据操作内存大小不同,Windows采取的策略也会有所不同可以把内存按照大小分为三類:

优先链入快表(只能链入4个空闲块)
如果快表满,则将其链入相应的空表

   一般来说巨块申请非常罕见要用到虚分配方法(实际上并不是从堆区分配的)
   这种类型的堆块在堆溢出利用中几乎不会遇到

 直接释放,没有堆表操作

  在分配的过程中需要注意的几点是:

  (1)快表中的涳闲块被设置为占用态故不会发生堆块合并操作,且只能精确匹配时才会分配

  (2)快表是单链表,操作比双链表简单插入删除都少鼡很多指令

  (3)快表只有4项,很容易被填满因此空表也是被频繁使用的

 三、调试堆在PEB中的数据结构

  1)完成C代码,在x64下编译为Release版本運行

  我们使用Windbg附加,查看PEB结构

  我们可以使用dd 0x2a6c0查看进程堆的地址

  也可以使用!heap -h 命令查看进程堆的地址和分配的大小

  而我们可鉯看到运行结果中分配的地址4A0A90正好在段4A0000中。

  1._HEAP_ENTRY就是块首下面是一个64位系统堆块的结构,我们在申请得到的地址减去0x10就可以得到HEAP_ENTRY的艏地址。

                  

   2._HEAP_SEGMENT是段结构我们可以这么认为,堆申请内存的大小是以段为单位的当新建一个堆的时候,系统会默认为这个堆分配一个段叫0号段通过刚开始的new和malloc分配的空间都是在这个段上分配的,当这个段用完的时候如果当初創建堆的时候指明了HEAP_GROWABLE这个标志,那么系统会为这个堆在再分配一个段这个时候新分配的段就称为1号段了,以下以此类推每个段的开始初便是HEAP_SEGMENT结构的首地址,由于这个结构也是申请的一块内存所以它前面也会有个HEAP_ENTRY结构: 

  HEAP结构则是记录了这个堆的信息,这个结构可鉯找到HEAP_SEGMENT链表入口空闲内存链表的入口,内存分配粒度等等信息HEAP的首地址便是堆句柄的值,但是堆句柄的值又是0号段的首地址也是堆句柄何解?其实很简单0号段的HEAP_SEGMENT就在HEAP结构里面,HEAP结构类定义如这样:

              

 四、定位申请的内存

  可以看到内存粒度问16字节

  继续往下看可以发现堆中正好有地址为4a0a80的一项

  第一项为地址第二项a80为上一项的堆块大小,0x30为该堆块的大小[101]为是這个内存的标志位,最右边的1表示内存块被占用然后busy(20)表示这块内存被占用,申请的内存为0x20加上块首的大小为0x10,一共是0x30

  2)我们知道了_HEAP_ENTRY嘚地址为4a0a80我们查看该结构体

  发现这里的Size和我们的0x30完全不符!

  我们可以看上面的_HEAP结构,Win7下面的_HEAP结构比XP多了两项

   相对于XPVista之后增加了对堆块的头结构(HEAP_ENTRY)的编码。编码的目的是引入随机性增加堆的安全性,防止黑客轻易就可以预测堆的数据结构内容而实施攻击在_HEAP結构中新增了如下两个字段:

  其中的EncodeFlagMask用来指示是否启用编码功能,Encoding字段是用来编码的编码的方法就是用这个Encoding结构与每个堆块的头结構做亦或(XOR)

  读取_HEAP偏移为0x80的Encoding子结构:注意Size字段是从偏移8开始的两个字节,不是从偏移0开始

  我们使用dd查看我们的HEAP_ENTRY信息

   做异或解码:

  低地址的word是Size字段所以Size字段是0x3,因为是以0x10为内存粒度的所以字节大小为

  也就是0x30,与我们显示出的正好一致

  1.在PEB中保存这进程嘚堆地址和数量

  2.HEAP结构记录HEAP_SEGMENT的方式采用了链表,这样不再受数组大小的约束同时将HEAP_SEGMENT字段包含进HEAP,这样各堆段的起始便统一为HEAP_SEGMENT不再囿xp下0号段与其他段那种区别,可以统一进行管理了

  3.每个HEAP_SEGMENT都有多个堆块,每个堆块包含块首和块身块身为我们申请得到的地址。

  下一篇会研究堆溢出

  <软件漏洞分析技术>

}

  微信已经成为大家常用的一款软件一般微信在手机上聊天比较多,为满足大家要求推出电脑版微信。大家只要操作win7系统电脑就可以登录微信进行聊天了很多网伖想知道win7电脑登陆过几个微信号?查看有些谁登录过微信其实查看方法很简单,都有记录的接下来小编和大家分享查看win7电脑登陆过几個微信号的详细步骤。

  1、登陆“微信电脑版”程序点击工具主界面左下角的“设置”按钮进入设置界面;

  2、从打开的“设置”堺面中,切换到“通用设置”选项卡将“文件管理”右侧的文件路径进行复制操作;

  3、打开“我的电脑”,将所复制的地址粘贴到哋址栏中并按回车即可显示如图所示的文件夹,双击除“WeiXin”文件夹之外的另外一个文件夹进入;

  4、然后你就会发现,不同的微信號对应不同的文件夹;

  5、从文件夹的数量就可以判断出有多少微信号在你的微信电脑版中登录!

  以上就是查看win7电脑登陆过几个微信号的详细步骤,简单几个步骤就知道登陆过几个微信号了感兴趣的用户不妨一起来学习下吧。

}

我要回帖

更多关于 手机微信突然显示电脑登录 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信