百度空间 | 百度首页 
 
文章列表
 
您正在查看 "代码杂谈" 分类下的文章

2009-03-04 02:18
网上有一篇关于这个问题的文章,题目叫《防止全局钩子的侵入》,作者不祥。文中简单分析了一下钩子的原理,然后使用了微软的Detours库进行 API拦截。如果只是为了拦截一个函数,使用Detours好像有点儿浪费。本文不使用Detours库,直接对LoadLibraryExW函数进行拦 截。
先说一下全局钩子是怎么进入到我们的程序里来的。假如有个程序A安装了WH_GETMESSAGE的全局钩子,钩子函数在B.dll中,那么当其它程 序在调用GetMessage函数从自己的消息队列中取消息的时候,系统发现程序A安装了WH_GETMESSAGE的全局钩子,就会检查调用 GetMessage的
类别:代码杂谈 | 评论(8) | 浏览()
 
2009-03-04 01:51
DWORD GetFunctionAddress( HMODULE phModule,char* pProcName )
类别:代码杂谈 | 评论(0) | 浏览()
 
2009-03-03 17:29
.text:0040A4CB MyMessageBox    proc near             
.text:0040A4CB
.text:0040A4CB var_24          = dword ptr -24h
.text:0040A4CB var_14          = byte ptr -14h
.text:0040A4CB var_C           = byte ptr -0Ch
.t
类别:代码杂谈 | 评论(3) | 浏览()
 
2009-02-24 09:44
【文章标题】: 必杀技公布——用特征码定位关键代码,秒杀MFC程序
【文章作者】: 书呆彭
【下载地址】: 自己搜索下载
【使用工具】: VC与OllyICE
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
   本文所讲的方法,其实是一个很古老的方法了。以前,考虑到此法的杀伤力巨大,不便于公布。
 
类别:代码杂谈 | 评论(4) | 浏览()
 
2009-02-23 17:01
类别:代码杂谈 | 评论(0) | 浏览()
 
2009-02-09 11:15
最近使用masm32写了一个常规程序,用_beginThread创建一个线程。然后把程序设置为随机启动。
在3个系统下测试,1)正版xp sp3    2)雨林木风 xp sp3   3)深度 xp sp3.

测试结果,只有1)正版xp sp3运行良好。在雨林木风系统和深度系统下蓝屏。

然后,修改_beginThread为CreateThread创建线程,再测试。
测试结果,三个都正常。

记得侯捷在win32多线程设计一书中,曾经提到要尽量使用_beginThread,不要使用CreateThread。
我试过vc6下,在vc6下只要设置多线程运行库
类别:代码杂谈 | 评论(10) | 浏览()
 
2009-02-04 16:32
今天遇到一个问题, 用vs2005生成的一个静态lib, 在用vc6编写的另一个应用中调用,出现“LINK : fatal error LNK1196: invalid or corrupt import object: unknown version”这样的错误提示。

解决办法:
    用vc6重新编译了下这个静态lib,或者用vs2005编译调用lib的应用程序。

类别:代码杂谈 | 评论(4) | 浏览()
 
2009-02-03 15:13
CreateMyProcess proc near

StartupInfo= _STARTUPINFOA ptr -54h
ProcessInformation= _PROCESS_INFORMATION ptr -10h
lpCommandLine= dword ptr 8

push    ebp
mov     ebp, esp
sub     esp, 54h
push    edi
nop
nop
nop
nop
nop
nop
nop
push    10h
xor     edx, edx
pop   
类别:代码杂谈 | 评论(2) | 浏览()
 
2009-02-02 13:57
#include "stdafx.h"
#include <windows.h>
#include <iostream>
#include<tlhelp32.h>
using namespace std;

#pragma data_seg(".mydat")
#pragma code_seg(".shell")
#pragma const_seg(".constdata")
#pragma comment(linker,"/SECTION:.mydat,RWE")
#pragma comment(linker,"/SECTION:.shell,RWE")
#pragma comment(linker,"/SECTION:.constdata,RWE")
#pragma comment(linker,
类别:代码杂谈 | 评论(4) | 浏览()
 
2009-01-21 10:20
一般我们谈到注入,ring3无非就几种办法:
1)windows hook
2)远程线程
3)插apc
4)AppInit_DLLs
5)dll劫持
等等。

AppInit_DLLs办法我觉得是最简单的了。只要修改下注册表,把要注入的dll文件写到注册表项中就行了。
类别:代码杂谈 | 评论(12) | 浏览()
 
     
 
 
文章分类
 
     
 
文章存档
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
     
 
最新文章评论
   
 
 
 
 

好方法哈哈
 
     


©2009 Baidu