![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Tools
kira8dao7
这个作者很懒,什么都没留下…
展开
-
Python建立Web文件服务
进入你要共享文件的目录执行:E:/Software>python -m SimpleHTTPServer浏览器里输入http://localhost:8000就可以看到共享目录下文件原创 2010-08-13 14:42:00 · 1624 阅读 · 0 评论 -
VC进程相关的学习(二)(钩子基础)
Windows是建立在事件驱动机制上的,也就是所有消息的传递都是基于事件的,钩子就是截取这些消息进行处理。钩子的种类:线程钩子和系统钩子。 线程钩子只处理本线程的事件。 系统钩子可以处理系统级的事件。钩子的用法: 系统钩子暂时用不到,下面是线程钩子的使用 定义钩子函数,不同钩子的回调函数是不同的,具体按SetWindowHookEx的F1即可 LRESULT CALLBACK MouseProc(int nCode, WPARAM wparam, LPARAM lPara原创 2010-08-20 15:12:00 · 1219 阅读 · 0 评论 -
VC进程相关的学习(五)(API截获完美版)
通过IE测试发现,四中的方法只能获取用Depneds看到在上面加载的DLL,而后来加载的,以及DLL加载的DLL都是无法获得的。这里补充一个可以截取所有DLL包括LoadLibrary的方法:void MyHook::_writeProcessMemorySystem(LPVOID pDec, LPVOID pSrc, UINT nLength){ MEMORY_BASIC_INFORMATION mbi_thunk; VirtualQuery(pDec, &mbi_thunk, sizeof(原创 2010-08-23 15:08:00 · 2002 阅读 · 0 评论 -
VC浏览器相关的学习(八)(截获IE网络访问)
<br />经过上面进程的学习,已经达到截取网络访问的条件了,需要声明如下:<br />#include <WinInet.h> #pragma comment( lib, "WinInet.lib") // IEtypedef BOOL (WINAPI* PFN_HttpSendRequestA)(HINTERNET hRequest, LPCSTR lpszHeaders, DWORD dwHeadersLength, LPVOID lpOptional, DWORD dwOptio原创 2010-08-23 16:39:00 · 4589 阅读 · 2 评论 -
VC进程相关的学习(六)(Detours的使用)
Detours提供了简单易用的函数接口来拦截WIN32 API调用。官方的下载地址为http://research.microsoft.com/en-us/projects/detours/,下载Detours Express 2.1安装之后还不能直接使用,编译流程如下:1 将Detours安装目录中的src拷贝至VS安装目录/Microsoft Visual Studio 9.0/VC/bin2 打开CMD控制台3 将/Microsoft Visual Studio 9.0/VC/bin/vcvars32原创 2010-08-25 13:49:00 · 1455 阅读 · 0 评论 -
VC进程相关的学习(七)(简单的进程变速方法)
<br />需要做的就是HOOK GetTickCount、timeGetTime这两个函数,只要将返回值翻倍即可,注意的是,千万千万不要在这两个地方做什么多余操作,简单简单简单。原创 2010-08-26 11:59:00 · 1483 阅读 · 0 评论 -
VC与Python交互(一)(静态编译Python的方法)
1 准备工作 a 到http://www.python.org/ftp/python/2.5.4/下个包Python-2.5.4.tar.bz2 b 进入Python-2.5.4/PCbuild8 ,打开解决方案pcbuild.sln c 修改pythoncore的编译配置: Config Type -> .lib RunTime Library -> MT / MTD d 按顺序编译 make_buildinfo make_versioninfo原创 2010-09-02 15:30:00 · 5229 阅读 · 3 评论 -
VC与Python交互(二)(Pythoncore嵌入解决import site出错的问题)
1 打开Python25的lib文件夹,将所有文件拷出来,进入此目录执行python -OO compileall.py -f,将所有文件.py -> .pyo2 删除除.pyo之外的所有文件,然后打包为python25.zip3 在Python的初始化部分添加如下代码,将此zip添加到sys.path char szCmd[MAX_PATH]; char* szPath = "E://root//MyGame//lib"; sprintf(szCmd, "import sys/n"原创 2010-09-15 14:28:00 · 2131 阅读 · 0 评论 -
VC与Python交互(三)(自定义Python模块/函数)
1 首先定义一个函数,其中PyArg_ParseTuple来获得参数,si表示第一个是string,第二个是intextern "C" static PyObject* SendStringInt(PyObject *pSelf, PyObject *pParams){ char* strMessage = 0; int nCount; if(!PyArg_ParseTuple(pParams, "si", &strMessage, &nCount)) { QDLogs.SendM原创 2010-09-15 15:07:00 · 2979 阅读 · 0 评论 -
VC与Python交互(四)(C执行Python文件)
extern "C" bool RunFyFuntion(char *strFilename, char *strModuleName, char *strFunctionName){ PyObject *pParams = NULL; PyObject *pModuleOld = NULL; PyObject *pModule =NULL; PyObject *pName = NULL; PyObject *pResult = NULL; PyObject *pDict = N原创 2010-09-16 15:06:00 · 2052 阅读 · 0 评论 -
VC进程相关的学习(四)(API截获)
一些写入保护的地址,可用下面方法修改 BOOL MyHook::writeProcessMemorySystem(BYTE* pData, const BYTE& byte){ MEMORY_BASIC_INFORMATION mbi_thunk; VirtualQuery(pData, &mbi_thunk, sizeof(mbi_thunk)); // 查询页信息 VirtualProtect(mbi_thunk.BaseAddress, mbi_thunk原创 2010-08-21 16:02:00 · 1308 阅读 · 0 评论 -
VC进程相关的学习(三)(模拟键盘鼠标)
<br />模拟鼠标键盘比较简单,只放例子<br />鼠标定位:<br />SetCursorPos(point.x, point.y);<br />鼠标点击:<br />mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0);mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0);<br />键盘点击:<br />keybd_event(0x52, MapVirtualKey(0x52, 0), 0, 0);keybd_eve原创 2010-08-20 17:53:00 · 1288 阅读 · 0 评论 -
VC浏览器相关的学习(六)(IDispEventImpl包装的主要方法)
IDispEventImpl包装方法对Ajax相当无力,也就是说对Flash也是没辙,娘的又走了弯路,作为几天的总结,IDispEventImpl包装的方法如下: MyRock.h IDispEventImpl包装方法对Ajax相当无力,也就是说对Flash也是没辙,娘的又走了弯路,作为几天的总结,IDispEventImpl包装的方法如下:// MyRock.h : Declaration of the CMyRock#pragma once#include "resource原创 2010-08-19 10:19:00 · 4153 阅读 · 0 评论 -
VC浏览器相关的学习(一)(Single document界面)
1 MFC建立一个Single document 第一步:Document/View architecture support要打勾,否则第六步不可选 第六步:BaseClass改为CHtmlView2 添加地址栏 a 在CMainFrame添加 CComboBoxEx m_wndAddress; b 在CMainFrame::OnCreate中添加,补入地址栏 if (!m_wndAddress.Create(CBS_DROPDOWN | WS_CHILD, CRec原创 2010-08-16 12:00:00 · 2530 阅读 · 0 评论 -
VC浏览器相关的学习(二)(BHO)
BHO Browser Helper Objects 1 BHO更像是浏览器的一个插件。 2 BHO依靠于COM,所以他只对IE生效,对其他浏览器无效。一 创建一个ATL DLL工程(RockBHO),生成的主要文件: RockBHO.cpp 此源文件用于实现通过 DLL 提供 COM 对象的导出 RockBHO.idl 此源文件可用于定义自定义 COM 接口 RockBHO.rgs 此资源文件包含注册和取消注册 DLL 时编写和删除的注册表项二 为工程添加类 -> A原创 2010-08-16 18:10:00 · 3844 阅读 · 3 评论 -
解决CollabNet Subversion Edge从网页无法启动
2010-08-13 21:21:42,046 [qtp29345020-59] ERROR services.CommandLineService - Exit status=1 Process err output: httpd: Syntax error on line 72 of D:/csvn/data/conf/httpd.conf: Syntax error on line 23 of D:/csvn/data/conf/svn_viewvc_httpd.conf: Cannot load原创 2010-08-13 21:53:00 · 7242 阅读 · 2 评论 -
手动添加SVN服务
现在理论上是不用手动添加,娘的一路下一步总是有问题,备份一个。1 安装svnservice(是一个服务) a 在Windows NT中本身包含了一个安装服务的工具"Service Control",也就是sc.exe。 b 例如我的Subversion安装在"D:/csvn/bin",想建立版本库在"D:/svn_repository", 对应的Subversion服务名为svnservice,希望自动启动(不写start= auto,就为手动) 安装这个svn服务的命令原创 2010-08-13 21:44:00 · 1536 阅读 · 0 评论 -
VC浏览器相关的学习(七)(BHO捕获鼠标键盘事件)
原本想暂时将BHO放放,结果发现了IDispEventImpl 的基类 IDispEventSimpleImpl,原来真正牛逼的方法都在这里呢。0 #include // DISPID_HTMLDOCUMENTEVENTS2_ONCLICK1 新添加两种事件捕获,因为注册的基类有多个类有相同的方法,调用的时候需要指明,最好用typedef方便书写 class ATL_NO_VTABLE CMyRock : public CComObjectRootEx, public CComCoClass,原创 2010-08-19 14:44:00 · 5796 阅读 · 3 评论 -
VC进程相关的学习(一)(查找进程和内存读取)
想通过BHO获取FLASH AJAX通讯数据的想法是没治了,彻底走了弯路(%>_1 HANDLE HINSTANCE HMOUDLE都是同一样东西。2 获取其他进程的HANDLE方法目前知道三种: a:由本进程打开 PROCESS_INFORMATION pi; ZeroMemory(&pi, sizeof(pi)); HANDLE process=OpenProcess(PROCESS_VM_OPERATION|PROCESS_VM_READ|PROCESS_CREATE_TH原创 2010-08-20 09:36:00 · 6126 阅读 · 1 评论 -
VC浏览器相关的学习(四)(在BHO中获取IE版本以及获取窗体句柄)
值得注意的是IE6,IE7,IE8的窗体组织完全不一样,需要用VS自带的工具Spy++查看确定a 获取IE版本 int CMyRock::GetIEVersion(){ CComPtr pDocDisp; // Doc CComQIPtr pHtmlDoc2; // HtmlDoc CComQIPtr pWindow; // 窗体 CComQIPtr pNavigator; // 浏览器 HRESULT hRes = m_spWe原创 2010-08-17 17:39:00 · 5099 阅读 · 1 评论 -
VC浏览器相关的学习(五)(在BHO中建立对话框)--解决CreateDialog的1813错误
1 添加一个资源Dialog IDD_DIALOG12 创建对话框 MyRock.h CMyRock():m_hwndDlg(0) { m_pMyRock = this; } private: void CreateDlg(); void DestroyDlg(); static INT_PTR CALLBACK CMyRock::DialogProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARA原创 2010-08-18 15:18:00 · 2826 阅读 · 0 评论 -
VC浏览器相关的学习(三)(解决IE8无法断点调试)
修改注册表,在HKEY_LOCALMACHINE -> SOFTWARE -> Microsoft -> Internet Explorer -> Main创建一个DWORD类型键,名称是TabProcGrowth,值为0,再调试就搞定。原创 2010-08-17 14:04:00 · 1935 阅读 · 0 评论