找回密码
 注册
快捷导航
12
返回列表 发新帖
楼主: wuweicai

50元小礼物求帮忙原创个小软件(待解决中)

[复制链接] |自动提醒
阅读字号:

751

回帖

13

积分

1832

资产值

黄金会员 Rank: 3Rank: 3Rank: 3

注册时间
2004-4-23
发表于 2007-5-30 09:26:35| 字数 468| - 中国–陕西–西安 电信 | 显示全部楼层
QUOTE:
原帖由 nico 于 2007-5-20 11:23 发表
我的实现在一些程序上测试通过。 比如 notepad.exe, foobar. 但 TM 失败了...


今天偶然发现 detours 还有另一个程序 withdll.exe, 它和 setdll.exe 不同. setdll 修改了 exe 文件的 import table. 而 withdll 的做法是启动目标 exe, 挂起之, 然后注入 dll, 再让程序正常运行.

如果程序是靠检测 exe 自身的校验. 那么 withdll 的方法可能能逃过检测.

另外, 修改 import table 还导致其他的一些问题. 比如 TM 被修改之后, 启动时提示程序初始化错误.
使用 withdll 之后, TM能够正常启动, 而且实现了监视的功能.

使用 withdll.exe 来启动程序:
withdll /d:accessfile.dll yourprogram.exe

我重新打包了程序.

另外, 一直没有收到楼主的程序. 所以无法测试. 本来也将这个东东淡忘了. 但今天看 codeproject 上的一篇文章, 提到 detours 的 withdll, 用 TM 一试, 成功. 所以写了这个回复.

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 反对

使用道具 举报

2086

回帖

0

积分

2797

资产值

入门会员 Rank: 1

注册时间
2005-5-11
发表于 2007-5-30 10:19:27| 字数 38| - 中国–上海–上海 联通 | 显示全部楼层
用什么写的?一句两句说不清楚,还是把源代码发上来,看看50元的量能不能解决。
回复 支持 反对

使用道具 举报

751

回帖

13

积分

1832

资产值

黄金会员 Rank: 3Rank: 3Rank: 3

