首页
社区
课程
招聘
[原创]fmifs.dll导出函数参数分析和整理
发表于: 2013-7-18 12:36 15945

[原创]fmifs.dll导出函数参数分析和整理

2013-7-18 12:36
15945

(大牛飘过吧!~)
    很久以前,发现一本叫逆向工程解密的书,当时,对于只会看MSDN的我和小伙伴们都惊呆了!居然可以通过逆向,分析出未文档化函数的接口参数,加以利用。果断瞧瞧,学习一把。后来我们碰到未文档化的函数时,我们都懂的……
    
    上次发现fmifs.dll以及该动态链接库的导出函数,并且未文档化,我们也来分析一下。(大神曰:此dll功能强大!)转入正题……
    
分析未文档化函数的使用:
一般途径:
    1、能找到一个系统中的调用例子,进行分析,这样可以看到该函数的参数具体形式(如SHFormatDrive中调用了FormatEx);
    2、没有调用例子,通过分析该函数的代码,找出函数各个参数的使用限制,猜测参数的具体形式;
快捷途径:
    1、搜索引擎,瞧瞧,有没有研究过,有直接拿过来就行;
    2、某年某月,windows流出了古老的代码,过去翻翻,看有用得着的东西没有(这个的确快捷好用,别说,以前真不知道,那码怎么用,看哪里……);

走一般途径,各种锻炼;走快捷途径,各种速度;各种通吃也行,看你想要啥?……
    
该DLL共导出17个函数(应该说是16个,有一个初始化的fmifs的是DLLEntryPoint),从函数名可以看出,大致分为三类:查询xxx函数,设置xxx函数,具体操作xxx函数。
    
各种函数传参和返回时:
传入信息时,可以是字符串,或者各种标志信息标志信息中,可能一个DWORD只表示一种状态(如:enum 类型),也可能一个DWORD包含多种信息(如:CreateFile,中各种 标志1|标志2),就看这个DWORD是否涉及位运算;
返回信息时,一般是传入一个地址,然后通过指针往一个地址写东西,通过写的长度,可以判断这个指针所指缓冲区的大小。

分析时碰到的实例:
实例一:

char __stdcall QueryAvailableFileSystemFormat(unsigned int a1, void *a2, int a3, int a4, int a5)
{
    memcpy(a2, (char *)&dword_696D5008 + 22 * a1, 2 * wcslen((const wchar_t *)&dword_696D5008 + 11 * a1) + 2);
    *(_BYTE *)a3 = byte_696D501A[v6];
    *(_BYTE *)a4 = byte_696D501B[v6];
    *(_BYTE *)a5 = byte_696D501C[v6];
}
char __stdcall QueryDeviceInformation(int a1, int a2, unsigned int a3)
{
  ……
  if ( (unsigned __int8)WSTRING__Initialize(&v6, a1, -1)&& ……)
  {
    ……
     *(_DWORD *)a2 = -(v8 != 0) & 0x10 | -(v9 != 0) & 0x41 | -((_BYTE)v10 != 0) & 0x20 | -(BYTE1(v10) != 0) & 0x40;
    
  }
  ……
}

[峰会]看雪.第八届安全开发者峰会10月23日上海龙之梦大酒店举办!

收藏
免费 5
支持
分享
最新回复 (13)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
还是没有看懂。
2013-7-18 13:24
0
雪    币: 680
活跃值: (68)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
3
汇编语言,因为不生动活泼,所以对其感兴趣的人都是一些寂寞的人。
2013-7-18 15:16
0
雪    币: 627
活跃值: (663)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
4
1、搜索引擎,瞧瞧,有没有研究过,有直接拿过来就行;


fmifs.h
  Link1: Copyright (c) 1992 Microsoft Corporation
  Link2: Copyright (c) 1998 Mark Russinovich

  例子Pete's Blog: Chkdskx and Formatx by Mark Russinovich

DUMPBIN /EXPORTS \WINDOWS\system32\fmifs.dll   5.1.2600.0 (xpclient.010817-1148)

  Section contains the following exports for FMIFS.dll

           0 characteristics
    3B7D77D8 time date stamp Sat Aug 18 04:00:24 2001
        0.00 version
           1 ordinal base
          17 number of functions
          17 number of names

    ordinal hint RVA      name

          1    0 00002D0B Chkdsk
          2    1 00002F3F ChkdskEx
          3    2 000016C6 ComputeFmMediaType
          4    3 00002B49 DiskCopy
          5    4 00002498 EnableVolumeCompression
          6    5 0000346B Extend
          7    6 00001A24 Format
          9    7 00001D8E FormatEx
          8    8 00002102 FormatEx2
         10    9 00002CB9 InitializeFmIfs
         11    A 000025DD QueryAvailableFileSystemFormat
         12    B 000028C6 QueryDeviceInformation
         13    C 0000298D QueryDeviceInformationByHandle
         14    D 00002658 QueryFileSystemName
         15    E 0000285D QueryLatestFileSystemVersion
         16    F 000024F3 QuerySupportedMedia
         17   10 000029C3 SetLabel

Link2全一些,供参考。都没有FormatEx2QueryDeviceInformationByHandle(楼主补上了),干得不错,支持
2013-7-18 16:40
0
雪    币: 219
活跃值: (753)
能力值: (RANK:290 )
在线值:
发帖
回帖
粉丝
5
吃定 这篇帖子了~ 顶
2013-7-18 17:53
0
雪    币: 27
活跃值: (122)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
6
fmifs.dll这个文件,例如有什么用?
2013-7-18 20:16
0
雪    币: 328
活跃值: (154)
能力值: ( LV12,RANK:310 )
在线值:
发帖
回帖
粉丝
7
磁盘格式化,检查磁盘错误,查询文件系统信息等等。……(看函数名猜的
2013-7-18 21:02
0
雪    币: 244
活跃值: (63)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
文件系统.好高深的东西说
2013-7-19 21:10
0
雪    币: 437
活跃值: (78)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
好文章,标记
2013-7-22 10:30
0
雪    币: 822
活跃值: (279)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
mark一下
2013-7-26 02:10
0
雪    币: 119
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
我来mark 。。肿么投票啊。。。
2013-8-14 21:35
0
雪    币: 119
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
fmifs.dll导出函数参数分析和整理 mark
2013-8-14 21:37
0
雪    币: 81
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
mark  收藏
2013-8-14 21:52
0
雪    币: 4663
活跃值: (4087)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
太好了终于找到了
2018-7-22 20:05
0
游客
登录 | 注册 方可回帖
返回
//