自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(71)
  • 收藏
  • 关注

原创 字符串常量的相关的翻译

我认为理解这个问题的关键点就在于理解String对象和它的内容之间的关系,内容也就是String对象的私有成员,一个char数组(保存了字符串的编码,也就是String类中的的`value`成员,其类型为 char[] )。String类是一个简单的封装,它包装了char数组 并 提供了一些有限的方法来修改数组,同时还会保持该数组的不变性(即不修改数组本身,而是对修改产生新的对象),同时Strin

2018-01-12 21:59:00 613 1

原创 Android中Context

Context字面意思上下文,位于framework package的android.content.Context中,其实该类为LONG型,类似Win32中的Handle句柄,很多方法需要通过 Context才能识别调用者的实例,比如说Toast的第一个参数就是Context,一般在Activity中我们直接用this代替,代表调用者的 实例为Activity,而到了一个button的onCli

2012-09-26 09:44:33 676

转载 Visual C++线程同步技术剖析 (转载)

作者:中国电波传播研究所 郎锐■来自:yesky摘要: 多线程同步技术是计算机软件开发的重要技术,本文对多线程的各种同步技术的原理和实现进行了初步探讨。关键词: VC++6.0; 线程同步;临界区;事件;互斥;信号量; 正文   使线程同步  在程序中使用多线程时,一般很少有多个线程能在其生命期内进行完全独立的操作。更多的情况是一些线程进行某些处理操作,而其他的线程

2012-09-26 09:32:31 760

转载 /INCREMENTAL(增量链接)

/INCREMENTAL(增量链接)Visual Studio 2012其他版本 Visual Studio 2010Visual Studio 2008Visual Studio 2005此主题尚未评级- 评价此主题复制/INCREMENTAL[:NO]

2012-09-18 11:00:50 1142

转载 函数可重入性

函数可重入性一、可重入函数 1)什么是可重入性? 可重入(reentrant)函数可以由多于一个任务并发使用,而不必担心数据错误。 相反, 不可重入(non-reentrant)函数不能由超过一个任务所共享,除非能确保函数的互斥(或者使用信号量,或者在代码的关键部分禁用中断)。可重入 函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。可重入

2012-09-16 04:05:21 682

原创 一致代码段与非一致代码段

一、一致代码段与非一致代码段“一致”的意思大约是这样,当转移的目标是一个特权级更高的一致代码段时,当前的特权级会被延续下去,而向特权级更高的非一致代码段的转移则会引起 常规的保护异常,除非使用调用门或者任务门。一致代码段往往是用在内核共享的段,这些段是允许应用程序去访问的,而不需要内核转移到应用程序中来访问这些 共享的资源。对于一致代码段,有以下规则:特权级高的程序不允许访问特权级低的

2012-08-27 21:56:00 1546 2

原创 delpi中的RTTI初试

两个字,多态。

2012-08-26 01:30:15 573

原创 Delphi中数组分析

一、静态数组1、定义一维数组定义:arrA:array[下标..上标] of 数据类型二维数组定义:arrB:array [下标1..上标1,下标2..上标2] of 数据类型备:arrA,arrB为定义的数组变量。2、引用一维数组引用:arrA[n],n为从下标至上标的一个量二、动态数组1、定义一维数组定义:arrA:array of 数据类型二级数组定义

2012-08-26 01:25:30 798

原创 C++中的泛型

我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处理int数据,另一个是处理string数据,或者其他自定义的数据类型,但我们没有办法,只能分别写多个方法处理每个数据类型,因为方法的参数类型不同。有没有一种办法,在方法中传入通用的数据类型,这样不就可以合并代码了吗?泛型的出现就是专门解决这个问题的。读完本篇文章,你会对泛型有更深的了解。为什么要使用泛型为了了解这个问题,我们先看

2012-08-23 10:53:15 2068 1

原创 磁盘扇区