注册时间
2004-4-23
发表于 2007-5-30 10:52:33| 字数 2,264| - 中国–陕西–西安 电信 | 显示全部楼层
没贴代码是因为代码实在很简单. 从 detours 的例子改的.
  1. [font="Courier New"]#include <windows.h>
  2. #include "detours.h"

  3. /*
  4. cl /LD /nologo /Zi /MT /Gm- /W4 /WX /I../../include /O1 accessfile.cpp /link /incremental:no /release /subsystem:windows /entry:_DllMainCRTStartup@12 /export:CreateFileW_ ../../lib/detours.lib ../../lib/detours.lib user32.lib
  5. */
  6. static HANDLE (WINAPI *OriCreateFileW)
  7.     (LPCWSTR lpFileName,
  8.      DWORD dwDesiredAccess,
  9.      DWORD dwShareMode,
  10.      LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  11.      DWORD dwCreationDisposition,
  12.      DWORD dwFlagsAndAttributes,
  13.      HANDLE hTemplateFile) = CreateFileW;
  14. WCHAR lpwDocName[MAX_PATH] = {0};
  15. HANDLE WINAPI CreateFileW_
  16.     (LPCWSTR lpFileName,
  17.      DWORD dwDesiredAccess,
  18.      DWORD dwShareMode,
  19.      LPSECURITY_ATTRIBUTES lpSecurityAttributes,
  20.      DWORD dwCreationDisposition,
  21.      DWORD dwFlagsAndAttributes,
  22.      HANDLE hTemplateFile)
  23. {
  24.      if (wcslen(lpwDocName) && wcsstr(lpFileName, lpwDocName))
  25.   {
  26.    OutputDebugStringW(L"W: Got it!");
  27.    HWND hWnd = FindWindowW(0, L"AccessFileClient");
  28.    if (hWnd)
  29.     PostMessage(hWnd, WM_USER + 12345, 0, 0);
  30.   }
  31.   return OriCreateFileW(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile);
  32. }

  33. BOOL WINAPI DllMain(HINSTANCE hinst, DWORD dwReason, LPVOID reserved)
  34. {
  35.     LONG error;
  36.     (void)hinst;
  37.     (void)reserved;
  38.     if (dwReason == DLL_PROCESS_ATTACH) {
  39.         OutputDebugString("accessfile.dll: Starting.\n");
  40.         
  41.         GetPrivateProfileStringW(L"config", L"docname", 0, lpwDocName, MAX_PATH, L"c:\\accessfile.ini");
  42.   if (! wcslen(lpwDocName))
  43.    MessageBoxW(NULL, L"没有读取到文档名称.  文档名称应该保存在 c:\\accessfile.ini. 如下格式: \n\n[config]\ndocname=myfile.ext", L"AccessFile", 0);
  44.         DetourRestoreAfterWith();
  45.         DetourTransactionBegin();
  46.         DetourUpdateThread(GetCurrentThread());
  47.         DetourAttach(&(PVOID&)OriCreateFileW, CreateFileW_);
  48.         error = DetourTransactionCommit();
  49.         if (error == NO_ERROR) {
  50.             OutputDebugString("accessfile.dll: Detoured.\n");
  51.         }
  52.         else {
  53.             OutputDebugString("accessfile.dll: Error when detouring()\n");
  54.         }
  55.     }
  56.     else if (dwReason == DLL_PROCESS_DETACH) {
  57.         DetourTransactionBegin();
  58.         DetourUpdateThread(GetCurrentThread());
  59.         DetourDetach(&(PVOID&)OriCreateFileW, CreateFileW_);
  60.         error = DetourTransactionCommit();
  61.         OutputDebugString("accessfile.dll: Ending.\n");
  62.     }
  63.     return TRUE;
  64. }
  65. //
  66. ///////////////////////////////////////////////////////////////// End of File.[/font]
复制代码
回复 支持 反对

使用道具 举报

460

回帖

1

积分

895

资产值

初级会员 Rank: 1

注册时间
2005-8-2
发表于 2007-5-30 11:25:13| 字数 134| - 中国–陕西–西安 电信 | 显示全部楼层
看了下nico的代码,detour用起来倒是挺方便的,省去了修改函数调用跳转地址的麻烦。。不过,针对lz的需求,似乎hook ::ReadFile更合适些。
btw,既然lz知道有程序“偷”访问了某文件,而又无所作为,仅仅是关掉报警,那还不如别检测了,眼不见心不烦,呵呵。
T42 4WU PM1.7 512M 40G
回复 支持 反对

使用道具 举报

1009

回帖

12

积分

2048

资产值

禁止发言

注册时间
2006-1-12
发表于 2007-5-30 12:51:13| 字数 4| - 中国–浙江–杭州 电信 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

1万

回帖

115

积分

9万

资产值

至尊会员I Rank: 4Rank: 4Rank: 4Rank: 4

注册时间
2004-2-18
银牌荣誉勋章(注册10年以上会员)月全勤勋章银牌荣誉勋章(注册10年以上会员)铜牌荣誉勋章(注册8年以上会员)年全勤勋章2022年全勤勋章2023年全勤勋章2024
发表于 2007-5-30 13:45:32| 字数 21| - 中国–重庆–重庆 联通 | 显示全部楼层
看看,楼主的要求比较有意思

看来还是好银多哈
回复 支持 反对

使用道具 举报

1108

回帖

9

积分

2463

资产值

高级会员 Rank: 2Rank: 2

注册时间
2004-7-28
发表于 2007-5-31 08:28:29| 字数 141| - 中国–四川–绵阳 电信/长虹集团(电信出口) | 显示全部楼层
QUOTE:
原帖由 rainwin 于 2007-5-18 11:20 发表
虽然俺什么也不会。。。但说什么也要顶下。。
沙发。。。。。。。。。。。。。。。。。。。。。。



谢谢还记得我们哈

