自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

W Blog

很久很久以前,天是蓝的,水是清的,Virus是跑在Ring3的,AV是只做扫描的

  • 博客(108)
  • 资源 (5)
  • 收藏
  • 关注

原创 test

test

2017-04-09 15:26:27 1968 3

原创 safengine shielden

最近看了下se的授权系统不绑机器的话基本就是废物。。绑了机器的话,在知道一个key跟授权文件的话 就可以通过patch机器码来移植到任意机器上使用。

2014-12-11 13:04:02 5468

原创 局部键盘钩子

绑定窗口的主线程,并且安装g

2014-11-11 10:28:27 3501

原创 笔误害人

头文件最后的一个函数 少了个}

2014-10-27 14:40:41 2778 1

原创 ON_NOTIFY_REFLECT消息

ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, CListCtrlExSortHead::OnNMCustomdraw) vc6ON_NOTIFY_REFLECT(NM_CUSTOMDRAW, &CListCtrlExSortHead::OnNMCustomdraw) vs

2014-09-10 15:22:13 4310

原创 loadpe给程序添加导入表的时候

会loadlibrary一下dll,如果dllmain中发生异常了的话可能导致失败。

2014-08-19 13:32:55 5046

原创 关于虚表

一般会在rdata段,固定的偏移地址,所以可以直接定位,拿来hook。

2014-08-15 13:43:26 2971

原创 bt5上搭建钓鱼wifi

http://zone.wooyun.org/content/2562y

2014-07-24 14:14:21 7039

原创 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 9106

原创 父进程啊父进程

是个不错的东西。。。

2013-11-06 13:05:54 2898 3

原创 微信聊天内容解密终于搞定了。。。

在某牛的帮助下,终于搞定了。。

2013-10-17 17:56:52 17780 10

原创 静态编译sqlite3

文件添加进去选择编译为静态lib就可以了如果使用时出现冲突注意工程 跟 编译lib时的 运行时库设置要一致 否则出现error link:2005错误好久没更了。日

2013-07-23 10:23:30 3517

转载 vc对话框程序运行时隐藏

