自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hgy413的专栏

﹎゛Never Give Up Your Dream ..ヽ..

  • 博客(540)
  • 资源 (38)
  • 收藏
  • 关注

原创 Blockchain-搜集资料

区块链入门教程(阮一峰)Blockchain入门 - 可视化演示比特币的原理有没有想过比特币(和其他加密货币)是如何工作的?

2018-03-22 11:11:16 235

原创 chrome-IPC简介

chrome-IPC简介

2017-12-31 21:03:47 1148 1

原创 chrome-RefCountedThreadSafe所谓的线程安全是什么?

RefCountedThreadSafe的引用计数是原子操作的,所以网上查到的统一的说法线程安全,RefCountedThreadSafe也有很多非原子操作,它所谓的线程安全是什么意思 比如用scoped_refptr操作RefCountedThreadSafe跨线程会线程安全吗?写个简单的示例测试:class Test : public base::RefCountedThreadSa...

2017-12-24 14:25:41 1318

原创 chrome-智能指针的用法

scoped_ptr代码来自:base\memory\scoped_ptr.h 它包装了new操作符,保证在析构时会删除这个对象: 构造一般用法:// The input parameter must be allocated with new. explicit scoped_ptr(C* p = NULL) : ptr_(p) { }// Resetvoid reset(...

2017-12-22 13:39:29 923

原创 SVN迁移到GIT后续推送

SVN迁到GITgit svn init xxxgit svn fetch或者git svn clone xxx关联到远程服务器,如果已存在,以下二选1git remote rm origin //删除origingit remote add origin xxx.git //重新添加origingit remote 查看所有的远端git remote set-url origin x...

2017-12-17 20:33:27 2197 1

原创 23.driverbase-易错点:CreateFile返回1

原因:未定义IRP_MJ_CREATE的派遣函数,I/O管理器并没有收到一个成功的返回,所以它会返回错误

2017-08-17 17:10:48 589

原创 22.DriverBase-ObReferenceObjectByHandle通过Ring3句柄获得Ring0对象

ObReferenceObjectByHandle通过Ring3句柄获得Ring0对象

2017-08-17 17:06:58 1334

原创 21.driverbase-多线程PsCreateSystemThread

