11 liang_lq

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 6w+

知识点记录

1、在DLL的初始化函数中应该仅进行一些简单的初始化任务,例如设置线程局部存储(TLS),创建同步对象和打开文件等。它绝对不能调用 LoadLibrary 函数,因为这可能在 DLL 加载顺序上造成循环依赖。这可能导致即将使用一个 DLL 但是系统还未对它进行初始化。同样,你也不能在入口点函数中调用 FreeLibrary 函数,因为这可能导致即将使用一个 DLL 但是系统已经执行完了它的终止代码

2016-07-26 18:21:25

关于类的大小

类的大小可以归纳以下几个原则:1、类的大小为类的非静态成员数据的类型大小之和,也就是说静态成员数据不作考虑。2、类的大小与类中的构造函数、析构函数以及其他的普通成员函数无关(虚函数除外),只与它当中的成员数据有关。3、虚函数由于要维护虚函数表,所以要占据一个指针大小,也就是4字节。4、为了优化存取效率,类的总大小也遵守类似class字节对齐的(与基本数据类型中的长度最大的对齐)。

2013-08-15 10:47:34

关于VC的一些编译错误

1、fatal error C1010: unexpected end of file while looking for precompiled header directive解决:在cpp文件中加入#include "StdAfx.h"

2013-08-15 10:45:30

Kali安装VirtualBox

1、到https://www.virtualbox.org/wiki/Linux_Downloads下载VirtualBox的安装文件。我下载的是:Debian 7.0 ("Wheezy")  i386 |  AMD642、进入到存放安装文件的目录,执行命令安装VBox:dgkg -i virtualbox-4.2_4.2.16-86992~Debian~wheezy_amd64.

2013-08-13 16:24:10

关于rootkit

