如何查看LIB 文件的接口函数??
答案:2 悬赏:10 手机版
解决时间 2021-01-29 01:02
- 提问者网友:我是女神我骄傲
- 2021-01-28 03:52
如何查看LIB 文件的接口函数??
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-01-28 04:59
1、用VC带的工具 Depends
2、VC自带的dumpbin就可以
2、VC自带的dumpbin就可以
全部回答
- 1楼网友:街头电车
- 2021-01-28 05:55
lib就是obj文件打包起来的,可以用lib.exe解出来,下面是vc环境下的操作,其他环境,看命令行帮助就可以了。
lib /list xx.lib 列出lib里所有obj文件名,我这里如下
。。。。。很多省略
lib/err/err.obj
lib/dict/dictll.obj
lib/coredump/coredumpwin32.obj
lib/config/preference.obj
lib/config/configul.obj
找到你关注的obj,这里选择configul.obj,然后 lib /extract:lib/config/configul.obj xx.lib
解出configul.obj, 然后把obj拖入ida,我这里是ida5.5,在函数列表里找你要调用的函数,然后逆之
_config_getstring .text 00000068 00000039 r . . . b . .
_config_getbool .text 000000b8 00000039 r . . . b . .
_config_getlong .text 00000108 00000039 r . . . b . .
_config_getint64 .text 00000158 0000003d r . . . b . .
_config_gettristate .text 00000198 00000039 r . . . b . .
_config_getdouble .text 000001e8 00000041 r . . . b t .
_config_getpathname .text 00000288 00000039 r . . . b . .
_config_notset .text 000002c4 00000035 r . . . b . .
_config_getlongplain .text 000003b0 00000015 . . . . . . .
_panic undef 000003d0 00000004 r . . . . . .
_preference_getstring undef 000003d4 00000004 r . . . . . .
_str_vsnprintf undef 000003d8 00000004 r . . . . . .
_preference_getbool undef 000003dc 00000004 r . . . . . .
_preference_getlong undef 000003e0 00000004 r . . . . . .
_preference_getint64 undef 000003e4 00000004 r . . . . . .
_preference_gettristate undef 000003e8 00000004 r . . . . . .
_preference_getdouble undef 000003ec 00000004 r . . . . . .
_preference_getpathname undef 000003f4 00000004 r . . . . . .
_preference_notset undef 000003f8 00000004 r . . . . . .
我这里随便选择一个函数 _config_getstring,很小的函数,呵呵,方便说明
.text:00000068 _config_getstring proc near
.text:00000068
.text:00000068 var_400 = byte ptr -400h
.text:00000068 arg_0 = dword ptr 8
.text:00000068 arg_4 = dword ptr 0ch
.text:00000068 arg_8 = byte ptr 10h
.text:00000068
.text:00000068 push ebp
.text:00000069 mov ebp, esp
.text:0000006b mov ecx, [ebp+arg_4]
.text:0000006e sub esp, 400h
.text:00000074 lea eax, [ebp+arg_8]
.text:00000077 push eax
.text:00000078 push ecx
.text:00000079 lea edx, [ebp+var_400]
.text:0000007f push 400h
.text:00000084 push edx
.text:00000085 call _str_vsnprintf
.text:0000008a mov ecx, [ebp+arg_0]
.text:0000008d lea eax, [ebp+var_400]
.text:00000093 push eax
.text:00000094 push ecx
.text:00000095 call _preference_getstring
.text:0000009a add esp, 18h
.text:0000009d mov esp, ebp
.text:0000009f pop ebp
.text:000000a0 retn
.text:000000a0 _config_getstring endp
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