上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 62 下一页
摘要: int main(int argc, char* argv[]){ int i; scanf("%d", &i); int j = i / 2; printf("%d", j);return 0;}编译后:10: int j = i / 2;00401039 mov eax,dword ptr [ebp-4]0040103C cdq0040103D sub eax,edx0040103F sar eax,100401041 mov dword ptr [ebp-8],eax即:M / 2 为mov eax,Mcdqsub eax,edxsar e 阅读全文
posted @ 2012-06-22 23:27 瓜蛋 阅读(429) 评论(0) 推荐(0) 编辑
摘要: 1.enter等价于:push ebpmovebp, esp在函数的入口时常用。2.leave等价于:movesp,ebppopebp;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>一段常见的代码格式如下:.text:00401450 push ebp.text:0040145 阅读全文
posted @ 2012-06-20 23:04 瓜蛋 阅读(396) 评论(0) 推荐(0) 编辑
摘要: 刚才还在逆一个软件的算法,直是非常郁闷,一个算法整整逆了近15天(几乎每天逆2小时)。最令我郁闷的是,到现在还是没有逆出来。究其原因大概是经验不足和汇编不强导致。最近还在烦一个问题就是结婚的问题,感觉好多矛盾。我想这是一个错误的选择,有些原则就应该坚定,然而有些时候连自己的原则也破了,这是一种不坚定... 阅读全文
posted @ 2012-06-19 23:19 瓜蛋 阅读(258) 评论(1) 推荐(0) 编辑
摘要: sudami对初学者的一点建议1.若对Windows底层开发没有兴趣,不建议继续深究,若有些兴趣可以继续。2.先广泛打基础,比如C/ASM/C++/MFC,再学习Windows核心编程,对R3上的一些开发有所熟悉,再系统的学习《操作系统》等书籍,理解整个系统的原理,构架,实现。3.有了以上基础,可以开始阅读一些驱动入门书籍,如《Windows内核情景分析》,多上Google搜索资料,下一份WRK/ReactOS,没事翻一翻,搭好驱动编译环境后,可以尝试写些小驱动,在蓝屏中摸索总结,从而积累初级的经验。4.等成了驱动开发初级工后,可开始学习Windbg,IDA的使用,多看源码多F1看帮助文档。5 阅读全文
posted @ 2012-06-15 06:48 瓜蛋 阅读(740) 评论(0) 推荐(0) 编辑
摘要: 在多线程中发现这问题数据库组件的构造放在构造函数里就正常了,不能放在Execute函数执行体内 阅读全文
posted @ 2012-06-14 13:08 瓜蛋 阅读(412) 评论(0) 推荐(0) 编辑
摘要: 估计很多人都知道装载DLL过程中的多线程死锁是因为DllMain的顺序调用规则,但是很少人了解卸载DLL过程中的多线程死锁也是由于同样的原因。例如,如果一个DLL的DllMain的代码写成下面的形式,且进程中有至少一个DLL的DllMain没有调用DisableThreadLibraryCalls函数的话,那么卸载该DLL过程中就会因为DllMain的顺序操作特性带来DLL内部线程没有完全退出的错误。 //----------------------start ------------HANDLE g_thread_handle =NULL; // 该DLL内部线程的句柄... 阅读全文
posted @ 2012-06-12 00:28 瓜蛋 阅读(4075) 评论(1) 推荐(1) 编辑
摘要: 转发朋友写的技术文章,比较不错Inter-Session Communication DBMS_ALERT 会话间通信 DBMS_ALERT Inter-Session Communication DBMS_ALERT会话间通信 DBMS_ALERT提问:如何让程序获知数据被改变?回答:1.轮询表, 查询count(*)等查看记录是否增加了2.轮询审计表(audit table), 查询count(*)或时间戳字段, 得知表是否有更新3.DBMS_ALERT4.DBMS_AQ ...dbms_alert首次出现在Oracle版本7中, 是数据库会话间通信的一种实现方式, 提供了一种向多用户广播 阅读全文
posted @ 2012-06-10 16:26 瓜蛋 阅读(1165) 评论(0) 推荐(1) 编辑
摘要: 讲述一个关于高考的“黑客”故事:用2B铅笔“注入”阅卷系统今天,又是一年一度高考的日子。回想起16年前(1996年)……那是高中的一段艰苦岁月……几乎每天都要进行一场考高模拟测试,同学和老师们,都是叫苦不迭。那时候,用2B铅笔填涂答题卡的答卷方式,已经在高考中开始实施。教育主管部门和校方,为了“实战演练”考生们的临场技能,在模拟考试中,也实行了答题卡方式。那是一次全市范围的英语模拟考试,答题卡将被上交到市级考试中心机构,进行计算机阅卷处理。我早早地就做完了试题。闲着没事,就开始琢磨起这个“答题卡”来。直到现在,我还清楚地记得,在那张长方形答题卡上面的最右边,从上到下,几十个小黑块与空白相间排列 阅读全文
posted @ 2012-06-10 00:10 瓜蛋 阅读(394) 评论(0) 推荐(0) 编辑
摘要: FS寄存器指向当前活动线程的TEB结构(线程结构)偏移说明000指向SEH链指针004线程堆栈顶部008线程堆栈底部00CSubSystemTib010FiberData014ArbitraryUserPointer018FS段寄存器在内存中的镜像地址020进程PID024线程ID02C指向线程局部存储指针030PEB结构地址(进程结构)034上个错误号 阅读全文
posted @ 2012-06-09 19:41 瓜蛋 阅读(1805) 评论(0) 推荐(0) 编辑
摘要: 今天一个同事突然问我索引为什么失效。说实在的,失效的原因有多种:但是如果是同样的sql如果在之前能够使用到索引,那么现在使用不到索引,以下几种主要情况:1. 随着表的增长,where条件出来的数据太多,大于15%,使得索引失效(会导致CBO计算走索引花费大于走全表)2. 统计信息失效 需要重新搜集统计信息3.索引本身失效 需要重建索引下面是一些不会使用到索引的原因索引失效 1) 没有查询条件,或者查询条件没有建立索引 2) 在查询条件上没有使用引导列 3) 查询的数量是大表的大部分,应该是30%以上。 4) 索引本身失效 5) 查询条件使用函数在索引列上(见12) 6) 对小表查询 7) 提示 阅读全文
posted @ 2012-06-09 17:20 瓜蛋 阅读(315) 评论(0) 推荐(0) 编辑
上一页 1 ··· 32 33 34 35 36 37 38 39 40 ··· 62 下一页