NTKERNELAPINTSTATUSPsCreateSystemThread( __out PHANDLE ThreadHandle,// 得到新创建的线程句柄 __in ULONG DesiredAccess,// 创建的权限 __in_opt POBJECT_ATTRIBUTES ObjectAttributes,// 线程属性,一般设为NULL __in_

2017-08-17 14:53:39 514

原创 20.driverbase-CONTAINING_RECODE和双向链表

CONTAINING_RECODE和双向链表

2017-08-15 15:13:07 352

原创 19.driverbase-分页与非分页宏定义

分页与非分页宏定义,#ifdef ALLOC_PRAGMA

2017-08-15 14:05:47 357

原创 77.windbg-!drvobj、.devstack(驱动对象,设备栈,AttachedDevice)

!drvobj、.devstack(驱动对象,设备栈)演示

2017-08-10 11:58:08 2170

原创 2.masm32-mul/div/xchg(16进制转成10进制)

复习MASM32,温故而知新...

2017-06-05 18:33:09 1062 1

原创 1.masm32-输出到控制台

复习MASM32,温故而知新

2017-06-05 17:51:06 2291

原创 0.masm32-搭建环境和MessageBoxA弹框

复习MASM32,温故而知新

2017-06-05 17:09:38 956

原创 76.windbg-高效排错的一个小示例(windbg保留的上下文优化后的结果)

高效排错的一个小示例(优化后的结果)

2017-06-05 15:26:54 682

原创 75.windbg-.printf(打印字符串)

.printf(打印字符串)

2017-06-05 10:39:13 2139

原创 74.windbg-wt(运行并统计函数的调用)

wt(运行并统计函数的调用)

2017-06-04 21:14:55 1617

原创 73.windbg-调试UnhandleExceptionHandler

代码如下:LONG __stdcall _UnhandledExceptionFilter(_EXCEPTION_POINTERS* ExceptionInfo){ MessageBox(0,NULL,NULL,0); return EXCEPTION_EXECUTE_HANDLER;}int main(){ SetUnhandledExceptionFilter(&_Un...

2017-06-04 14:20:41 1458

原创 53.VC(Custom)-vs项目依赖项

用了这么久项目依赖项,居然没注意到这个小细节:如果项目依赖项是lib库,你不需要在工程配置指明lib名字,或直在代码中包含lib名字,直接就可以用了

2016-03-07 20:53:42 884 1

原创 20.IDA-修改二进制文件、显示修改点

1.功能选项Edit▶Patch Program菜单是GUI版本的IDA的一项隐藏功能,用户需要编辑idagui.cfg配置文件才能激活该菜单 可用选项如图所示 1.1.Change byte用于编辑IDA数据库中的字节值。相关的字节编辑对话框如图所示 这个对话框显示了从光标所在位置开始的16个字节的值。你可以更改显示的部分或全部字节。 同时,Address表示了虚拟地址,File of

2016-02-10 21:06:41 23261 3

原创 11.IDA-this指针

所有非静态C++成员函数都使用this指针。任何时候调用这样一个函数,this都被初始化,指向用于调用该函数的对象. 最好是把this看成是传递到所有非静态成员函数的第一个隐藏参数.this存放的地方1.Visual C++利用thiscall调用约定,并将this传递到ECX寄存器中 2.GNU g++编译器则把this看做是函数的第一个(最左边)参数,并在调用该函数之前将用于调用函数的对象的

2016-02-09 17:11:37 2302

原创 72.windbg-命令行选项(command-line options)

WinDbg的快捷方式属性中的“目标(T)”栏里输入参数可以执行不同的命令,如前面提到的VM双机调试特别注意 除了-j 之外所有命令行参数都是大小写敏感的 -aExtension 设置默认的扩展DLL。默认值为kdextx86.dll或kdexts.dll。在”a”之后不能加入空格,并且不能包含.dll 扩展名。-b (仅ring0模式) 该选项有两个作用: 1.调试器在连接

2016-02-09 16:49:03 3006 1

原创 19.IDA-栈指针调节、设置函数特性

栈指针调节 IDA会尽其所能跟踪函数内每一条指令上的栈指针的变化。IDA跟踪这种变化的准确程度,在很大程度上影响着函数的栈帧布局的准确程度。如果IDA无法确定一条指令是否更改了栈指针,你就需要手动调整栈指针 如果一个函数调用了另一个使用stdcall调用约定的函数,就会出现上述情况,这是最简单的一种情况。如果被调用的函数位于IDA无法识别的共享库中(IDA拥有与许多常用库函数的签名和调用约

2016-02-03 11:26:17 6262

原创 18.IDA-创建自己的sig

工具flirt68.zip pcf.exe/pcf: 生成一个模式文件.pat sigmake.exe: 生成一个签名文件.sig流程创建PAT生成pat文件,pat.txt文件说明各个模式的格式。第一部分列举了它所代表的函数的初始字节序列,最长为32个字节。一些字节因为重定位的入口而有所不同,这些字节将得到“补偿”,每个字节以两点显示。。如果一个函数短于32个字节(例如前面代码中的_

2016-01-30 21:16:25 6045 1

原创 17.IDA-基本块的定义

基本块是一条或数条指令的组合,它拥有唯一一个指向块起始位置的入口点和唯一一个指向块结束位置的退出点,通常,为判定基本块,应忽略函数调用指令并未将控制权转交到当前函数这一事实,除非已知被调用的函数无法正常返回。 基本块在行为方面有一个重要的特点 一旦基本块中的第一条指令开始执行,块中的其他指令都会执行,直到最后一条指令 因此,你可以为每个基本块的第一条指令设置断点,当这些断点被触发时,相关

2016-01-28 17:17:50 2142

原创 16.IDA-列出函数中存在的全部call

有时待分析的函数反汇编太长,需要确认此函数调用了哪些call 选择View▶Open Subviews▶Function Calls窗口 窗口的上半部分列出了所有调用当前函数(由打开窗口时光标所在位置决定)的位置 窗口的下半部分列出了当前函数做出的全部调用如,查看fopen的反汇编调用

2016-01-28 10:30:25 5055

原创 15.IDA-查看XREF列表

查看XREF列表在某个位置显示的交叉引用注释的数量由ida.cfg控制,其默认设置为2,当然你可以改变它SHOW_XREFS = 2 // Show 2 cross-references (the rest is accessible by Ctrl-X)示例代码:int read_it; int write_it; int ref_it; void callflow() {} int

2016-01-27 18:09:57 3301

原创 14.IDA-XREF(交叉引用)概述

XREF分类 CODE XREF:代码交叉引用 DATA XREF:数据交叉引用XREF描述含义这是个代码交叉引用sub401000是被引用者,main+2A是引用者(引用sub401000的位置)下箭头表示引用者的地址比sub401000高,你需要向下滚动才能到达引用者地址(main+2A),上行反之~ 4.每个交叉引用注释都包含一个单字符后缀(箭头后面),用以说明交叉引用的类

2016-01-27 16:35:16 18856

原创 13.IDA-显示正确的函数名称(去掉c++后缀命名)

随便看一段IDA的反汇编: C++编译器用于区分重载函数的机制。为了给重载函数生成唯一的名称,编译器用其他字符来修饰函数名称 图左就是C++的后缀命名法,图右是正常的函数名字为了显示正常的函数名字,使用Options▶Demangled Names 比如,我们选中Names,反汇编将显示为: 附 如果一个二进制文件使用了后缀命名,IDA的取消改编功能会立即展示函数的参数类型和返回

2016-01-26 21:34:43 8000

原创 12.IDA-虚函数和虚表

vtable编译器会为每一个包含虚函数的类(或通过继承得到的子类)生成一个表,其中包含指向类中每一个虚函数的指针,这样的表就叫做虚表(vtable)__vfptr每个包含虚函数的类对象都获得__vfptr指针,并且是对象的第一个数据成员 编译器必须要保证虚函数表的指针存在于对象实例中最前面的位置在计算对象的总大小时,也必须考虑到虚表指针。比如new,传递给new的大小值不仅包括类(以及任何超类

2016-01-26 17:29:12 5464

原创 71.windbg-转换shellcode为汇编

很简单的小操作 1.创建一块内存 2.写入shellcode 3.看汇编以下面的shellcode为例: 0x55 0x8b 0xec 0x56 0x8b 0x75 0x08 0x33 0xc0 0x85 0xf6 0x74 0x1c 0x8b 0x0e 0x85 0xc9 0x74 0x16 0x39 0x46 0x04 0x74 0x11 0x57 0xff 0xd1 0x8b 0xf

2015-12-26 12:33:51 1469

原创 P2P-BT对端管理协议(附BT协议1.0)

对端管理指的是远端peer集合的管理(虽然自身client也可以视为一个peer,但对端管理不包括自身peer)一个客户端(client)必须维持与每一个远程peer连接的状态信息,即1V1关系(本端对某个远端peer) 在本代码中PcPeer指这种1V1关系,而不是仅指远程peer 对于每个连接连接来说,每一端的peer应该是4种状态之一:一端是interested或者not...

2015-12-14 19:07:08 6458 3

原创 52.VC(Custom)-vc助手–支持预生成宏、注释

1.打开Vistual Assist X options2.在Advanced–>Suggestions页面选中Edit VA Snippets3.右键任一选项,New一个,在左边编缉如下:之后,在VC中使用#pra就会自动弹出头文件保护生成#ifndef __$FILE_BASE_UPPER$_H__#define __$FILE_BASE_UPPER$_H__

2015-10-30 15:49:59 1825

原创 51.VC(Custom)-__super简介

http://msdn.microsoft.com/zh-cn/library/94dw1w7x.aspx__super允许您显式说明要为正在重写的函数调用基类实现。如__super::member_function();备注在重载阶段将考虑所有可访问的基类方法,可提供最佳匹配项的函数就是调用的函数。 1.__super 只能在成员函数体内显示。2.__super

2015-10-30 15:41:19 580

原创 51.VC(Custom)-__super简介

http://msdn.microsoft.com/zh-cn/library/94dw1w7x.aspx __super允许您显式说明要为正在重写的函数调用基类实现。如__super::member_function();备注 在重载决策阶段将考虑所有可访问的基类方法,可提供最佳匹配项的函数就是调用的函数。__super 只能在成员函数体内显示。__super 不能与声明一起使用。 有关更

2015-10-30 15:37:40 563

原创 50.VC(custom)-解决VS启动时activityLog.xml文件报错

在运行破解版的VisualGDB时,因为原来安装过更新的试用版本,所以activityLog.xml文件报错解决方案:1.搜索到devenv.exe所在路径2.cmd切换到对应路径3.运行devenv /resetuserdata ,4.运行devenv /log5.如果还报错,就在tools里把插件清掉 //----------------------------

2015-10-11 11:53:34 1472

原创 24.c++-lib文件简述

1.LIB可以链接其他LIB,比如:lib2依赖于lib1,libTest.exe依赖于lib2,这样肯定是OK的2.lib文件其实就是obj文件的打包而已,所以使用lib.exe可以组合它们:比如下面就是直接把lib1和lib组合成liball

2015-09-14 19:18:38 665

原创 2.DB-Mysql++实例

以下为自己写过的测试代码,确认OK以下为自己的数据库:遍历查询代码#include "stdafx.h"#include #include #include #include using std::cout; using std::endl; #ifdef _DEBUG#pragma comment(lib, "..\\debug\\mysqlpp.lib"

2015-08-21 16:00:20 2006

原创 1.DB-Mysql++、Mysql的c++封装类的编译

Mysql的语法规则可参考:http://dev.mysql.com/doc/refman/5.0/en/c-api-function-overview.htmlMysql++的官网为http://tangentsoft.net/mysql++/,下载Source Codemysql++-3.2.2.tar.gz (3.1 MB, 2015.03.18) — Library

2015-08-20 17:24:33 2111

原创 www.hgy413.com

www.hgy413.com

2014-11-01 17:31:26 1402 1

klogtest1.zip

抽象类so调用示例

2019-08-08

klogtest.7z

抽象类so调用示例

2019-08-08

multprocess.zip

multprocess.zip,IPC通讯demo

2019-07-14

keyboard-shortcuts.ipynb

keyboard-shortcuts

2019-05-18

working-with-code-cells.7z

working-with-code-cells.ipynbworking-with-code-cells.ipynb

2019-05-18

测试代码demo

测试代码demo

2019-01-05

ScreenCapture

ScreenCapture

2019-01-02

FragmentDemo源码

FragmentDemo源码

2018-11-14

ViewPagerDemo

ViewPagerDemo

2018-11-07

RecycleViewDemo

RecycleViewDemo

2018-11-04

DataBindingDemo

DataBindingDemo示例源码

2018-11-04

MDL_Driver

MDL_Driver

2017-08-16

ddkwizard-vs2008

ddkwizard-vs2008

2017-08-12

dbgengine2

dbgengine2  WindbgEngine 

2015-09-01

dbg-engine

WindbgEngine

2015-09-01

debug.exe在win7-64下模拟

1.安装dosbox,运行,debug.exe放在d盘 2.输入命令mount c d:\ 当出现Drive C is mounted as local directory d:\的时候,成功 "c"是作为虚拟c盘的意思,"d:\"是虚拟文件夹的位置(debug.exe) 3.输入c: 4.输入debug

2015-08-25

查询线程入口地址源码

查询线程入口地址源码

2013-01-13

lpk.dll

lpk.dll,Windows系统文件。

2012-07-29

RebPE.rar

RebPE.rar,脱壳技术

2012-07-10

TraceMe.exe

TraceMe.exe 动态分析技术

2012-07-02

等待loading状态图标gif动画大全

等待loading状态图标gif动画大全

2012-05-10

vs2008搭建asm模板

vs2008搭建asm模板

2012-04-20

ProcessExplorer

ProcessExplorer

2012-04-04

局域网共享的小工具

局域网共享的小工具

2012-02-18

单例代码

单例代码

2011-12-08

SetStretchBltMode测试

SetStretchBltMode测试SetStretchBltMode测试SetStretchBltMode测试SetStretchBltMode测试SetStretchBltMode测试SetStretchBltMode测试SetStretchBltMode测试SetStretchBltMode测试SetStretchBltMode测试SetStretchBltMode测试SetStretchBltMode测试SetStretchBltMode测试SetStretchBltMode测试

2011-09-17

自绘对话框基类示例代码

自绘对话框基类示例代码自绘对话框基类示例代码自绘对话框基类示例代码自绘对话框基类示例代码

2010-12-26

无边框/有边框菜单自绘Demo

无边框/有边框菜单自绘Demo无边框/有边框菜单自绘Demo无边框/有边框菜单自绘Demo无边框/有边框菜单自绘Demo

2010-12-13

MFC实现透明位图透明背景

MFC实现透明位图透明背景Demo,随手写的,笔记之

2010-12-08

DbgView.exe和使用类

DbgView.exe和使用类,方便以后备用

2010-12-01

透明背景的Static的Demo

透明背景的Static的Demo,随手写的,笔记之,以备后用

2010-11-24

结束已知应用程序名的进程Demo

结束已知应用程序名的进程Demo,笔记,以备以后查用

2010-11-24

一个简单的拖拽实例备份

转自好友的,一个拖拽实例,嘿嘿,自己也备个份,转的当然不要分。

2010-11-24

MFC中文类成员函数大全

中文版的,里面有很详细的每个MFC的类的成员函数的中文详解,对开发的很有帮助,

2010-07-04

华为IPD培训完整资料

华为IP培训的完整资料,很详细,很值得深入研读,强力推荐,强力推荐

2010-03-11

软件开发技术基础(C++描写数据结构)

我看过很多用C++写数据结构的书,没有一本像这里写的简单,一目了然,不会有迷惑感,强力推荐

2009-10-29

C++程序员面试宝典

非常经典的书,很多C++易犯的误区都能在这找到

2009-10-29

空空如也

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

TA关注的人

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