http://blog.sina.com.cn/softdebug[订阅]
个人资料
公告
让生活失去色彩的不是伤痛,而是内心世界的困惑,让脸上失去笑容的不是磨难,而是禁闭心灵的缄默。
分类
    内容读取中…
skype协议分析
好友网站
小四

黑客人生

祥子

幸运de骆驼

和谐人生

返璞归真

好友
读取中...
评论
读取中...
访客
读取中...
博文

下面是修改后硬盘主扇区部分的反汇编

0000:7C00  EB 48 90 50 47 50 47 55-41 52 44 00 00 00 00 00  .H.PGPGUARD.....
0000:7C10  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
0000:7C20  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  ................
0000:7C30  00 00 00 00 00 00 00 00-00 00 00 00 00 00 03 02  ................
0000:7C40  FF 02 3F 1C 9C 00 00 00-00 00 FA EA 50 7C 00 00  ..?.........P|..
                 -----------------------
 引导程序位置:  [42]磁盘的位置[8个字节]
0000:7C00  EB48                JMP       7C4A
0000:7C4A  FA                  CLI
0000:7C4B&nbs

近日调试 Whirlpool 散列算法,它是64位的算法,且是高低格式。

下面是在它返回时,变成高低格式的。

  MOV       EDI,[EBP+0C]
  ADD       EDI,02
  LEA       ESI,[EBX+68]
  MOV       DWORD PTR [EBP+08],00000008
loopxx  :
  MOV       AL,[ESI+07]
  MOV       [EDI-02],AL
  MOV       AL,[ESI+06]
  MOV       [EDI-01],AL
  MOV       EAX,[ESI]
  MOV       EDX,[ESI+04]
  MOV       CL,28
  CALL      _aullshr
  MOV       [EDI],AL
  MOV   

读书摘抄(2009-04-11 14:38)

很多人问,为什么看历史,很多人回答,以史为鉴。

现在我来告诉你,以史为鉴,是不可能的。

因为我发现,其实历史没有变化,技术变了,衣服变了,饮食变了,这都是外壳,里面什么都没变化,还是几千年前那一套,转来转去,该犯的错误还是要犯,该杀的人还是要杀,岳飞会死,袁崇焕会死,再过一千年,还是会死。

所有发生的,是

     “方正之士,人人称羡,敬而远之,不能成事。”

     “遇人说人话,遇鬼说鬼话,遇人说鬼话人听不懂,遇鬼说人话鬼听不懂。不是圆滑,而是圆通。”

     “我说一个人,不会说他没有知识,而会说他没有常识。”

     “人在一生中要具备知识、常识、见识、胆识。其中最重要是常识。”

     “前半夜想想自己,后半夜想想别人,很多人后半夜就睡着了。”

     “外国人搞不明白的:我们中国人的‘成全’,而现在也在慢慢离我们越来越远。”

     “读书不在于你读到什么,而在于你悟到什么。”【原来老师常说的:读书不知义等于啃书皮啊】

    

    最近用createthread,创建了多个进程,进程中用到了大量临时空间,当是使用

HANDLE CreateThread(

  LPSECURITY_ATTRIBUTES lpThreadAttributes,

  DWORD dwStackSize,

  LPTHREAD_START_ROUTINE lpStartAddress,

  LPVOID lpParameter,

  DWORD dwCreationFlags,

  LPDWORD lpThreadId);
中的DWORD dwStackSize为NULL时,程序一运行就退出。后把该参数设为64*1024,就可以了。

看资料上说,其默认为1M byte看来是有问题的,使用softice调试发现,只分配一页也就是4k,如果

临时使用空间超过它就可能出问题的。

     前段时间调试程序,在一XP机器上装入driverstudio3.2使用一切正常,但几天后,一次使用microsoft自带的升级后,系统十分不好用,重装XP后,再装入driverstudio3.2,发现设置条件断点后,出现堆栈溢出。由此看来,其的堆栈溢出与系统还是有关系的。

   

    当我们在c中引用外部函数时,往往加上参数个数,这样是为了编译时,告诉编译器,在返回后,需要如何恢复堆栈指针ESP,而其实有可能你调用的函数,在返回时,已经帮你恢复了ESP指针。

    这样的函数在返回一般是 RET XX,后面的XX就是根据入口参数定义的。

    我们奇怪的是为什么,堆栈有时出些问题,程序也能正确执行呢?这要归功于每个子程序,开头与结尾的几条指令,汇编是这要的

开头:  PUSH EBP

       MOV  EBP,ESP

结尾:

       MOV  ESP,EBP

       POP  EBP           【LEAVE,等价于两条指令MOV ESP,EBP  POP EBP】

       RET

    有了开头与结尾这几条执行,中间的堆栈乱一点套,也是可以正确返回的。但如果乱大点,程序就跑飞了。

    有很多东西你可以不关心细节,但当你知

布朗运动与静默(2008-10-29 21:14)

    记得早些时候,把散步时,随意的改变路线,见岔路就拐,无目的漫游,称为布朗运动,刚毕业当老师的两年经常在公休时,做这种运动,随着时间的流失,年龄的增长,好像越来越少了。

    静默就是找一个比较安静的地方,自己什么都可以想,什么都可以不想。在学生时代,经常在晚自习后,独自一个游荡。然后找操场一角,坐下来,看着天空的星星,也不知道自己在想些什么。

    都说人是有目的的动物,也许静默与布朗运动是一种例外吧。

感悟(2008-10-28 23:37)

生活在别处--------所以我们认为,那边风景独好

没有现实,只有感觉。

生活就是一种经历。

人生就是一张单程票,我们无法回头。

享受过程,放弃我们不能控制的结果,生活就轻松很多。

没有失败,有的只是周围的环境对结果的评价而已。

成功只是一种定义,在每个心中都会有标准,且未必相同。

不走寻常路,才能发现别人看不到的景色。

自我的体现,要求你不能生活在别人的眼中。

因为我们是盲从者,所以也无法体会到开路者对过程的享受。

只有拥有自己的思想,才能拥有自由,所以自由不是别人给你的。

没有人可以给你幸福,幸福只是你的感觉。

最大的快乐是不借助于外物的快乐。

改变自己,生活也会随之改变。

对自己负责,然后再说对别人负责。

不珍惜自己的人,很难珍惜别人。

大爱无声,能放手的爱,也许才是真爱,世俗的爱,带有太多的交易成分。

有困难,克服之,有苦难,能承受,且能过去,就会成为你的骄傲,否则就是你的耻辱。

名人的龌龊事往往以轶事体现出来,且常人都能接受。所以如果你干了很多龌龊事就快点成为名人吧。

    近些日子在一个老机器上安装driverstudio3.2,操作系统windows2000调试一软件,运行一段时间后就出现,内部堆栈溢出,然后死机,只能重启,后经过多次尝试,发现是由于内存太小造成的,该机器的内存128m,看来是softice申请的内存出了问题,造成了缺页中断。且此问题在使用了条件断点后基本就会出现,而不用条件断点就没有问题。