无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3960|回复: 13
打印 上一主题 下一主题

关于WIM文件只读可写挂载.

[复制链接]
跳转到指定楼层
1#
发表于 2008-1-25 12:05:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
是不是可以修改WIMGAPI.DLL里面GetFileAttributesW的返回值,
应该有一个对比的过程,我想应该只需要修改一下这个对比的过程,是不是就可以实现只读属性可写挂载呢?
这个对比应该是用位的. 按位“与”, 按位“异”, 按位“或”其中一种,

论坛里有没有会汇编的,反编译修改下,感觉应该可行.
2#
发表于 2008-1-25 12:40:10 | 只看该作者
不用反汇编
叫123MM写个API HOOK就可以了

我看看有没调用这个API...

  1. 00884172   CALL DWORD PTR DS:[<&KERNEL32.GetFileAtt  kernel32.GetFileAttributesW
  2. 00884190   CALL DWORD PTR DS:[<&KERNEL32.SetFileAtt  kernel32.SetFileAttributesW
  3. 008841B5   CALL DWORD PTR DS:[<&KERNEL32.CreateFile  kernel32.CreateFileW
  4. 008841DE   CALL DWORD PTR DS:[<&KERNEL32.SetFileAtt  kernel32.SetFileAttributesW
复制代码


想像一下按这个顺序这个搭配会做什么工作...

[ 本帖最后由 neo4026 于 2008-1-25 12:43 PM 编辑 ]
回复

使用道具 举报

3#
发表于 2008-1-25 12:51:02 | 只看该作者
找到的相关汇编代码如下 劳烦兄弟们帮看看了
俺只能帮忙帮到这里

没搞错的话应该是选中那里

OD.JPG (91.73 KB, 下载次数: 34)

OD.JPG
回复

使用道具 举报

4#
 楼主| 发表于 2008-1-25 13:58:49 | 只看该作者
不懂汇编.
试下修改
CMP EAX,-1
修改后面的跳转
回复

使用道具 举报

5#
发表于 2008-1-25 15:05:32 | 只看该作者
关键是有谁搞出来了?
回复

使用道具 举报

6#
发表于 2008-1-25 15:44:21 | 只看该作者
MSDN上不去 baidu了下 说明如下:
原形 DWORD GetFileAttributes(
LPCTSTR lpFileName // address of the name of a file or directory
);
注明 function GetFileAttributesW(lpFileName: PWideChar): DWORD; stdcall;
功能 返回文件的属性
说明 FILE_ATTRIBUTE_ARCHIVE | 存档文件
FILE_ATTRIBUTE_COMPRESSED | 压缩文件
FILE_ATTRIBUTE_DIRECTORY | 目录
FILE_ATTRIBUTE_HIDDEN | 隐含文件
FILE_ATTRIBUTE_NORMAL | 正常文件
FILE_ATTRIBUTE_OFFLINE | 脱机文件
FILE_ATTRIBUTE_READONLY | 只读文件
FILE_ATTRIBUTE_SYSTEM | 系统文件
FILE_ATTRIBUTE_TEMPORARY | 临时文件
-1 | 不存在


所以-1只是判断文件是否存在 要判断是否能写 应该看返回值是否FILE_ATTRIBUTE_READONLY

问题是FILE_ATTRIBUTE_READONLY的值是多少?

找了下VB的API声明:
Const FILE_ATTRIBUTE_READONLY = &H1
&H1 = 0xh1 = 17.....


继续OllyDebug...

[ 本帖最后由 neo4026 于 2008-1-25 03:46 PM 编辑 ]
回复

使用道具 举报

7#
 楼主| 发表于 2008-1-25 15:51:44 | 只看该作者
好像&h1的是指十六进制1吧.
Public Const FILE_ATTRIBUTE_READONLY = &H1
Public Const FILE_ATTRIBUTE_HIDDEN = &H2
Public Const FILE_ATTRIBUTE_SYSTEM = &H4
Public Const FILE_ATTRIBUTE_DIRECTORY = &H10
Public Const FILE_ATTRIBUTE_ARCHIVE = &H20
Public Const FILE_ATTRIBUTE_NORMAL = &H80
Public Const FILE_ATTRIBUTE_TEMPORARY = &H100
Public Const FILE_ATTRIBUTE_COMPRESSED = &H800
回复

使用道具 举报

8#
发表于 2008-1-25 15:54:24 | 只看该作者
不行 调用GetFileAttributesW的地方太多了

To lxl1638 : 如果对只读文件强行可写加载返回的提示是?
回复

使用道具 举报

9#
 楼主| 发表于 2008-1-25 16:01:15 | 只看该作者
应该是返回False
回复

使用道具 举报

10#
发表于 2008-1-25 16:03:15 | 只看该作者
原帖由 chenall 于 2008-1-25 04:01 PM 发表
应该是返回False

寒一个 还以为返回的什么字符串就能用串式参考找到
回复

使用道具 举报

11#
发表于 2008-1-25 16:11:22 | 只看该作者
看看那个不用驱动就能解决的高人能不能出现
回复

使用道具 举报

12#
发表于 2008-1-25 16:46:32 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

13#
 楼主| 发表于 2008-1-25 21:15:44 | 只看该作者
我再来炒一炒,看有没有高手出现.....

可以试试imagex.exe程序这个不用wimgapi.dll支持的,如果这个可以改通过了,那就离成功不远了.
回复

使用道具 举报

14#
发表于 2008-1-25 21:35:32 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2025-2-25 21:09

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表