PGP全盘加密的引导部分程序(2009-04-29 21:58)
下面是修改后硬盘主扇区部分的反汇编
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
计算机中的低高与高低转换指令(2009-04-29 21:36)
近日调试 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-02-24 09:54)
“方正之士,人人称羡,敬而远之,不能成事。”
“遇人说人话,遇鬼说鬼话,遇人说鬼话人听不懂,遇鬼说人话鬼听不懂。不是圆滑,而是圆通。”
“我说一个人,不会说他没有知识,而会说他没有常识。”
“人在一生中要具备知识、常识、见识、胆识。其中最重要是常识。”
“前半夜想想自己,后半夜想想别人,很多人后半夜就睡着了。”
“外国人搞不明白的:我们中国人的‘成全’,而现在也在慢慢离我们越来越远。”
“读书不在于你读到什么,而在于你悟到什么。”【原来老师常说的:读书不知义等于啃书皮啊】
最近用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,发现设置条件断点后,出现堆栈溢出。由此看来,其的堆栈溢出与系统还是有关系的。
调用外部函数时一些小细节(2008-12-14 18:23)
当我们在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)
记得早些时候,把散步时,随意的改变路线,见岔路就拐,无目的漫游,称为布朗运动,刚毕业当老师的两年经常在公休时,做这种运动,随着时间的流失,年龄的增长,好像越来越少了。
静默就是找一个比较安静的地方,自己什么都可以想,什么都可以不想。在学生时代,经常在晚自习后,独自一个游荡。然后找操场一角,坐下来,看着天空的星星,也不知道自己在想些什么。
都说人是有目的的动物,也许静默与布朗运动是一种例外吧。
生活在别处--------所以我们认为,那边风景独好
没有现实,只有感觉。
生活就是一种经历。
人生就是一张单程票,我们无法回头。
享受过程,放弃我们不能控制的结果,生活就轻松很多。
没有失败,有的只是周围的环境对结果的评价而已。
成功只是一种定义,在每个心中都会有标准,且未必相同。
不走寻常路,才能发现别人看不到的景色。
自我的体现,要求你不能生活在别人的眼中。
因为我们是盲从者,所以也无法体会到开路者对过程的享受。
只有拥有自己的思想,才能拥有自由,所以自由不是别人给你的。
没有人可以给你幸福,幸福只是你的感觉。
最大的快乐是不借助于外物的快乐。
改变自己,生活也会随之改变。
对自己负责,然后再说对别人负责。
不珍惜自己的人,很难珍惜别人。
大爱无声,能放手的爱,也许才是真爱,世俗的爱,带有太多的交易成分。
有困难,克服之,有苦难,能承受,且能过去,就会成为你的骄傲,否则就是你的耻辱。
名人的龌龊事往往以轶事体现出来,且常人都能接受。所以如果你干了很多龌龊事就快点成为名人吧。
关于SOFTICE内部堆栈溢出问题(2008-10-17 16:55)
近些日子在一个老机器上安装driverstudio3.2,操作系统windows2000调试一软件,运行一段时间后就出现,内部堆栈溢出,然后死机,只能重启,后经过多次尝试,发现是由于内存太小造成的,该机器的内存128m,看来是softice申请的内存出了问题,造成了缺页中断。且此问题在使用了条件断点后基本就会出现,而不用条件断点就没有问题。