设为首页收藏本站喵玉殿官方微博

 找回密码
 少女注册中
搜索
查看: 7895|回复: 3

[编程算法] 挫= =

[复制链接]
发表于 2010-12-14 20:55:18 | 显示全部楼层 |阅读模式
本帖最后由 十二 于 2010-12-14 21:01 编辑

事先声明很挫很挫  - =    能无视就无视吧,能飘过就飘过。

OD = = F3 载入 WinMend Folder Hidden

Ctrl+N 查看程序的输入表 给CreateDirectoryW下断点,至于为什么给他下断点,因为我跟过(MS这理由不成立)   = =   总之就是根据CreateFile跟出来的如果你想少安装两次程序就对CreateDirectoryW下断把 = =

F9运行,能看到有一处异常POP ESI。估计是有SEH暗桩,不用理他继续F9运行直到程序被断下。

断在了kernel32.dll中 看堆栈。

0012FA18   0040C4B2  /CALL 到 CreateDirectoryW 来自 FolderHi.0040C4AD
0012FA1C   01A327FC  |Path = \\?\C:\Recycler\S-1-5-21-842925246-2025429265-682008880-1013\com4\hidefiles\WinMend-Folder-Hidden
0012FA20   00000000  \pSecurity = NULL
0012FA24   0123F001
0012FA28   0040BF2A  返回到 FolderHi.0040BF2A 来自 FolderHi.0040C4A0
0012FA2C   0012FA54  指向下一个 SEH 记录的指针
0012FA30   0040BF4F  SE处理程序

双击/CALL 到 CreateDirectoryW 来自 FolderHi.0040C4AD,回到0040C4AD处可以看到函数执行前的入栈以及一些赋值状况。

CreateDirectoryW 有两个参数 Path、 pSecurity。 看也能看出来 Path 所指向的是一个目录。 百度上查得原型  CreateDirectoryW 创建一个新目录  Path 是新目录名 pSecurity是目录的安全特性。

再次F9可以看到堆栈中的   CreateDirectoryW  创建了一个名称为一堆H的文件夹。

再次F9 还是一样再里层又创建了一个一堆以H命名的文件夹。

F2取消这个断点然后F9运行。弹出一个对话框,似乎是让你输入密码的- = 这个程序是别人给我的似乎是忘记密码了然后。。。。。。。

回到OD给CreateFileW断点,为什么下这个断如果你不想跟踪消息然后一步一步走,就在CreateFileW断 - =

回到对话框,随便打入一个密码然后确定。OD帮我们断下来,看堆栈。

0012F6A4   004C90EA  /CALL 到 CreateFileW 来自 FolderHi.004C90E5
0012F6A8   02A7428C  |FileName = \\?\C:\Recycler\S-1-5-21-842925246-2025429265-682008880-1013\com4\hidefiles\WinMend-Folder-Hidden\HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH\HH...
0012F6AC   C0000000  |Access = GENERIC_READ|GENERIC_WRITE
0012F6B0   00000000  |ShareMode = 0
0012F6B4   00000000  |pSecurity = NULL
0012F6B8   00000002  |Mode = CREATE_ALWAYS
0012F6BC   00000000  |Attributes = 0
0012F6C0   00000000  \hTemplateFile = NULL

在FileName 上右键数据窗口中跟随。往下拉

02A7455C  2E 00 2E 00 2E 00 5C 00 46 00 6F 00 6C 00 64 00  ...\Fold
02A7456C  65 00 72 00 5F 00 38 00 34 00 32 00 39 00 32 00  er_84292
02A7457C  35 00 32 00 34 00 36 00 5C 00 38 00 34 00 32 00  5246\842
02A7458C  39 00 32 00 35 00 32 00 34 00 36 00 2D 00 32 00  925246-2
02A7459C  30 00 32 00 35 00 34 00 32 00 39 00 32 00 36 00  02542926
02A745AC  35 00 2D 00 48 00 69 00 64 00 65 00 50 00 61 00  5-HidePa
02A745BC  73 00 73 00 77 00 6F 00 72 00 64 00 2E 00 69 00  ssword.i
02A745CC  6E 00 69 00 00 00                                ni.


可以看到一个以ini的文件。

F2取消断点,给WriteFile下断。F9运行,堆栈。

0012F61C   0040BD3D  /CALL 到 WriteFile 来自 FolderHi.0040BD38
0012F620   000004F0  |hFile = 000004F0
0012F624   012C4278  |Buffer = 012C4278
0012F628   00000031  |nBytesToWrite = 31 (49.)
0012F62C   0012F634  |pBytesWritten = 0012F634
0012F630   00000000  \pOverlapped = NULL

Alt+V-H查看句柄找到000004F0可以看到句柄名称为那一串路径

Alt+C回到CPU窗口右键Buffer = 012C4278数据窗口中跟随 ASCII中记录的正好有你打的明文密码。

接着F9看看还写了什么别的文件没有。还有写Desptop.ini不过似乎不重要。

隐藏文件的原理也很简单就是把文件放入CreateFileW所建的目录。

找到C:\Recycler\S-1-5-21-842925246-2025429265-682008880-1013\但是并不能看到com4文件夹。

回想WriteFile最后写入的文件Desptop.ini用cmd删除掉此文件正常显示com4但是到了第二层H。。。。目录无法进行继续访问。这是由于windows没办法处理260字节以上的目录名引起的BUG。

在此感谢火柴无限蓝

处理这种BUg非常简单就是缩短前目录的H。。。个数。 = =

到此就可以任意修改password为任意值了。

密码是明文的,程序没有加密算法,也没明显的anti。 如果有加密算法可以尝试跟踪WriteFile。或者在密码输入框跟踪消息。

很挫很挫,就当是那个OD教程的实例?
 楼主| 发表于 2010-12-14 20:57:17 | 显示全部楼层
此处提供WinMend-Folder-Hidden

点我下载
回复

使用道具 举报

发表于 2010-12-14 21:16:03 | 显示全部楼层
在技术群潜水很大壓力
回复

使用道具 举报

发表于 2010-12-15 17:26:08 | 显示全部楼层
12君V5其实某符昨天在群里已经看过一次了~特意来顶贴的
回复

使用道具 举报

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

本版积分规则

合作与事务联系|无图版|手机版|小黑屋|喵玉殿

GMT+8, 2025-10-31 06:39

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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