自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Fly Follow the Heart

聆听内心深处的声音

  • 博客(241)
  • 资源 (34)
  • 收藏
  • 关注

原创 Windows中获取线程起始地址

偶尔碰到了一个小需求,要验证一个线程起始于某个模块,可以限制对代码的执行,起始于特定的线程。        线程的起始地址StartAddress,保存在了 _ETHREAD 结构中,无法从Ring3获取。kd> dt _ethread 80553740 ntdll!_ETHREAD +0x000 Tcb : _KTHREAD +0x1c0 Cre

2016-05-13 21:56:36 7163

原创 新年本应新气象

2016年了,转眼间10年了,没错,高中毕业十年了!(这人真孙子,还以为什么十年了呢!)高中毕业十年不行吗?那可是十年啊!十年是什么概念呢?一个年代,两个博士的学习年限,两届半的奥运会,三次多工作续签,六分之一的人生旅程!没错,这就是十年。        女朋友说,要在年初啊,回首一下过去,展望一下未来!其实也是,这篇文章应该写在2015年的最后一天,结果各种不情愿,也是各种没心情!就到了今天

2016-01-03 15:13:38 3338

原创 OllyDbg使用学习 笔记

1. 运行命令:        F7 -- 单步执行,遇到Call跟进        F8 -- 单步执行,遇到Call跳过,不进入        F9 -- 运行起来,相当于Visual Studio的F5        Ctrl+F9-- 运行到本函数结束(Ret指令后)        Alt+F9-- 跳出系统调用,回到应用程序中        

2015-12-31 00:18:27 4694

转载 GetLastError错误码

参考http://msdn.microsoft.com/en-us/library/ms681381(v=vs.85).aspx【0|0】-操作成功完成。【0x1|1】-函数不正确。【0x2|2】-系统找不到指定的文件。【0x3|3】-系统找不到指定的路径。【0x4|4】-系统无法打开文件。【0x5|5】-拒绝访问。

2015-11-30 22:45:02 21122

原创 Linux基础 笔记(鸟哥私房菜第二版)

1. 常用的命令包括:ls 显示文件-la  显示所有文件bc 简单计算器date 显示日期时间cal 显示日历加参数可以看指定年月的 cal 7 2015man 查看命令帮助info 查看命令帮助帮助的使用方法:空格键 向下翻页[Page Up][Page Down] Home 第一页End 最后一页/string

2015-11-30 13:25:10 3520

原创 分享好用的命令行工具

分享一个好用的命令行,Babun。用官方的题目说就是 A Windows shell you will love!        这个工具是一个集大成者,并且易于安装,更新等。如下是Babun 的Github上的一些介绍。        Babun是一个类Unix的Shell控制台程序,用于Windows上。下载地址如下:http://babun.gihub.io        下

2015-11-27 20:48:51 6330

转载 Bochs调试指令

[执行控制]c|cont                           向下执行,相当于WinDBG的"g"s|step|stepi [count]    单步执行,相当于WinDBG的"t",count 默认为 1p|n|next                       单步执行,类似于WinDBG的"p"q|quit|exit                  

2015-11-14 13:39:06 2915

原创 Source Insight简易教程(自己收藏)

1. 常用窗口作用 及其使用    1. Clip Window        保存了最近的复制 剪切的内容        还有一个功能不太清楚    2. Relation Window        显示了与当前函数或变量相关的东西        调用了那些函数,变量在那个地方被引用了。    3. Context Window        显示了当前变量,类

2015-11-13 13:11:08 3986

原创 JNI原理与使用