1、在资源编辑中设置对话框为不可见 2、在OnPaint中加入下面代码 void CMyDlg::OnPaint() { static b = false; if(!b){ ShowWindow(SW_HIDE); b = true; return; } // //其他代码 }

2012-10-12 09:40:06 2990

原创 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 3036

转载 关于伪句柄

一、什么是伪句柄在使用很多函数的时候,我们都需要获得一个对象的句柄,而某些函数返回的是伪句柄。伪句柄本身不会打开内核对象的句柄表,因此内核对象的使用计数就不会增加。它本身就只指向调用它的主调进程或线程。会因为调用者的不同而改变,比如:调用者A使用一个伪句柄,这个句柄指向调用者A,而调用者A将该句柄传递给调用者X,则这个句柄就指向调用者X。我们可以通过调试的方式查看伪句柄,可以得知,进程的伪

2012-03-28 15:15:56 3017

原创 由远程线程注入代码引出来的一些问题

昨天小平同学在写一个远程线程注入代码的程序,他注入成功了,能弹出对话框,但是点击确定之后被注入的程序会崩溃掉,我记得自己以前写过是没有问题,但是我是拿VC6写的,调试了一下他的程序,发现原因是向目标进程地址空间中writeprocessmemory的时候,把call checkesp也写进去了,这玩意就是用来检验ESP在函数体中是否被改变,但是这些检验函数的地址在不同PE文件中有可能是不一样的。我

2012-03-19 13:52:25 5999 1

原创 过QQ游戏大厅的SX保护

早些时间看郁金香的教程,写过qq游戏练练看的挂,那时候CE附加QQ游戏大厅的时候貌似是没有任何保护的,昨天舍友让做个斗地主的记牌器,但是,我用CE附加的时候,被检测到了,其实不附加也会被检测,所以猜测可能只是检测窗口进程或是模块名称啥的吧,被检测到的时候主程序会退出,但是那个对话框还在,就是那个SX什么什么的,所以如果是QQgame启动了某个线程来检测非法的话,在主程序退出其他线程对象都释放掉的时

2012-03-13 15:42:05 9400 8

原创 一个脑残壳的框架设计与实现

组成:1.引导程序:由vc6 win32 dll工程 2.主程序:MFC工程引导程序与主程序一起开发,使用时引导程序作为资源放到主程序中。主程序执行流程:1. 载入待加壳程序与引导程序,保存待加壳程序入口点与基址。LPEFile m_lpeFile,m_lpeStup; if (!LoadPE(&m_lpeFile,&m_lpeStup)) {

2012-03-03 20:23:11 3865

原创 关于VS2008调试时加载符号缓慢的问题

用VS调试程序的时候有时总是提示要加载符号然后等好长时间,本来程序老出错就烦,调试卡个半天等的蛋都碎了,以前在论坛发过帖子也没人甩,今天终于找到了解决方法。在VS2008的安装目录的IDE文件夹下(我机器上是F:\DevelopTools\VS2008\Common7\IDE)新建一个symsrv.ini文件,我们可以在里面设置想要排除的文件。因为我全都不想加载,所以就*.*,文件内容如下:

2012-02-16 23:10:54 8972 4

原创 模仿LordPE写了个PE解析工具

能实现基本的信息获取区段信息数据目录信息导入表函数分析导出表函数分析,能同时解析只序号导出和以函数名序号同时导出的函数FLC计算需要源码的可以留邮箱。

2012-02-01 14:33:16 3975 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 3981 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 15820 2

原创 手动构造PE文件

很早以前就拜读了A1Pass得手工构造PE文件一文,可是一直没有去动手实践下,寒假本来想写个PE分析工具结果愣是发现自己PE结构都忘得毛都没了。。。so 蛋疼今天就参考该文来自己手动构造一个。这里先提个问题,WinMain函数是符合_stdcall调用约定的,我们都知道winmain接收四个参数,这四个参数的堆栈是有谁来清理呢?理论上应该是系统吧,但是调试程序最后总会发现个0040

2012-01-13 18:24:40 2305 1

原创 Dota显蓝插件的实现

不知显蓝可否算是作弊,以前是用的别人写的的一个DLL,注入进去后就可以实现显蓝,今天参考BR自己搞了个,测试了下bug还是很多,必须要开始游戏前开启,如果在游戏中开启很容易使魔兽死掉,但还是发上来吧。#include "stdafx.h"#include "manabar.h"#include #pragma comment(lib,"Version.lib")#define

2011-12-30 16:02:59 4964 4

原创 DOTA作弊地址,持续更新

//////////////1.20E 来自BZ///////////////////////////////////////////////////大地图去除迷雾 patch(0x406B53,"\x90\x8B\x09"); ///////////////////////////////////////////////////大地图显示单位 patch(0x2A093

2011-12-23 10:49:18 6801 5

原创 一步一步教你写DOTA外挂

好久木有研究DOTA了,整理篇小菜文章。首先,我们要提升外挂本身程序权限,使其能够有权限修改war3游戏的内存。这个c++可以使用如下代码void EnableDebugPriv()//提升程序自身权限{ HANDLE hToken; LUID sedebugnameValue; TOKEN_PRIVILEGES tkp;

2011-12-22 23:00:44 15685 30

原创 对数组名取地址与数组名

可以调试看下会发现两者的值是相同的。int array[100];关于对数组名取地址的问题,由于数组名是右值,本来&array 是不合法的,早期不少编译器就是指定&array 是非法的,但后来C89/C99认为数组符合对象的语义,对一个对象取地址是合理的,因此,从维护对象的完整性出发,也允许&array 。只不过,&array 的意义并非对一个数组名取地址,而是对一个数组对象取地址,也正因

2011-12-15 17:12:09 1567

原创 栈溢出中利用SEH

结构化异常处理(SEH)        操作系统或程序在运行,难免会遇到各种各样的错误,如除零,非法内存访问,文件打开错误,内存不足,磁盘读写错误,外设操作失败。为了保证系统在遇到错误时不至于崩溃,仍能够健壮稳定地继续运行下去,windows会对运行在其中的程序提供一次补救的机会来处理错误这种机制就是异常处理机制。 S.E.H即异常处理结构体(Structure Exception Handl

2011-12-15 16:55:39 5410

原创 简单测试使用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 8542 6

原创 配置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 3290 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 1947

原创 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 1676 1

原创 1.初识溢出

一直没系统的学下这个,以为这玩意早特么过时的东西,后来看到还是灰常有必要的,所以。。。溢出是什么玩意就不介绍了,看个简单例子:strcpy原型声明:extern char *strcpy(char *dest,char *src);功能:把从src地址开始且含有NULL结束符的字符串赋值到以dest开始的地址空间。它的拷贝时不检查长度的,她会一直拷一直拷,直到src的结尾,这就

2011-11-26 19:32:02 1249 2

原创 xp/win7 win32k kernel 0day

目前还是ODay,转自DEBUGMAN老外今天公布的,改了一下XP的可以支持任意权限用户触发建立一个名为1123的user权限用户运行可触发~(不是老外,翰海源的instruder公布的。XP下没对文件句柄做任何检测,所以 lpLayoutFile 只要是任何一个可以写入的地址都可以。win7里面还会限定这个句柄只能是windows/system32下的文件。)//

2011-11-25 19:20:10 1315

原创 操作系统分页分段小笔记

以前看分页分段时记得笔记,今天无意翻出来发现记得还挺好的,虽然当时貌似看的不怎么懂,博客发下分段机制: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 2736

原创 关于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 1750

原创 解决strongOD与olly advanced插件冲突问题

冲突原因我也不清楚,貌似是什么启动方式引起的?配置下这两个插件的选项就可以了

2011-11-16 18:09:18 3530

转载 读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 12816 1

原创 关于未导出函数与导出但是未文档化的函数

未公开的函数(导出未文档化)是已经导出了,但是不能直接使用。使用方法:1。在驱动层使用MmGetSystemRoutineAddress加函数名去获取函数的地址2。在应用层使用Loadlibrary和GetProcessAddress(事先当然要先定义好原型)未导出函数的使用比较麻烦,一般要先获取那个函数所在模块的基地址,然后再通过特征码去得到函数地址。或者在某个函数内部进

2011-11-10 14:27:47 3148

转载 Ring0上调用未导出Zw函数通用函数

转自虾总前段时间写的一段无聊代码,可能对大家有点用。用于在驱动里调用一些没有直接导出的Zw函数,如ZwProtectVirtualMemory。在此感谢alpha提供思路。BOOLEAN CallZwFunction(CONST CHAR *FunctionName,PVOID pCallRet,ULONG ArgNum,...){ char *vl; BOOLEAN retval

2011-11-09 14:15:35 3927 2

加壳引导程序

加壳引导程序

2012-03-03

加壳程序代码

一个加壳代码框架

2012-03-03

隐藏保护进程源码

一个通过HOOK SSDT来隐藏进程和保护进程的源码,值得菜鸟一看,很多可以拿来重用的东西

2011-10-18

脱壳的艺术--doc

脱壳是门艺术——脱壳既是一种心理挑战,同时也是逆向领域最为激动人心的智力游戏之一。为了甄别或解决非常难的反逆向技巧,逆向分析人员有时不得不了解操作系统的一些底层知识,聪明和耐心也是成功脱壳的关键。这个挑战既牵涉到壳的创建者,也牵涉到那些决心躲过这些保护的脱壳者。

2010-07-01

逆向c++,PDF格式

这些年来,逆向工程分析人员一直是凭借着汇编和 C 的知识对大多数软件进行逆向工程的,但是,现在随着越来越多的应用程序和恶意软件转而使用 C++语言进行开发,深入理解 C++ 面向对象方式开发的软件的反汇编技术就显得越发的必要。本文试图通过分析在反汇编时如何手工识别 C++对象,进而讨论如何自动完成这一分析过程最终介绍我们自己开发的自动化 工具,一步一步的帮助读者掌握逆向 C++程序的一些方法。

2009-10-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除