孤注一掷

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年10月17日

摘要: 在使用WinDBG时,要加载调试符号则是使用的编译器生成的标准PDB调试库。而在OD中,有两类调试信息来源:1.PDB文件2.LIB文件其中,LIB文件在查找导入符号时,能够发挥重要的作用。下文将解释OD和VS2008使用LIB库的一些条件:1.简介例如众所周知的MFC库大量使用了DLL导出序号,因此在OD中查看这些导入信息时,都只能看到序号。为了增加可读性,可以在OD中使用 “选择导入库” 功能来加载LIB信息,这样就可以在名称表中看到DLL的原始导入名称了。在创建DLL工程时,程序员可以选择以序号输出导出函数。2.VC2008的编译设置在VC2008中,可以使用DEF文件来完成这项任务。其 阅读全文
posted @ 2012-10-17 11:00 孤注一掷 阅读(2601) 评论(0) 推荐(0) 编辑

2012年10月16日

摘要: 由于大内存的普及,很多人都将操作系统升级到WIN7来获得更多的可用内存。但是升级后,OD的调试发现一些问题:1.配置经过一些测试,发现在win7 x64下,如果没有满足以下配置条件:[Settings]Ignore TRAP=0Ignore custom exceptions=0则会发生异常2.兼容性经过测试,在WIN7下将OD执行程序设置成WINDOWS XP SP3兼容模式则可正常调试32位程序。 阅读全文
posted @ 2012-10-16 20:11 孤注一掷 阅读(446) 评论(0) 推荐(0) 编辑

2012年10月13日

摘要: 看一个类在内存中的布局最直接的方法是使用OD之类的调试器,动态跟踪关于类成员的存取代码,但是该方法使用起来不是很方便,而且也有可能因为有的成员的访问代码不便跟踪。解决之道是:VC编译器(CL.EXE)提供了一个隐藏开关,用于打印编译器为类所确定的类Layout信息。该方法最好在命令行下使用,因为在IDE中编译会在每行头部输出额外的信息,这样会打乱原始输出。下面介绍使用技巧:首先写一个类(类文件分别为test.h和test.cpp):class Test {protected: int a; int b;public: Test(void); ~Test(void);};开关1:-d1repor 阅读全文
posted @ 2012-10-13 15:32 孤注一掷 阅读(473) 评论(0) 推荐(0) 编辑

摘要: 查看系统函数的反汇编代码时会发现开头有个"mov edi,edi"(2字节),再往前则是5个nop指令(当然这不会引人注意),可是"mov edi,edi"有什么用了.上网搜索"mov edi,edi",结果让人惊奇,据说系统函数都添加了这段"无用"的代码,为的是Hot Patching,详细内容请自行搜索.通过改写代码来挂接API时,一般是移动前几个字节加入jump指令,对于"mov edi,edi"开头的函数也习惯性的这样处理.可现在情况不同了,这7个字节提供了方便,文中提到了更好的办法,在 阅读全文
posted @ 2012-10-13 14:46 孤注一掷 阅读(1987) 评论(0) 推荐(0) 编辑

摘要: 最近在研究C++的逆向,为了了解VC编译器的代码生成规则,经常自己编写测试代码,然后使用VC编译,再通过Ollydbg来查看反汇编情况。但是,由于默认程序都是生成Debug版本,中间插入了一些未优化代码,尤其是堆栈检查指令CC,不但干扰我的分析调试过程,同时在实际的第三方程序调试过程中,也很少有Debug版本,所以我需要去掉这些信息。为什么不直接使用Release版本编译呢,这是因为默认的的Release优化是很可怕的,比如我写了一些简单的类和过程调用,都会被直接优化掉的,因此为了还原真实的程序意图和流程,我决定在Debug版本下自己控制编译选项,生成我需要的二进制码。本次测试的代码很简单,如 阅读全文
posted @ 2012-10-13 01:18 孤注一掷 阅读(1088) 评论(0) 推荐(0) 编辑

摘要: 转自:http://www.cnblogs.com/Kane_zzt/archive/2009/02/04/1383797.html可以通过Settings -->Project-->C/C++-->Customize来设置这个编译开关。VC 编译命令开关/C: 在预处理输出中保留注释语句/c: 只编译,不连接,相当于在"Build"菜单下选择了"Compile"/D: 定义常量和宏,与源程序里的#define 有相同效果/E:预处理C、C++源文件,将源文件中所有的预编译指令及宏展开,将注释去掉,然后将预处理器的输出拷贝至标准输出设备 阅读全文
posted @ 2012-10-13 00:51 孤注一掷 阅读(285) 评论(0) 推荐(0) 编辑

2012年10月8日

摘要: 转自:http://hi.baidu.com/zwegpcwvtybivxq/item/a8b7e6c15e8b15155150581f最近做了一个Windows下的异常处理模块,查阅了一些新的资料,结合我自己的理解,将一些点滴记录如下,希望对兄弟们有所帮助。一、C++标准异常也就是try、throw、catch这三个关键字。try{ …… throw <exception-data> ……}catch (<exception-declaration 1>){ ……}catch (<exception-declaration 2>){ ……}……try块中的 阅读全文
posted @ 2012-10-08 23:46 孤注一掷 阅读(3130) 评论(0) 推荐(1) 编辑

2012年10月1日

摘要: [Versions]4613=QQForWindows8(1.1.0.321)460D=QQForWindows8(1.0.245.0)2F23=QQ2012Beat3(4923/4925)2F1D=QQ2012Beta3体验版(4877)2F17=QQ2012Beta3体验版(4827)2F0B=QQ2012Beta2视频版(1016)2E5D=QQ2012Beta2(3449[Q+])2E57=QQ2012Beta2(3443)2E51=QQ2012Beta2安全防护版2.7(3208)2E4B=QQ2012Beta2(3470/3562)2E0F=QQ2012Beta2安全防护版2.7. 阅读全文
posted @ 2012-10-01 00:30 孤注一掷 阅读(851) 评论(0) 推荐(0) 编辑

2012年9月29日

摘要: Balsamiq Mockups 阅读全文
posted @ 2012-09-29 09:57 孤注一掷 阅读(100) 评论(0) 推荐(0) 编辑

摘要: http://nosec.net/Analyze/4.htmlhttp://blog.sina.com.cn/s/blog_949a926b01012thn.htmlBAhttp://blog.csdn.net/zym_123456/article/details/3948406http://space.189works.com/home-space-uid-10143574-do-blog-id-717.html 阅读全文
posted @ 2012-09-29 09:57 孤注一掷 阅读(175) 评论(0) 推荐(0) 编辑