2011年11月14日
摘要: 原理就是 Hook D3D的Present方法,在执行Present之前,我们输出我们需要显示的东西,这样我们显示的东西就在D3D输出的顶端,就不会产生闪烁的现象。// draw our own things on top 绘制我们自己的东西 m_pGraphics->Render(); // call original routine 执行原来的Present HRESULT hres = m_pIDirect3DDevice8->Present( pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion); ... 阅读全文
posted @ 2011-11-14 14:17 虾哥哥 阅读(1746) 评论(1) 推荐(0) 编辑
  2011年7月18日
摘要: 使用方法:复制d3d8.dll到魔兽根目录下,如果启动魔兽可以看到一个小Logo说明加载成功了gpcomms.dll和GPF_v1.1c.ahk 和你的脚本放在同一目录在你的脚本中引用GPF_v1.1c.ahk#Include GPF_v1.1c.ahk 使用:var_ObjNumber := 0 ; ------------ from 0 to 4var_PosX := 420 ; --------------- text X positionvar_PosY := 230 ; --------------- text Y position; var_SizeX := 500 ; ----- 阅读全文
posted @ 2011-07-18 14:22 虾哥哥 阅读(1138) 评论(2) 推荐(0) 编辑
  2011年7月15日
摘要: #region 大地图 //清除迷雾 Patch(0x74D1B9, 0xB2, 0x00, 0x90, 0x90, 0x90, 0x90); //显示单位 Patch(0x39EBBC, 0x75); Patch(0x3A2030, 0x90, 0x90); Patch(0x3A20DB, 0x90, 0x90); //显示隐形 Patch(0x362391, 0x3B); Patch(0x362394, 0x85); Patch(0x39A51B, 0x90, 0x90, 0x90, 0x90, 0x90, 0x90); Patch(0x39A52E, 0x90, 0x90, 0x90,. 阅读全文
posted @ 2011-07-15 11:40 虾哥哥 阅读(693) 评论(0) 推荐(0) 编辑
摘要: AutoHotKey也能写魔兽内存,看过一些魔兽全图源代码的应该对下面的方法非常熟悉View Code Patch(address, values*){ valueCount := values.MaxIndex() VarSetCapacity(value,valueCount) Loop, %valueCount% { NumPut(values[A_Index],value,A_Index-1,"UChar") } WinGet,pid,PID,ahk_class Warcraft III war3handle := DllCall("OpenProcess 阅读全文
posted @ 2011-07-15 09:20 虾哥哥 阅读(995) 评论(0) 推荐(1) 编辑
  2011年7月14日
摘要: 采用的是进程快照的方式获取,GetGameDllBaseAndPath(ByRefBasePath);返回魔兽基址,BasePath返回dll的路径{WinGet,pid,PID,ahk_classWarcraftIII;得到魔兽进程pidGameBase:=GetDLLBase(BasePath,"game.dll",pid);获取game.dll基址if(GameBase=0){GameBase:=0x6f000000}return%GameBase%}GetDllBase(ByRefBasePath,DllName,pid=0){TH32CS_SNAPMODULE:= 阅读全文
posted @ 2011-07-14 10:41 虾哥哥 阅读(2045) 评论(0) 推荐(0) 编辑
摘要: AutoHotKey也能读取魔兽内存首先提升权限EnableDebugPrivilege() { Process, Exist h := DllCall("OpenProcess", "UInt", 0x0400, "Int", false, "UInt", ErrorLevel) DllCall("Advapi32.dll\OpenProcessToken", "UInt", h, "UInt", 32, "UIntP", t) Va 阅读全文
posted @ 2011-07-14 10:35 虾哥哥 阅读(2143) 评论(0) 推荐(0) 编辑
摘要: 希望这篇文章和这些代码能帮助到所有正在研究相关技术的人AutoHotKey也能实现远程dll注入InjectInjectDll(pid,dllpath);目标进程pid,需要注入的dll路径{FileGetSize,size,%dllpath%;获取dll文件大小file:=FileOpen(dllpath,"r");只读方式打开“r”file.RawRead(dllFile,size);文件写入到变量dllFile ;根据pid获得句柄,权限为“0x1F0FFF“所有权限pHandle:=DllCall("OpenProcess","UInt 阅读全文
posted @ 2011-07-14 09:46 虾哥哥 阅读(974) 评论(0) 推荐(1) 编辑