- 博客(108)
- 资源 (5)
- 收藏
- 关注
原创 safengine shielden
最近看了下se的授权系统不绑机器的话基本就是废物。。绑了机器的话,在知道一个key跟授权文件的话 就可以通过patch机器码来移植到任意机器上使用。
2014-12-11 13:04:02
5660
原创 ON_NOTIFY_REFLECT消息
ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, CListCtrlExSortHead::OnNMCustomdraw) vc6ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, &CListCtrlExSortHead::OnNMCustomdraw) vs
2014-09-10 15:22:13
4368
原创 bt5虚拟机安装tl-wn722n无线网卡驱动
从这里可以看到ath9k_htc目前支持的设备:http://linuxwireless.org/en/users/Drivers/ath9k_htc/devices比如说,TP-Link的:TL-WN721N,TL-WN722N,TL-WN322G v3,TL-WN422G v2以及使用Atheros AR9271的TL-WN821N;D-Link的150总之,支持AR7010,AR
2014-07-24 13:11:36
9677
原创 静态编译sqlite3
文件添加进去选择编译为静态lib就可以了如果使用时出现冲突注意工程 跟 编译lib时的 运行时库设置要一致 否则出现error link:2005错误好久没更了。日
2013-07-23 10:23:30
3563
转载 vc对话框程序运行时隐藏
1、在资源编辑中设置对话框为不可见 2、在OnPaint中加入下面代码 void CMyDlg::OnPaint() { static b = false; if(!b){ ShowWindow(SW_HIDE); b = true; return; } // //其他代码 }
2012-10-12 09:40:06
3027
原创 Analysis VB
// Analysis_VB.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "windows.h"#include "iostream"using namespace std;typedef struct{ char Signature[4]; // 四个字节的签名符号,和PEHEADER里的那
2012-07-26 11:12:58
3074
转载 关于伪句柄
一、什么是伪句柄在使用很多函数的时候,我们都需要获得一个对象的句柄,而某些函数返回的是伪句柄。伪句柄本身不会打开内核对象的句柄表,因此内核对象的使用计数就不会增加。它本身就只指向调用它的主调进程或线程。会因为调用者的不同而改变,比如:调用者A使用一个伪句柄,这个句柄指向调用者A,而调用者A将该句柄传递给调用者X,则这个句柄就指向调用者X。我们可以通过调试的方式查看伪句柄,可以得知,进程的伪
2012-03-28 15:15:56
3089
原创 由远程线程注入代码引出来的一些问题
昨天小平同学在写一个远程线程注入代码的程序,他注入成功了,能弹出对话框,但是点击确定之后被注入的程序会崩溃掉,我记得自己以前写过是没有问题,但是我是拿VC6写的,调试了一下他的程序,发现原因是向目标进程地址空间中writeprocessmemory的时候,把call checkesp也写进去了,这玩意就是用来检验ESP在函数体中是否被改变,但是这些检验函数的地址在不同PE文件中有可能是不一样的。我
2012-03-19 13:52:25
6090
1
原创 过QQ游戏大厅的SX保护
早些时间看郁金香的教程,写过qq游戏练练看的挂,那时候CE附加QQ游戏大厅的时候貌似是没有任何保护的,昨天舍友让做个斗地主的记牌器,但是,我用CE附加的时候,被检测到了,其实不附加也会被检测,所以猜测可能只是检测窗口进程或是模块名称啥的吧,被检测到的时候主程序会退出,但是那个对话框还在,就是那个SX什么什么的,所以如果是QQgame启动了某个线程来检测非法的话,在主程序退出其他线程对象都释放掉的时
2012-03-13 15:42:05
9480
原创 一个脑残壳的框架设计与实现
组成:1.引导程序:由vc6 win32 dll工程 2.主程序:MFC工程引导程序与主程序一起开发,使用时引导程序作为资源放到主程序中。主程序执行流程:1. 载入待加壳程序与引导程序,保存待加壳程序入口点与基址。LPEFile m_lpeFile,m_lpeStup; if (!LoadPE(&m_lpeFile,&m_lpeStup)) {
2012-03-03 20:23:11
3901
原创 关于VS2008调试时加载符号缓慢的问题
用VS调试程序的时候有时总是提示要加载符号然后等好长时间,本来程序老出错就烦,调试卡个半天等的蛋都碎了,以前在论坛发过帖子也没人甩,今天终于找到了解决方法。在VS2008的安装目录的IDE文件夹下(我机器上是F:\DevelopTools\VS2008\Common7\IDE)新建一个symsrv.ini文件,我们可以在里面设置想要排除的文件。因为我全都不想加载,所以就*.*,文件内容如下:
2012-02-16 23:10:54
9036
3
原创 模仿LordPE写了个PE解析工具
能实现基本的信息获取区段信息数据目录信息导入表函数分析导出表函数分析,能同时解析只序号导出和以函数名序号同时导出的函数FLC计算需要源码的可以留邮箱。
2012-02-01 14:33:16
4068
25
原创 关于ImageRvaToVa与SEC_IMAGE的一些东东
hMapping=CreateFileMapping(hFile,NULL,PAGE_READWRITE,0,0,NULL);第三个参数或上了SEC_IMAGE,指定该属性相当于告诉系统要映射文件的映像并给页面设置相应的保护属性,具体见核心编程P456。我在写PE加载器的时候发现该参数与ImageRvaToVa函数有冲突!!!!具体ImageRvaToVa是怎么实现的微软没公开,大体逆了一下
2012-01-31 23:10:45
4118
5
原创 PE结构导出表详细解析
只码重点DLL导出方式:按名称导出:1.__declspec(dllexport) 2.LIBRARY DLLEXPORTS FuncDll 按序号导出:LIBRARY DLLEXPORTS FuncDll @ 1 NONAME 按名称和序号导出:LIBRARY DLLEXPORTS fnDll1 @ 1 NONAM
2012-01-27 23:31:49
16073
1
原创 手动构造PE文件
很早以前就拜读了A1Pass得手工构造PE文件一文,可是一直没有去动手实践下,寒假本来想写个PE分析工具结果愣是发现自己PE结构都忘得毛都没了。。。so 蛋疼今天就参考该文来自己手动构造一个。这里先提个问题,WinMain函数是符合_stdcall调用约定的,我们都知道winmain接收四个参数,这四个参数的堆栈是有谁来清理呢?理论上应该是系统吧,但是调试程序最后总会发现个0040
2012-01-13 18:24:40
2349
原创 Dota显蓝插件的实现
不知显蓝可否算是作弊,以前是用的别人写的的一个DLL,注入进去后就可以实现显蓝,今天参考BR自己搞了个,测试了下bug还是很多,必须要开始游戏前开启,如果在游戏中开启很容易使魔兽死掉,但还是发上来吧。#include "stdafx.h"#include "manabar.h"#include #pragma comment(lib,"Version.lib")#define
2011-12-30 16:02:59
5062
原创 DOTA作弊地址,持续更新
//////////////1.20E 来自BZ///////////////////////////////////////////////////大地图去除迷雾 patch(0x406B53,"\x90\x8B\x09"); ///////////////////////////////////////////////////大地图显示单位 patch(0x2A093
2011-12-23 10:49:18
6977
3
原创 一步一步教你写DOTA外挂
好久木有研究DOTA了,整理篇小菜文章。首先,我们要提升外挂本身程序权限,使其能够有权限修改war3游戏的内存。这个c++可以使用如下代码void EnableDebugPriv()//提升程序自身权限{ HANDLE hToken; LUID sedebugnameValue; TOKEN_PRIVILEGES tkp;
2011-12-22 23:00:44
16036
7
原创 对数组名取地址与数组名
可以调试看下会发现两者的值是相同的。int array[100];关于对数组名取地址的问题,由于数组名是右值,本来&array 是不合法的,早期不少编译器就是指定&array 是非法的,但后来C89/C99认为数组符合对象的语义,对一个对象取地址是合理的,因此,从维护对象的完整性出发,也允许&array 。只不过,&array 的意义并非对一个数组名取地址,而是对一个数组对象取地址,也正因
2011-12-15 17:12:09
1621
原创 栈溢出中利用SEH
结构化异常处理(SEH) 操作系统或程序在运行,难免会遇到各种各样的错误,如除零,非法内存访问,文件打开错误,内存不足,磁盘读写错误,外设操作失败。为了保证系统在遇到错误时不至于崩溃,仍能够健壮稳定地继续运行下去,windows会对运行在其中的程序提供一次补救的机会来处理错误这种机制就是异常处理机制。 S.E.H即异常处理结构体(Structure Exception Handl
2011-12-15 16:55:39
5532
原创 简单测试使用msf发布poc
看个存在漏洞的代码#include #include #pragma comment(lib,"ws2_32.lib")VOID msg_display(char *buf){ char msg[200]; strcpy(msg,buf); cout<<"****************"<<endl; cout<<msg<<endl;}void main(){
2011-12-15 10:31:51
8638
原创 配置eclipse开发ruby
最近在看Metasploit要用到ruby写exploit,配置下eclipse来开发rubyRDT(Ruby Development Tool)下载地址:http://jaist.dl.sourceforge.net/sourceforge/rubyeclipse/org.rubypeople.rdt-0.7.0.601192300PRD.zipruby在安装Metasploit
2011-12-13 19:45:32
3320
3
原创 3.简单的代码植入
还是那个程序稍作修改#include #include #define PASSWORD "1234567"int verify_password(char *password){ int authenticated; char buffer[44]; authenticated=strcmp(password,PASSWORD); strcpy(buffer,passwo
2011-12-03 16:05:01
2008
原创 2.栈溢出简单利用
看代码#include #include "windows.h"#define PASSWORD "1234567"int verify_password(char *password){ int authenticated; char buffer[8]; authenticated=strcmp(password,PASSWORD); strcpy(buffer,pa
2011-12-02 23:17:47
1710
1
原创 1.初识溢出
一直没系统的学下这个,以为这玩意早特么过时的东西,后来看到还是灰常有必要的,所以。。。溢出是什么玩意就不介绍了,看个简单例子:strcpy原型声明:extern char *strcpy(char *dest,char *src);功能:把从src地址开始且含有NULL结束符的字符串赋值到以dest开始的地址空间。它的拷贝时不检查长度的,她会一直拷一直拷,直到src的结尾,这就
2011-11-26 19:32:02
1287
2
原创 xp/win7 win32k kernel 0day
目前还是ODay,转自DEBUGMAN老外今天公布的,改了一下XP的可以支持任意权限用户触发建立一个名为1123的user权限用户运行可触发~(不是老外,翰海源的instruder公布的。XP下没对文件句柄做任何检测,所以 lpLayoutFile 只要是任何一个可以写入的地址都可以。win7里面还会限定这个句柄只能是windows/system32下的文件。)//
2011-11-25 19:20:10
1349
原创 操作系统分页分段小笔记
以前看分页分段时记得笔记,今天无意翻出来发现记得还挺好的,虽然当时貌似看的不怎么懂,博客发下分段机制:CS,DS,ES,FS,GS,SS 段选择器高13位表示索引(从0开始)第二位 TI=0在GDT中,TI=1在LDT中0,1位表示程序的当前优先级RPLGDTR:全局描述符表寄存器 48位 指向全局描述符表GDTLDTR:局部描述符表寄存器 16位 类
2011-11-21 16:30:16
2783
原创 关于VS2008debug编译下函数名字就是函数地址的问题
今天写个程序,自定义了一个函数void Func();然后DWORD dwStart=(DWORD)Func;调试监视 dwStart与Func两值不同拿到OD里看了下发现是这样的0062D7D3 . /E9 68050100 JMP demo.0063DD40原来debug版本的地址都是A:jmp BB:Func()。dwStart
2011-11-16 19:34:29
1784
转载 读IDTR与GDTR的值
转自油条智辅论坛#include "stdafx.h"#include int _tmain(int argc, _TCHAR* argv[]){ char idtr[6]={0}; char gdtr[6]={0}; SetThreadAffinityMask(GetCurrentThread(),1); __asm { sidt idtr sgdt
2011-11-12 11:42:48
12899
原创 关于未导出函数与导出但是未文档化的函数
未公开的函数(导出未文档化)是已经导出了,但是不能直接使用。使用方法:1。在驱动层使用MmGetSystemRoutineAddress加函数名去获取函数的地址2。在应用层使用Loadlibrary和GetProcessAddress(事先当然要先定义好原型)未导出函数的使用比较麻烦,一般要先获取那个函数所在模块的基地址,然后再通过特征码去得到函数地址。或者在某个函数内部进
2011-11-10 14:27:47
3202
转载 Ring0上调用未导出Zw函数通用函数
转自虾总前段时间写的一段无聊代码,可能对大家有点用。用于在驱动里调用一些没有直接导出的Zw函数,如ZwProtectVirtualMemory。在此感谢alpha提供思路。BOOLEAN CallZwFunction(CONST CHAR *FunctionName,PVOID pCallRet,ULONG ArgNum,...){ char *vl; BOOLEAN retval
2011-11-09 14:15:35
4085
1
脱壳的艺术--doc
2010-07-01
逆向c++,PDF格式
2009-10-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人