首页
社区
课程
招聘
[求助]IDA逆向 unused问题
发表于: 2015-5-7 11:14 7386

[求助]IDA逆向 unused问题

2015-5-7 11:14
7386
大家好,请教一个问题。我在使用IDA逆向一个android工程时发现有函数被提示:unused,请问unused代表什么意思啊?
该函数在IDA里如下:
CODE:001B73F4                 .byte    7
CODE:001B73F5                 .byte    0
CODE:001B73F6                 .byte    1
CODE:001B73F7                 .byte    0
CODE:001B73F8                 .byte    2
CODE:001B73F9                 .byte    0
CODE:001B73FA                 .byte    2
CODE:001B73FB                 .byte    0
CODE:001B73FC                 .byte 0x75 # u
CODE:001B73FD                 .byte 0x65 # e
CODE:001B73FE                 .byte 0x64 # d
CODE:001B73FF                 .byte    0
CODE:001B7400                 .byte 0x2A # *
CODE:001B7401                 .byte    0
CODE:001B7402                 .byte    0
CODE:001B7403                 .byte    0
CODE:001B7404                 Method 7 (0x7):
CODE:001B7404                 public java.lang.String
CODE:001B7404                 a.a.a.bc()
CODE:001B7404 this = v6
CODE:001B7404                UNUSED
CODE:001B7406                 const/16                        v1, 0x20
CODE:001B740A                 new-array                       v0, v1, <t: char[]>
CODE:001B740E                 if-eqz                          v1, locret
CODE:001B7412 # try 0x1B7412-0x1B741E:
CODE:001B7412                 const-string                    v0, empty_str
CODE:001B7416                 nop
CODE:001B7418                 nop
CODE:001B741A                 nop
CODE:001B741C                 nop
CODE:001B741E                 nop
CODE:001B7420 # try 0x1B7420-0x1B742C:
CODE:001B7420                 nop
CODE:001B7422                 nop

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

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 480
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
大家帮忙看看呀
2015-5-7 11:34
0
雪    币: 999
活跃值: (274)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
清除android程序中的多余资源
2015-5-7 13:24
0
雪    币: 480
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢您的答复啊。我还不是很明白,有详细点的资料分享下吗?谢谢啦
2015-5-7 16:30
0
雪    币: 999
活跃值: (274)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
尽我所能  帮助你

rbbi.hbmBack = 0x5a053b7f {unused=??? }
------Solutions------
这是系统句柄定义的一个小技巧,用来解决编译和类型转换的问题。

句柄本身只是一个无意义的整数,多数情况下HANDLE被定义成void*,但某些句柄之间有逻辑上的类似“继承”的关系,比如GDI中的资源对象句柄,“基类”句柄就是HGDIOBJ,“派生类”句柄包括HBITMAP/HICON/HFONT/HPEN/HBRUSH等等,它们都是HGDIOBJ句柄。如果还是采用void*的方式定义,句柄之间是可以随意转换类型的,为了让编译器能阻止某些句柄的随意转换,部分句柄不再采用void*方式定义,而是使用结构体指针,结构的好处是能派生,编译器可以实现合法的类型转换,同时阻止不合法的类型转换。

怎么定义代表句柄的结构体呢?因为句柄本身还是一个无意义的整数值,所以在结构体中定义任何成员都是无意义的,但是为了占位,在结构体中使用了一个unused成员,其实就是告诉你这个成员也是不使用的,无意义的。但你调试的时候,调试器并不知道这个结构体指针是一个句柄,仅把它当做一个普通的结构体,所以会尝试显示unused成员,至于显示???是因为句柄(指针)是一个非法指针,比如0x00008000,调试器是不会读取任何非法指针指向的内存数据的,仅显示???。

你看看这个行不
2015-5-7 17:32
0
雪    币: 480
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢啦,我学习下。
2015-5-7 17:50
0
雪    币: 999
活跃值: (274)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
恩恩 祝你早日成为大牛
2015-5-7 17:54
0
游客
登录 | 注册 方可回帖
返回
//