1 扇区头标将每个环形磁道等距离切割,形成等长度的圆弧,每个圆弧就是一个扇区。划分扇区的目的是为了使数据存储更加条理化,就像一个大仓库要划分更多的房间一样。每个扇区可以存放512个字节的数据和一些其他信息。一个扇区有两个主要部分:存储数据地点的标识符和存储数据的数据段。扇区头标包括组成扇区三级地址的三个数字:。扇区所在的柱面。磁头编号。扇区在磁道上的位置,即扇区号柱面(Cylinder),磁头

2012-08-22 14:31:00 1316

转载 汇编语言程序设计之伪指令LABEL和THIS

首先谈一下自己的一些理解:从高级语言的基本说一下在高级语言中,我们有时候对段存储空间进行了初始化的属性设置,例如存储空间的初始访问是int,每访问一次IP = IP+4,现在想以字节进行访问(char),那么就需要进行强制类型转换,但是这种转换只对单次的操作有用。int a[10]char *p = (char*)a;如果后面需要时候的时候,需要再次进行转换。在汇编语言编程

2012-08-22 10:03:55 7794 2

转载 IO_STACK_LOCATION — I/O堆栈

I/O堆栈   任何内核模式程序在创建一个IRP时,同时还创建了一个与之关联的 IO_STACK_LOCATION 结构数组:数组中的每个堆栈单元都对应一个将处理该IRP的驱动程序,另外还有一个堆栈单元供IRP的创建者使用(见图5-3)。堆栈单元中包含该IRP的类型代码和参数信息以及完成函数的地址。下图显示了堆栈单元的结构。I/O堆栈单元数据结构:MajorFu

2012-08-20 09:41:02 1376

转载 发御龙在天所有数据

但是看见别人老是藏着,都当宝了。就发出来给大家吧。免得浪费大家时间。 //获取当前可接任务 #define ACCEPTTASK_TAG 0x294 #define S_TAG_GIVETASKUP 0X295 #define FINISHENTASK_TAG 0x296 #define S_TAG_KUATU     0x29   //跨图封包头 #define S_TA

2012-07-13 22:53:17 6567

原创 昨日的病毒简单分析了下【附Bin样本】

由于里面的文件比较多,我只大概分析了一下,错误之处大家分析后指出来!我也不知道怎么感染这病毒的,幸好我电脑没联网,要不然!里面涉及技术比较多大家可以慢慢挖出来!注意:样本是我电脑上直接拷贝过来的!不知道是不是可以感染正题开始!病毒名字好像叫:红蜘蛛是拼音病毒的工作模式:向spoolsv.exe注入4个DLL,这4个DLL里面我只看了两个,它们都是分工明确,W

2012-07-12 03:56:44 1186 1

原创 【原创】VMProtect代码还原技术

发现大家对VMProtect这个壳比较害怕,所以找了个最新的版本分析了一下,发现他有很多垃圾指令,并且还使用了虚拟机保护,而且每个被他加壳后的程序,虚拟机的代码好像还不一样。如果要做VMProtect的自动脱壳机,应该是要先去掉垃圾指令,再重组指令,再自动识别虚拟机指令的含义,最后重组虚拟机代码,还原出加壳前的EXE。    看了一下VMProtect的垃圾花指令,其实是很有规律的,主要就是在

2012-07-12 03:56:03 3648

原创 【原创】Windows处理驱动Path流程

昨天写了一个类似SC查询驱动服务的信息的程序,发现获取到的路径ImagePath是\??\c:\xxxxx,导致我用CreateFile什么的函数,居然失败!就比较好奇windows是怎么处理驱动服务一类的路径处理。我知道windows是在注册表中记录的启动服务信息,直接用注册表打开查看如下:<img title="名称: reg.JPG查看次数: 311文件大小: 58.7 KB

2012-07-12 03:54:53 1134

原创 简单分析某个棋牌游戏的抢位置功能

最近忙着都没逛论坛了,今天有点时间跑来看看.......顺便发个帖....没有什么好于不好,如果对你有用就行   最近研究了一款棋牌游戏的抢位置功能,通过分析找到了抢位置的关键位置,有了call 后,有人说有了call 那参数还不容易吗? 曾经发过一个帖‘让游戏自动送上call的参数’ 有人曾经这样回复找到call了, 分析参数还不容易...静态用ida看引用动态下断点, 回溯栈