1. Java中调用 C库函数    Java的JDK中包含了一份JNI使用的库文件。        在Java中调用C函数,相当于 Java中声明一个接口,在C中做实现。        1. 首先需要编写Java的源文件,同时在Java类中声明函数,如:        class HelloJNI        {            // 本地方法声明 

2015-11-02 16:25:05 2821

翻译 如何窥探PDB的秘密?(How to Inspect the Content of a Program Database (PDB) File)

How to Inspect the Content of a Program Database (PDB) File  翻译自:http://www.codeproject.com/Articles/37456/How-To-Inspect-the-Content-of-a-Program-Database-P        标题写的不好,没有文学家的气质与修养,瞎看吧!     

2015-10-08 14:39:19 3250

原创 Git 学习笔记

Git 学习笔记1. 创建版本库    git init 将当前目录变为Git可管理的仓库2. 版本库操作    git add readme.txt 将readme.txt文件添加到版本库中,或者将修改过的文件添加到版本库    git commit -m "Wrote a readme file"    1. commit后面的 -m 输入的是本次提交的说明,说

2015-09-22 17:05:41 2895

原创 关于Detours/Minhook挂钩引擎的UnHook

关于Detours/Minhook挂钩引擎的UnHook        文章本身可能用处不大,很少有人会用到所说的这些,权当积累。        一直在使用Detours 和 MinHook 两个Hook引擎进行一些系统API的挂钩,实现特殊的功能。就如标题所用词,UnHook,很少将一个已经Hook的函数再次进行UnHook,所以一直没有注意到问题所在。同事的提醒,让自己有了一点兴趣

2015-09-19 11:43:55 5670

原创 X64编程总结

X64编程和X86还是有一些不同的地方,总结一下日常用到的东西,便于以后查看:1. 调用约定        调用约定对于函数调用有影响,不同的函数调用,在汇编中会因为函数调用后栈不平衡而崩溃,在C/C++语言中如果使用函数指针或以函数作为参数,造成调用栈的不平衡而崩溃。函数调用方式,说到底是函数调用栈不同。        X86的函数调用方式主要有:stdcall / cdecl /

2015-09-11 20:51:48 3481

原创 关于Windows系统调用

以Kernel32.dll 中的 ReadFile 方法为例:首先找到 kernel32!ReadFile 函数,从如下截取的汇编代码中可以看到,改函数会调用kernel32!_imp__NtReadFile指向的函数kernel32!ReadFile+0xd2:7c801962 bb03010000 mov ebx,103h7c801967 891e

2015-09-07 22:23:33 4008

原创 关于DLL导出函数的总结

一直在鼓捣DLL,每天的工作都是调试一个一个的DLL,往DLL里面添加自己的代码,但是对于DLL一直不太了解啊!今天一查资料,才发现自己对于DLL编写的一些基本知识也不了解。要学习,这篇文章先总结DLL的导出函数的方法。        首先说一下如何建立DLL工程!

2015-08-12 00:16:25 11965 1

原创 我看保护模式

保护模式,对于学过操作系统的人来说,是一个熟悉而又陌生的概念。之所以熟悉,就是所有的操作系统的书籍都会说到保护模式;之所以陌生,我敢说很多人学完了之后,压根不晓得什么是保护模式,怎么算是保护模式,再者就是它到底保护了什么东西。        “你说的不对,怎么能一棒子打死一帮人!保护模式就是进程相互隔离,实现多任务;就是有分页机制,可以节约内存。”,暂且不说对于不对,其实我也不知道我理解的是否

2015-08-02 16:01:10 4897

原创 使用IAT表注入模块到进程中 样例

模块注入到进程的方法有很多,想一一写例子,学习一下,也练习一下!        首先先从IAT表注入开始吧!        如果了解PE文件的格式的话,原理很简单。当一个模块被系统加载起来后,会遍历模块的导入表,将静态导入的函数地址填充到导入表中,以便进程执行起来后,调用到该模块时,能够使用导入函数。要获取导入函数地址,首先要将导出该函数的模块加载起来。        那方法来了,

2015-07-30 23:55:10 5349

原创 调试方法备份

1. 崩溃时自动挂接调试器可以使用如下的命令,将Windbg.exe挂接为即时调试工具。        C:\Program Files\Debugging Tools for Windows (x86)\windbg.exe -I2. 程序启动时自动启动调试器        有时,可能需要调试由另一个进程启动的应用程序的启动代码。 这样的示例包括服务和自定义设置操作。 在这些情况

2015-07-29 17:53:10 3049

原创 常用函数/功能块 记录

1. 获取高精度时间戳        主要用于测试一段代码的执行时间。通过CPU的 tick-per-secs 来获取,可以精确到微秒甚至更高。比GetTickCount() API精确到毫秒要更加精确。        代码如下: LARGE_INTEGER StartingTime, EndingTime, ElapsedMicroseconds; LARGE_INTEGER Fr

2015-07-24 21:47:09 3878

原创 Vim 学习笔记

1.打开文件vim filename 直接使用vim命令打开一个文件。q! / quit! 强制退出ZZ  保存文件为常规的Unix文件ls  列举出当前目录下的文件w   写入文件,但是不退出vimwq  写入文件并离开vim,与ZZ类似  e! / q! 退出vim编辑器,不保存编辑结果w! filename 强制覆盖现有文件!rm filena

2015-07-11 12:03:00 3174

转载 ubuntu下安装bochs

转自:http://blog.csdn.net/lilongherolilong/article/details/76839521. 安装gcc编译环境        sudo apt-get install build-essential        sudo apt-get install xorg-dev// X11 的包        sudo apt-get ins

2015-07-02 09:42:44 725

原创 MinHook源码阅读

MinHook         x86/x64 API Hook 库。它既支持X86的API Hook 也支持X64的API Hook(微软Detours支持x64的API Hook的版本死贵),项目中应用,目前没发现不稳定因素。         源码所在的Git库:https://github.com/RaMMicHaeL/minhook                

2015-04-11 20:27:27 3222

原创 Detours 源码阅读笔记

Detour库1. 源码        Detour库很小,直接编译成lib比较好,在用到的代码中做静态链接。         直接从微软官网 下载Detours: http://research.microsoft.com/en-us/projects/detours/        目前免费下载的是 Detours Express 3.0。           

2015-04-11 15:43:48 2385

原创 Windbg 专题学习

1. WinDbg 查看内存的情况:       !address -summary  :  内存概况,显示当前内存的使用情况       !address : 查看内存的情况,详细情况       !dh [module addres] :  查看模块的内存详细信息       !heap 查看堆的使用情况       !address -f:stack  : 查看栈的使用情

2015-04-06 18:16:01 910

原创 Windbg 命令 总结

基本调试:0. 内置的帮助命令:? 显示常用的命令? /D 显示常用命令和DML.help 显示.命令.help /D   以DML形式显示'.'命令(顶部会给出链接).help /D a* 以DML形式显示a开头的'.'命令 (*为通配符).hh 打开帮助文件.hh dt 打开帮助文件,并在索引定位到 dt命令version 显示调试器以及加载

2015-04-06 17:54:41 3116

原创 编写可读,简洁代码的原则

1. 代码分块原则        a. 代码要进行分块,最基本的分块方法是写成函数。                函数功能要明确,且函数的长度不宜过长。切忌将一个函数写成大过程。                尽量少用多重循环,两重以上的循环,就需要将其拆分,将较深的循环放入到函数中。2. 职责单一原则        函数要简单,每个函数尽量只完成一个功能。(

2015-03-03 14:36:25 587

原创 汇编中的跳转

汇编语言中有很多跳转,简单总结一下,以备后用。  1. 相对跳转:    JMP远跳,CALL编译成字节码的方法:      jmp远跳与CALL指令都占5个字节     JMP 32位目标地址:       E9 + (32位目标地址-下条指令地址)     或者说E9的下一条指令,加上 E9后面的值即为最终跳转目的地       E9 +

2015-02-09 09:54:55 2907 3

转载 x86平台转x64平台关于内联汇编不再支持的解决

x86平台转x64平台关于内联汇编不再支持的解决  2011/08/25   把自己碰到的问题以及解决方法给记录下来,留着备用! 工具:VS2005  编译器:cl.exe(X86 C/C++)  ml64.exe(X64 ASM64)前提:X86下内联汇编是嵌在函数当中实现的 在X86平台下,可以轻松的在C/C++代码中嵌入汇编

2015-01-16 09:49:33 1524

转载 VC2008中影响exe大小和速度的全部编译选项

转自:http://www.cppblog.com/woaidongmao/archive/2009/10/19/98920.aspx我再次强调,完全脱离编程环境的C/C++学习方法,不是好的方法,现在所谓的环境中立理论就是“什么都不学”理论,VC、GCC,主流的就两个,精通其中一个就能吃遍天下,教材里就应该选择一个大讲特讲!         作为VC的代表,今天我给大

2014-10-22 13:46:32 548

转载 dll加载问题的解决方法

dll加载问题的解决方在使用LoadLibrary() 和LoadLibraryEx()加载dll文件的时候,会产生下面的错误:this application has failed to start because XXXXX.dll was not found. Re-installing the application may fix this problem.其中xxx

2014-09-14 10:01:07 1113

转载 没有窗口的定时器

在没有窗口的程序中

2014-08-26 18:27:43 642

转载 调试方法和技巧

便于调试的代码风格:1.不用全局变量2.所有变量都要初始化,成员变量在构造函数中初始化3.尽量使用const4.详尽的注释VC++编译选项:1.总是使用/W4警告级别2.在调试版本里总是使用/GZ编译选项,用来发现在Release版本中才有的错误3.没有警告的编译:保证在编译后没有任何警告,但是在消除警告前要进行仔细检查调试方

2014-06-10 15:52:16 620

转载 对“仅通过崩溃地址找出源代码的出错行”一文的补充与改进

转自: http://www.vckbase.com/index.php/wv/1192.html读了老罗的“仅通过崩溃地址找出源代码的出错行”(下称"罗文")一文后,感觉该文还是可以学到不少东西的。不过文中尚存在有些说法不妥,以及有些操作太繁琐的地方 。为此,本人在学习了此文后,在多次实验实践基础上,把该文中的一些内容进行补充与改进,希望对大家调试程序,尤其是release版本的程序有帮

2014-06-10 12:59:50 786

转载 仅通过崩溃地址找出源代码的出错行

作为程序员,我们平时最担心见到的事情是什么?是内存泄漏?是界面不好看?……错啦!我相信我的看法是不会有人反对的——那就是,程序发生了崩溃!“该程序执行了非法操作,即将关闭。请与你的软件供应商联系。”,呵呵,这句 M$ 的“名言”,恐怕就是程序员最担心见到的东西了。有的时候,自己的程序在自己的机器上运行得好好的,但是到了别人的机器上就崩溃了;有时自己在编写和测试的过程中就莫名其妙地遇到了非法

2014-06-10 11:48:23 720

转载 在软件开发生命周期中使用应用程序验证器

zhuanzi在软件开发生命周期中使用应用程序验证器摘要Microsoft® Application Verifier (AppVerifier) 是针对非托管代码的运行时验证工具,它有助于找到细小的编程错误、安全问题和受限的用户帐户特权问题,使用常规的应用程序测试技术很难识别出这些错误和问题。本页内容 简介  什么是 AppVeri

2014-06-06 10:37:34 853

原创 Windows 7 与 360安全卫士共同作用下调试程序的一些问题

声明:本文没有黑360安全卫士的意思,相反,感觉

2014-06-04 10:22:06 1375

转载 Lua语言中pairs和ipairs的区别

Lua语言中pairs和ipairs的区别  tbl = {"alpha", "beta", ["one"] = "uno", ["two"] = "dos"}for key, value in ipairs(tbl) do        print(key, value)end-pairs()函数基本和ipairs()函数用法相同, 区

2014-01-24 14:43:34 776

转载 文件读写、table库

Lua杂记:文件读写、table库、字符串库一、table的解释(云风说的很好,摘抄如下):      lua 的整体效率是很高的,其中,它的 table 实现的很巧妙为这个效率贡献很大。  lua 的 table 充当了数组和映射表的双重功能,所以在实现时就考虑了这些,让 table 在做数组使用时尽量少效率惩罚。  lua 是这样做的。它把一个 tabl

2014-01-24 14:41:02 989

原创 《Lua程序设计》笔记之三——标准库

18. 数学库       数学库由算术函数的标准集合组成:三角函数(sin,cos,tan,asin,acos,etc),幂指函数(exp,log, log10),舍入函数(floor,ceil),max,min加上常量pi。       数学库也定义了一个幂操作符(^)       所有的三角函数都在弧度单位下工作,可以使用deg和rad函数在度和弧度之间转换。如果想在degree

2014-01-01 15:03:53 2866

原创 《Lua程序设计》笔记之二——表和对象

7. 迭代器和泛型for       迭代器是一种支持指针类型的结构,便利集合的每一个元素。Lua中常使用函数来描述迭代器,每次调用该函数就返回集合的下一个元素。       闭包是一个内部函数,可以访问一个或者多个外部函数的局部变量。每次闭包的成功调用后,这些局部变量都保存他们的值,当然如果要创建一个闭包必须要创建其外部局部变量。一个典型的闭包的结构包含两个函数:一个闭包自己,另一个是工

2013-12-31 17:16:48 2189

Get Thread StartAddress

获取线程的起始地址的样例,VS2008可以直接编译通过。

2016-05-13

InspectPDBContent

How to Inspect the Content of a Program Database (PDB) File 文章中的源代码。译文见对应的博客。

2015-10-08

UnHook示例源码

对应于《关于Detours/Minhook挂钩引擎的UnHook》博客的示例源代码

2015-09-19

IAT表注入模块

对应于文章的IAT表注入模块的示例,自己写的例子,直接可以运行。

2015-07-30

Linux Shell脚本攻略

Linux Shell脚本攻略,值得推荐的教程。实践宝典

2015-07-11

学习vi和vim编辑器 第7版

学习vi和vim编辑器 第7版 学习Vi 和 Vim的绝好教材。值得推荐……

2015-07-11

MFC Window 应用程序设计 任哲等(完整的书,非分块)

MFC Window 应用程序设计 任哲等,不错的书籍,以前传过分块的几个版本,突然今天发现,评论中被骂得不行了!看看权限,有70M的权限了,自己上传个完整的吧!以前就10M的权限,就得分三拨,没办法!

2014-03-27

SQLite库文件

SQLite 库文件,包括 sqlite3.h,sqlite3 .dll, sqlite3.lib等三个文件

2013-03-13

SQLite教程示例

SQLite的教程中的示例

2013-03-13

MSSQLtoSQLtext

将SQL 2005中的数据导出,导为SQL命令,而非分离数据库的方式。

2012-11-07

让你不再害怕指针

C语言指针集中讲解,对于涉及指针难以理解的类型进行分析,并且给出一些易错点的说明。不错的教程

2012-10-21

Code Blocks使用教程

CodeBlocks 的使用教程,以及一个cpp 参考手册

2012-10-04

C语言图形编程资料参考

C语言图形编程资料参考 教程+源代码+TurboC2.0

2012-09-23

SourceInsight(含注册机)

SourceInsight 非常好的看源码的工具,哈哈

2012-09-18

C语言深度解剖.pdf

C语言深度解剖:讲解C语言的一些深层次的知识,包括指针,内存管理等诸多易于出错的地方。

2012-09-08

深度探索C++对象模型

侯捷翻译的一本不错的书籍。对于理解C++的运行机制非常有帮助,致力于学习C++的童鞋可以阅读一下!

2012-07-28

Flash传递参数

关于Flash中的传递参数的资料,自己使用参考了一下!

2012-07-22

ActionScript 3.0 语言和组件参考

ActionScript 3.0 相关类的用法,在此文件中有详细介绍,其实就是Adobe的AS的参考文档。

2012-07-21

ActionScript 3.0安全沙箱及相关问题资料

里面有我实践过程中遇到一些问题所查找的资料,自认为这些资料基本涵盖了网上现有的资料。或许有不足的地方,但是我想阅读完这些资料,安全沙箱及其相关问题差不多也就知道怎么回事了,如何处理就那么几种解决方案。

2012-07-21

flashplayer debug 版

Flashplayer 的debug版,调试ActionScript代码需要使用Debug版得Flashplayer,里面包含了安装出现问题的一个解决方法。

2012-03-02

RakNet 的DLL库文件

RakNet的编译动态库,包含了Debug和Release版。是VS2005下编译。RakNet RakNet RakNet RakNet RakNet

2012-02-21

ChatRoom源代码

一日一点RakNet(6)中作者源代码工程文件.完整的工程,环境配置完整。使用的是DLL,而非源码。

2012-02-21

VC中的 回调函数 学习资料

VC中回调函数的资料,以备后面自己学习时再看!呵呵

2011-05-25

学习VC DLL的资料

方便以后自己寻找了!不会了直接下载下来可以看一下啊!

2011-05-25

MFC Windows 应用程序设计

MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC

2011-05-16

MFC Window 应用程序设计 任哲等

MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC MFC

2011-05-16

MFC Windows 应用程序设计 任哲等

一本不错的MFC 入门的书籍,虽然看了很长时间的MFC,但是对于其原理一直是懵懂中,看看了这本书,感觉还不错。已经有第二版了,这个是第一版,第二版写的更好一点,加入了很多东西。

2011-05-16

MFC 框架原理学习笔记

MFC框架的一个原理学习笔记!作为自己以后学习的一个资源

2011-05-16

MFC 进化笔记代码

学习MFC原理时,将MFC原来发展的每一个阶段写了一个程序例子。

2011-05-16

RakNet中文学习资料

RakNet 的一个中文的学习资料,有助于初学者尽快熟悉RakNet通信库。

2010-06-17

C语言进阶, 东南大学凌明 课程

c 语言进阶-嵌入式系统高级C语言编程 东南大学凌明老师的授课资料。

2010-05-13

Visul ASM(汇编可视化环境)

一个好用的汇编编译环境!!!!!!!!!!!!!!!!!!!!!!!

2010-05-12

虚拟机VMWare Tool的安装和共享文件设置

详细的介绍了VMWare Tools的安装以及虚拟机与主机共享文件夹的设置。

2010-02-18

空空如也

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

TA关注的人

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