一、定义rootkit是由有用的小型程序组成的工具包,使得攻击者能够保持访问计算机上具有最高权限的用户“root”。换句话说,rootkit是能够持久或可靠地、无法检测地存在于计算机上的一组程序和代码。rootkit提供了两个主要功能:远程命令和控制,以及软件窃听。远程命令和控制(简称远程控制):包括对文件进行控制,导致系统重启或“死机蓝屏”,以及访问命令shell(即cmd.exe或

2013-06-24 18:17:33

用于同步的等待函数

等待函数可使线程自愿进入等待状态,直到一个特定的内核对象变为已通知状态为止。这些等待函数中最常用的是WaitForSingleObject:DWORD WaitForSingleObject(HANDLE hObject, DWORD dwMilliseconds);  当线程调用该函数时,第一个参数hObject标识一个能够支持被通知/未通知的内核对象(前面列出的任何一种对象都适用

2013-06-23 06:12:35

关于线程池

线程池的技术背景  在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。如何利用已有对象来服务就是一个需要解决的关键问题,其实这就是一些"池化资源"技术产生的原因。比如

2013-06-23 05:51:51

线程的同步(四)---信号量

信号量内核对象用于对资源进行计数。它们与所有内核对象一样,包含一个使用数量,但是它们也包含另外两个带符号的32位值,一个是最大资源数量,一个是当前可用资源数量。最大资源数量用于标识信标能够控制的资源的最大数量,而当前资源数量则用于标识当前可以使用的资源的数量。信号量的使用规则如下:• 如果当前可用资源的数量大于0,则发出信标信号。• 如果当前可用资源数量是0,则不发出信标信号。

2013-06-23 03:49:58

DiffingSuite的安装问题

1、下载地址:http://www.eeye.com/Resources/Security-Center/Research/Tools/eEye-Binary-Diffing-Suite-EBDS2、下载完成后安装,安装好后IDA的插件里应该就有AnalIDA(Alt+9)的插件了,如果没有,则需要手动拷贝文件:1)将Diffing Suite\Plugins目录下的ana

2013-03-06 15:12:04

壳的世界(一)

1、所有的Delphi7界面程序,进入到OEP后的第一个函数内容都类似于如下形式:00405BC8 /$ 53 push ebx00405BC9 |. 8BD8 mov ebx, eax00405BCB |. 33C0 xor eax, eax00405BCD |. A3 9CD0440

2012-12-08 00:03:41

ACProtect 1.40 - 1.41 - RISCO Software Inc. 脱壳

文章整理自黑鹰视频教程1、查壳显示“ACProtect 1.40 - 1.41 - RISCO Software Inc.”2、OD载入(用看雪论坛上的OD即可),打开“调试选项->异常”,除了“非法访问内存”和“同时忽略以下指定的异常或范围”这两项不勾以外,其他的都打勾。3、重新载入程序,F9运行,程序断下来,如下所示:0043374D |. CD 01 in

2012-11-22 11:33:01

驱动对象和设备对象

----------------以下内容摘自《寒江独钓》-------------------1、驱动对象:  一个驱动对象代表了一个驱动程序。或者说一个内核模块。驱动对象的结构如下(这个结构的定义取自 WDK中的 wdm.h)。下面有一些域用省略号代替。 typedef struct _DRIVER_OBJECT { // 结构的类型和大小。 CSHORT T

2012-11-02 11:28:29

main函数的识别

一般来说,用IDA反汇编程序时,IDA会自动识别出main函数。如果我们不是用IDA反汇编,那又怎么识别main函数呢?1、WinMain函数的识别先来看看WinMain函数的原型: int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance,

2012-10-30 11:15:52

CPUID详解

转自http://hi.baidu.com/sinbad_li/item/341e0b2c16cbef0a73863e23CPUID是Intel Pentium以上级CPU内置的一个指令(486级及以下的CPU不支持),它用于识别某一类型的CPU,它能返回CPU的级别(family),型号(model),CPU步进(Stepping ID)及CPU字串等信息,从此命令也可以得到CPU的缓存与T

2012-10-24 15:56:31

反汇编中遇到的一些特殊的指令

1、CDQ CDQ 把原来的 EAX 扩展成 EDX:EAX (带正负值), 这个指令把 EAX 的第 31 bit 复制到 EDX 的每一个 bit 上。例如:        假设 EAX 是 FFFFFFFB (-5) ,它的第 31 bit (最左边) 是 1, 执行 CDQ 后, CDQ 把第 31 bit 复制至 EDX 所有 bit        EDX 变成 FFFFFF

2012-10-24 15:33:00

Windows下查看进程对应的应用程序

1、在 “运行”里面输入“wmic”并回车 (注意:第一次使用会出现“正在安装WMIC”的字样),会进入一个类似cmd命令行的界面。 2、输入“Process”并回车,即可以看到进程对应的应用程序了,如下所示:C:\Documents and Settings\Administrator>wmicwmic:root\cli>processCaption

2012-09-24 16:25:38

视频笔记(一)

第二课:1、定位到是否注册的代码1)运行程序2)打开可执行模块窗口,双击本程序的模块,进入到反汇编窗口,如果代码如下所示:00401000     6A             DB 6A                                    ;  CHAR 'j'00401001     FF             DB FF00401002     6

2012-08-13 14:16:07

关于万能消息断点

在看雪上看到个帖子,帮了我很大的忙,记录一下:http://bbs.pediy.com/showthread.php?t=98274 1、在user32空间搜索二进制:引用:55 8B EC 56 57 53 68 CD AB BA DC 56 FF 75 18 FF 75 14 FF 75 10 FF 75 0C找到如下所示:77D1870C 55

2012-03-29 20:02:32

shl和shr

shl和shr是逻辑移位指令。shl是逻辑左移指令,它的功能为:(1)将一个寄存器或内存单元中的数据向左移位;(2)将最后移出的一位写入CF中;(3)最低位用0补充。 指令:mov al,01001000bshl al,1 ;将al中数据左移一位 执行后(al)=10010000b,CF=0。 注意:如果移动位数大于1时,必须将移动位数放在cl中

2012-03-15 10:50:26

PECompact 2.5脱壳

文章来源于黑鹰教程PECompact 2.5 Retail -> Jeremy Collake设置Ollydbg忽略所有的异常选项。od载入01001000 N>  B8 90BA0101     mov eax,NOTEPAD.0101BA9001001005     50              push eax

2012-01-03 16:43:35

查看更多

勋章 我的勋章
    暂无奖章