找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 8075|回复: 7

如何获取其他进程当前读取的数据?

 火.. [复制链接]

9

主题

210

回帖

0

精华

初来乍到

积分
904
发表于 2012-4-11 13:00:25 | 显示全部楼层 |阅读模式
公司有一套加密软件,是透明加密方式!
我的想法是既然他要解密才能让我们的软件读取数据嘛,不然这么读取啊?O(∩_∩)O~
这个程序会监视指定程序保存数据(比如word),然后立马加密!
我们要做的工作就是把该程序当前读取的数据给读取出来(已经是正规的编码了,没有加密了),然后再保存!保存出来的就不是加密的,因为他监视的是word、excel等其他软件的读写操作,而不是我们的程序!



简单点说,我打开word,然后我读取word进程打开的doc的数据,然后保存成doc文件!有能实现这样的嘛?{:soso_e101:}

或者说是读取CAD进程打开的dwg文件数据,然后给另存下来?{:soso_e122:}


也许程序会hook读取进程的函数,这个都不要紧,我们恢复这个hook再读取嘛,嘿嘿!~~

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2012-4-11 15:24:56 | 显示全部楼层
那意思是被加密的程序WriteFile写的是明文,但存到硬盘的是密文;

而ReadFile读取的是明文罗?

这样的话,很简单嘛,注入,然后在那个进程里调用ReadFile,再把读到的内容发到自己进程,然后自己进程再保存文件.{:soso__9053858523583330587_2:}
我就是嗷嗷叫的老马了......

9

主题

210

回帖

0

精华

初来乍到

积分
904
 楼主| 发表于 2012-4-11 19:25:18 | 显示全部楼层
马大哈 发表于 2012-4-11 15:24
那意思是被加密的程序WriteFile写的是明文,但存到硬盘的是密文;

而ReadFile读取的是明文罗?

有木有参考?

9

主题

210

回帖

0

精华

初来乍到

积分
904
 楼主| 发表于 2012-4-11 21:10:54 | 显示全部楼层
  1. /*
  2. 两个关键函数 ReadProcessMemory和VirtualQueryEx 理解得不透彻,所以可能有点小问题,但大体流程应该是这样,希望对你有帮助。另外,好多地方没有作错误检查,不保证在你的环境下一定能用。
  3. 请各路大神指正。
  4. */
  5. #include<iostream>
  6. #include <fstream>
  7. #include<windows.h>
  8. #include<tlhelp32.h>
  9. using namespace std;

  10. int main()
  11. {
  12.     char app[1024];
  13.     cout<<"请输入映像名(含.exe)\n如: ctfmon.exe\n:";
  14.     cin>>app;
  15.     fstream fp("dump.txt",ios::binary|ios::out);
  16.     BOOL flag=0;
  17.     HANDLE htoken;
  18.     TOKEN_PRIVILEGES tkp;
  19.     OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,&htoken);
  20.     LookupPrivilegeValue(NULL, SE_DEBUG_NAME,&tkp.Privileges[0].Luid);
  21.     tkp.PrivilegeCount = 1;
  22.     tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
  23.     AdjustTokenPrivileges(htoken,0,&tkp,NULL,NULL,0);
  24.     CloseHandle(htoken);
  25.     PROCESSENTRY32 pe32;
  26.     pe32.dwSize=sizeof(pe32);
  27.     HANDLE hprosnap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
  28.     if(hprosnap==INVALID_HANDLE_VALUE)
  29.     {
  30.         cout<<"Snapshot failed!"<<endl;
  31.     }
  32.     if(Process32First(hprosnap,&pe32))
  33.     {
  34.         do
  35.         {
  36.             if(!strcasecmp(app,pe32.szExeFile))
  37.             {
  38.                 cout<<"Program is dumping..."<<endl;
  39.                 flag=true;
  40.                 break;
  41.             }
  42.         }
  43.         while(::Process32Next(hprosnap,&pe32));
  44.     }
  45.     CloseHandle(hprosnap);
  46.     if(!flag)
  47.     {
  48.         cout<<"Process not found!\n";
  49.         system("pause");
  50.         return 1;
  51.     }
  52.     SYSTEM_INFO si;
  53.     GetSystemInfo(&si);
  54.     HANDLE htarget=OpenProcess(PROCESS_ALL_ACCESS,0,pe32.th32ProcessID);
  55.     if(htarget==NULL)
  56.     {
  57.         cout<<"Open Process Error!\n";
  58.         return 2;
  59.     }
  60.     MEMORY_BASIC_INFORMATION mbi;
  61.     char *onepagebuf=new char [si.dwPageSize];
  62.     for(DWORD start=(DWORD)si.lpMinimumApplicationAddress; start<(DWORD)si.lpMaximumApplicationAddress-si.dwPageSize; start+=si.dwPageSize)
  63.     {
  64.         if(!VirtualQueryEx(htarget,(void *)start,&mbi,sizeof(mbi))==sizeof(mbi))
  65.             break;
  66.         if(mbi.State==MEM_COMMIT)
  67.         {
  68.             ReadProcessMemory(htarget,(void *)start,onepagebuf,si.dwPageSize,NULL);
  69.             fp.write(onepagebuf,si.dwPageSize);
  70.         }
  71.     }
  72.     cout<<"done\n";
  73.     CloseHandle(htarget);
  74.     fp.close();
  75.     delete []onepagebuf;
  76.     system("pause");
  77.     return 0;
  78. }
复制代码
新电脑没装VC,欢迎翻译成VB!~

275

主题

3017

回帖

1

精华

管理员

嗷嗷叫的老马

积分
17064

论坛牛人贡献奖关注奖最佳版主进步奖人气王疯狂作品奖精英奖赞助论坛勋章乐于助人勋章

QQ
发表于 2012-4-12 15:16:38 | 显示全部楼层
VB变态应用之"移花接木",陈辉原创(VB6.0)

这是VB6的远程执行函数的封装,你注入WORD再执行看看
我就是嗷嗷叫的老马了......

9

主题

210

回帖

0

精华

初来乍到

积分
904
 楼主| 发表于 2012-4-16 13:04:00 | 显示全部楼层
没人了》???我苦等10多天~!~

0

主题

19

回帖

0

精华

初来乍到

积分
8
发表于 2012-4-19 16:43:35 | 显示全部楼层

7

主题

414

回帖

1

精华

铂金会员

积分
2173
发表于 2013-4-9 21:15:21 | 显示全部楼层
支持
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

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