近半年来确实很忙。基本或很少时间来专门网了

楼主的要求不难,看完帖子已经有人做了,我就不参与了,若实在需要请留言
QQ:34538604
以平常心 做非常事
ThinkPad S220
Fujitsu U900
IBM X61T Core2/1.6/1024/120G/Tablet PC
IBM A30
IBM T23
回复 支持 反对

使用道具 举报

1108

回帖

9

积分

2463

资产值

高级会员 Rank: 2Rank: 2

注册时间
2004-7-28
发表于 2007-5-31 08:29:39| 字数 76| - 中国–四川–绵阳 电信/长虹集团(电信出口) | 显示全部楼层
QUOTE:
原帖由 汉唐 于 2007-5-18 15:47 发表
对不起LZ啊.我不是编程的,没有MQK同学那么专业啊*.*lll



我现在是很忙。你在HANG还好吧
QQ:34538604
以平常心 做非常事
ThinkPad S220
Fujitsu U900
IBM X61T Core2/1.6/1024/120G/Tablet PC
IBM A30
IBM T23
回复 支持 反对

使用道具 举报

1108

回帖

9

积分

2463

资产值

高级会员 Rank: 2Rank: 2

注册时间
2004-7-28
发表于 2007-5-31 08:31:49| 字数 130| - 中国–四川–绵阳 电信/长虹集团(电信出口) | 显示全部楼层
QUOTE:
原帖由 cyzokok 于 2007-5-19 15:11 发表
有这么多热情的高手,首先向你们致敬。我也要求你们帮编个小软,要在WIN98、WINME下运行的。

有响应的高手吗,如达到效果500我也舍。

(行业软件,不是犯法的。)



需求发贴告诉大家吧,热情人很多呢
QQ:34538604
以平常心 做非常事
ThinkPad S220
Fujitsu U900
IBM X61T Core2/1.6/1024/120G/Tablet PC
IBM A30
IBM T23
回复 支持 反对

使用道具 举报

157

回帖

0

积分

642

资产值

入门会员 Rank: 1

注册时间
2004-8-28
 楼主| 发表于 2007-6-3 13:57:17| 字数 162| - 中国–湖北–荆州 电信 | 显示全部楼层
QUOTE:
原帖由 mqkng 于 2007-5-31 08:28 发表



谢谢还记得我们哈

近半年来确实很忙。基本或很少时间来专门网了

楼主的要求不难,看完帖子已经有人做了,我就不参与了,若实在需要请留言

mqkng兄,等你好久了,以前用过你两个软件,这几天一直忙.说实话也有点灰心了,看了你的回贴,热情又依旧了.那就帮我整个吧.在此先谢了.
t21,p3800,192M,30g,dvd,1024X768
回复 支持 反对

使用道具 举报

157

回帖

0

积分

642

资产值

入门会员 Rank: 1

注册时间
2004-8-28
 楼主| 发表于 2007-6-3 14:04:23| 字数 223| - 中国–湖北–荆州 电信 | 显示全部楼层
QUOTE:
原帖由 nico 于 2007-5-30 09:26 发表


今天偶然发现 detours 还有另一个程序 withdll.exe, 它和 setdll.exe 不同. setdll 修改了 exe 文件的 import table. 而 withdll 的做法是启动目标 exe, 挂起之, 然后注入 dll, 再让程序正常运行.

如果 ...

谢谢这么多热心的坛友,这几天没有上.刚试了下,好像还是不行.因这程序是依靠于另一程序的,比较大传过去不大方便.在此再谢谢nico兄和各位热心的人.
t21,p3800,192M,30g,dvd,1024X768
回复 支持 反对

使用道具 举报

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

本版积分规则

Powered by Discuz! X3.5 © 2001-2023 Comsenz Inc

GMT+8, 2025-1-27 17:18 , Processed in 0.113113 second(s), 41 queries , Gzip On, OPcache On.

手机版|小黑屋|安卓客户端|iOS客户端|Archiver|备用网址1|备用网址2|在线留言|专门网

返回顶部