2012-07-12 03:53:44 5052 5

原创 让天之痕窗口化运行!

说明:游戏版本是简体中文2.02版,其它版本估计部分地址不完全一样,仅作参考。    这个游戏比较古老了,用的DirectDraw来绘制2D图像,在创建DirectDraw对象之后,调用SetCooperativeLevel函数来确定是否全屏显示。但是SetCooperativeLevel这个函数没有在DDRAW.DLL的输出表里面,直接下断点找不到,只能对DirectDrawCreate

2012-07-12 03:53:11 5945

原创 不能说的秘密之RtlAdjustPrivilege

前言:今天逆向一个非常实用的函数RtlAdjustPrivliege这个函数封装在NtDll.dll中(在所有DLL加载之前加载),被微软严格保密,就是说你在MSDN上查不到关于他的任何信息。先来看看这个函数的定义(Winehq给出):引用: NTSTATUS RtlAdjustPrivilege (  ULONG    Privilege,

2012-07-12 03:51:38 1502

原创 qq密码输入框保护组件TSSafeEdit中的花指令研究

看到了天易love的影响,也想写一点东西,和大家分享一些研究的心得体会,也算是做一个小小的笔记。白菜贴,大牛飘过。时间比较紧,先粗略地写一下,等晚上再详细补充。TSSafeEdit是QQ的密码输入框保护组件,在Tencent\QQ\Bin目录下可以找到。这个文件我已从2009年一直跟踪到现在 期间它的版本有过好几次更新,目前的最新版本应该是2011.4.7.1。

2012-07-12 03:50:41 1133

转载 【原创】WIN8 SSTD导出函数列表

不多说了WIN8预览版还是挺慢的,也许是我机器太差劲了,呵呵,SSTD对比WIN7SP0多了不少。<img title="名称: 1.jpg查看次数: 669文件大小: 84.7 KB" alt="名称: 1.jpg查看次数: 669文件大小: 84.7 KB" src="http://bbs.pediy.com/attachment.php?attachmentid=

2012-07-12 03:49:53 588

原创 【原创】第一章:1.1、寻找main函数入口

逆向的第一步是什么?这要问你学习C语言的第一步是什么,很自然的,逆向的第一步当然也是大名鼎鼎“HelloWorld!”了。但是也不要因此就误认为这一节会很简单,如果你是第一次接触逆向的话,那么这一节还是有些难度的。      好的,让我们先写一个世界上最出名的程序:int _tmain(int argc, _TCHAR* argv[]){    printf("Hello

2012-07-12 03:48:43 823

原创 【原创】取FS:[0]的一个小技巧

代码:004F45A5 > 1E push ds004F45A6 0FA0 push fs004F45A8 1F pop ds004F45A9 33C0 xor eax, eax004F45AB 8B00 m

2012-07-12 03:46:45 1103 5

转载 【转载】魔兽争霸3的延迟外挂原理和制作

【详细过程】  在魔兽的联机过程中,主机负责转发其他玩家的操作,其他玩家只与主机联系。这样主机就可以干很多事情,所以延迟外挂就只能在主机上使用。  延迟外挂的初步思路是HOOK主机魔兽的网络通信函数,然后再sleep一定的MS数,来达到人为制造延迟的目的。  HOOK操作可以用微软研究院的Detours开发包方便地实现。  经过试验,发现魔兽使用send来发送,WSARecv来接受

2012-07-12 03:45:49 3326

原创 家园2 vista win7兼容补丁

最近心血来潮,想起了以前有个东西叫做家园2,随即下载下来准备回味一番。结果却在搜索中发现与vista和win7不兼容。  按照网上的方法左试右试发现还是没用,然后我愤怒了,打开了OD。  载入运行,发现问题在这里:00400110    83EC 04         sub esp,4    00400113    50              push eax0040

2012-07-12 03:44:07 2889

原创 【原创】以虚御虚-用虚拟机调试vt程式

Intel vt技术十分诱人,但是如何调试vt程式却是让人头疼,让钱包心痛的问题,在走了各种弯路后,终于摸索出一套简单易懂又省钱的vt调试方法。如果你有比我更好的方法请第一个告诉我哟!!!准备工作:首先你需要安装以下程式:1. vmware(版本6.0-7.1)2. ida(不一定用得到)3. windbg(也不一定用得到)4. 自行编译一份带vt的bochs(版本2.

2012-07-12 03:41:10 1994

原创 【原创】键盘布局0day漏洞分析

最近调了instruder发的0day漏洞:http://www.exploit-db.com/exploits/18140/把调试分析的情况写在这里。水平有限,让大家见笑了, 欢迎批评指正。dump文件的分析结果如下:EXCEPTION_CODE: (NTSTATUS) 0xc0000005 - "0x%08lx"FAULTING_IP: win32k!ReadLay

2012-07-12 03:38:03 666

原创 VirtualBox无法正常退出分析

现象:每次VirtualBox启动后,然后关闭,进程管理器里面居然还有,死活退不出去!!!你知道,向我这种经常搞windbg调试的人,怎么受得了啊~~每次都去进程管理器杀VirtualBox进程搞得我对VirtualBox印象很差啊!!!今天我实在受不了了,我决定看一下,到底发生什么原因了:1、开启VirtulBox,然后点退出,界面是关掉了,但是打开进程管理器,果然还

2012-07-12 03:36:50 3716

转载 【原创】破解vmp程序的关键点

内容:引用:PART I:vmp里面有很多handle,有一种handle很特殊,有几份copy,大致运算是:not Anot Band A , B这个好像叫什么xx门的,它是计算jcc指令的关键点,一般爆破都是找jcc指令,因此,这条指令是破解的关键点PART II:11楼说的东西是基础,在这里:http://hi.baidu.co

2012-07-12 03:34:34 1983

转载 【分享】超级菜鸟另类玩swf反汇编

抛砖引玉,说说我干的勾当,干过类似坏事情的各位也说说去年玩弹弹堂,问题技术不行,所以想写个弹弹堂外挂.弹弹堂是一款类似疯狂坦克的游戏,通过调节发射炮弹的角度和力度,把炮弹打到敌人的位置,把敌人打死或者击落,游戏很简单,随机的参数也只有风力一个,查询了下网上的一些资料,发现大家很多是使用一些很简单的截图,测量距离,计算,而参数的获得一般是采用图像识别的方法,使用这些办法,比较的原始,基本

2012-07-12 03:31:01 4003

原创 【推荐】锐捷Su1xDriver.sys 1.0.0.1 内核拒绝服务漏洞

锐捷Su1xDriver.sys 1.0.0.1 内核拒绝服务漏洞福州大学采用了星网锐捷的上网客户端,漏洞位于其Su1xDriver.sys内核模块偏移0x1119F处。锐捷为了保护应用层的SuService.exe,通过其内核模块Su1xDriver.sys hook了SSDT中的ZwOpenProcess函数,但在偏移0x112C0处的代理函数My_OpenProcess中未过滤传递无

2012-07-12 03:28:45 1763

原创 【半原创】内核中的数据结构:SplayTree

内核中的数据结构:Splay Tree    Splay Tree(伸展树)是Binary Search Tree(二叉搜索树), Daniel Sleator和Robert E.Tarjan发明。但此操作可能会花费O(n)时间,但m次操作的最坏情况为O(m*log2(n))。Splay Tree是在节点访问后,此节点将成为该树的根。如此节点位置深,则根到该节点路径上会有很多较深节

2012-07-12 03:26:32 581

转载 【原创】wingdb开发过程中遇到一个比较“头疼”的bug

我自持也写了XX行的代码,调试经验也不可谓不强大笑。但是最近遇到的这个bug,却着实让我头疼了一会...错!不是一会,是3天啊!    具体是这样的,在开发windows下的gdb GUI调试环境时,使用thread PIPE与gdb mi接口交互,在winodows 7下编写代码。上周五突然遇到一个问题:就是程序运行着就会突然崩溃。马上用ollydbg作为系统默认活动调试器,在崩

2012-07-12 03:25:31 630

原创 【原创】虚拟机检测技术剖析

前言在当今信息安全领域,特别是恶意软件分析中,经常需要利用到虚拟机技术,以提高病毒分析过程的安全性以及硬件资源的节约性,因此它在恶意软件领域中是应用越来越来广泛。这里我们所谓的虚拟机(Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件(比如VMware,Virtual PC ,VirtualBox),你可以在一台物

2012-07-12 03:23:32 942

转载 【原创】Win 7下定位kernel32.dll基址及shellcode编写

为了使shellcode在多种操作系统平台下都可以正常运行,就不得不动态的定位kernel32.dll的基地址。而被广泛使用的一种方法是通过TEB/PEB结构获取kernel32.dll基地址,我个人第一次接触是通过绿盟月刊的一篇文章“通过TEB/PEB枚举当前进程空间中用户模块列表”方才知道这种被众多编程人员使用的方法。至于这个方法的最原始出处该文作者也未提及。只得知29A杂志也有大量使用该技术

2012-07-12 03:20:17 1325

转载 在游戏中显示自己的文字和图形的方法

Hook Directx:在游戏中显示自己的文字和图形的方法这个方法出自我大概两年前的一个项目,现在经整理后贴出来和大家分享一下,利用该方法可以在一般的directx游戏里面绘制文本甚至图形对象.其实思路上非常简单,大致是这样的:要在directx中绘制文字和各种图形对象,只要获得一个类型为LPDIRECT3DDEVICE9的设备对象指针.怎样获得这个指针呢?我的方法是首先hook掉D

2012-07-12 03:17:58 1889

原创 检测并禁用隐藏服务

标 题: 检测并禁用隐藏服务作 者: ruoko时 间: 2012-04-05,09:27:50隐藏服务的概念是由hxdef 和rootkit这些后门工具提出的。这些后门工具通过挂钩系统本地调用来隐藏自己,原本通过调用Windows API调用查看系统服务的企图都是徒劳的。所以这时的系统是不可靠的,不值得信任的。目前针对查找隐藏服务的工具已经有很多,比如IceSword,knlsc

2012-07-12 03:15:06 671

原创 【原创】RING3过主防读物理内存、读写IO端口

最近拜读了王爽老师的《汇编语言》,学到了不少东西,终于能勉强逆点简单的小程序了。于是想到了Extreme神犇很早以前提出的这个点子:调用带正规签名的驱动来干坏事- -鲁大师有正规数字签名,所以它的驱动加载时不会被主防报警,而鲁大师驱动里也没有验证调用者,所以可以利用~灵感来自Extreme神犇~以前ASM完全不懂,用IDA只会F5,一看IoDispatchControl就苦逼了,所

2012-07-12 03:12:58 1546

原创 为OllyDbg增添“内存硬件条件断点”功能(1)

感谢OllyDbg的作者,写出了这么好的调试器,感谢cao_cong老师做的汉化,感谢众多插件作者,我常用的是OllyDbg v1.1【汉化第二版】(一下简称OD)。API的参数总是通过堆栈交换,局部变量也是安排在堆栈中,比如说一个数值在堆栈0012DACC位置出现了,追踪这些值的一般做法是,查找到该位置上下较近的一个“返回到XXXX”,参考这个“xxxx”位置,不难定位

2012-07-12 03:10:48 2849

转载 【原创】LDR链调试手记

LDR链调试手记   无论是编写ShellCode还是外壳程序,都需要动态的获取各个api的实际地址,最通用的方法之一,莫过于通过得到各个DLL模块的基址,再遍历其导出表。其中,获得各个模块基址中,通过PEB结构来获取的方法尤为的精简和通用。这里是我之前调试和学习时碰到的一些问题的总结,于是就有了这一篇手记。1.认识LDR链  FS段寄存器作为选择子指向当前的活动线程的TE

2012-07-12 03:08:56 3768

空空如也

空空如也

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

TA关注的人

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