2011年 总结

时间真快啊,今天是2011年的最后一天了,现在看看 《2011年,计划》,还真是羞愧啊,不过我还是厚着脸皮再写一下 《2011年,总结》。

《2011年,计划》中我写了四个方面的计划,工作,学习,健康,生活,现在看来相对完成度最高的是工作和健康。

工作方面虽然没有什么大的突破,但还算踏实,前半在忙一些杂七杂八的事情,后半年也算是成功的开发出了一个东西,虽然还没销售出去,但是看着程序一点一点的完善,心里也是挺高兴的,那么工作方面 可以打到70分吧。

健康方面1 2 3 点基本上做到了,不过后面两点没搞定,勉强打个70分吧。

最差的就是学习了,算了算今年写博客的数量是38篇,平均一个月3篇,还有一些是扯谈的,还有网站也没有达到预期的想法,刚开始加上了百度广告,一个月还能有两三百的收入,我们还挺高兴,可没多长时间就被封了,说是恶意点击,后来竟然google的广告也被封了。网站被封后我也有了一些思考(现在网站已经好久没有更新了),不过我们还是把网站的费用给续上了,虽然网站做的不怎么样,但是就这样放弃还是有点不忍心。网站一定要做下去,激情过后就是坚持了,不过打算对网站的方向重新定位,然后改版,还有可能会换域名什么的,这个得跟同学再商量。关于看书,离预期差的真是取趟真经的距离啊,别说一个月两本了,我这一年也就看了四五本书。看来是对自己太有信心了,还

生活方面呢,感觉自己比以前还是开朗了一些(可能是自我感觉)。

上面扯了一大堆,下面再计划下2012。如果2012世界不灭亡的话,我的计划是:生活和工作方面继续保持,学习方面就不对自己有过多的要求了,2012我只要求自己做好两件事,一是公司的项目,再接再厉,做大做好。二是把网站搞下去,搞出点样子来。其实能做好一两件事就不错了。还是那句话,激情过后就是坚持,2012让我坚持下去吧,扒拉…..扒拉…… 此处省略好几万字。

VC6生成在Win7下以管理员身份运行的程序

在你的工程中插入一个manifest文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
    version="1.0.0.0"
    processorArchitecture="X86"
    name="xxx.exe.manifest"
    type="win32"
/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
        <requestedPrivileges>
            <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
        </requestedPrivileges>
    </security>
</trustInfo>
</assembly>

其中的name可以随意的填写。注意这个文件的类型要为24,ID要为1.

Win7 中创建远程线程(摘)

以前在xp下创建远程线程的代码到了win7下就跑不起来了.在网上找一种比较简单的办法,摘过来备忘,下面是原文:

同样的代码,在XP下面随便你怎么整,WIN7的话是相当纠结的,具体哪些错误就不解释了 ~~

gg点了二十多页,在韩国某大牛的博客上总算找到一点思路(虽然看不懂韩文,但代码还算勉强看得懂吧)
原来是要用动态调用ntdll.dll >> NtCreateRemoteThreadEx ,于是over~~

说明:

1、InjectDll.exe 是注入DLL的EXE
2、dummy.dll 是一个普通DLL,加载后弹出MessageBox

下面是一个XP中远程线程注入DLL的代码,在WIN7 + OD调试的例子:

看看错误信息: 阅读更多…

Vista的启动调试(摘)

在Vista之前,NTLDR是Windows操作系统的加载程序,它负责将CPU从实模式切换为保护模式,加载内核文件和启动类型的驱动程序,然后把执行权交给内核文件的入口函数,即KiSystemStartup。

从要完成的任务角度来看,NTLDR内部又分为两个部分,一部分负责接受执行权,做模式切换,硬件检查,即启动的准备工作,这部分通常称为boot;另一部分负责加载内核文件,并为内核的运行做必要的准备,通常称为OsLoader。

Vista将以上两个部分分成两个独立的程序文件,即BootMgr和WinLoad.exe。下图描述了BootMgr和WinLoad的相互关系和它们在启动过程中的作用。


阅读更多…

用克隆磁盘镜像的方式为Bochs安装操作系统

在Bochs中安装操作系统真是太慢了,记得上次安装xp花了我几乎一天的时间,在网上看了看我这相时间还不算长的呢.这次需要在Bochs上安装Windows7,那不是得装上两天,于是想看看有没有别的办法,在网上找了找有人说用克隆磁盘镜像的方式,不过没有看到具体的方法,于是自己试了试还真可以,所以记下过程,方便以后查阅.
其实也挺简单的,也就两步,一先克隆磁盘,二根据磁盘的大小修改Bochs的配置文件.
由于我这里已经在Vmware中安装好了win7(话说在Vmware中安装win7还是挺快的),我就以我Vmware中的磁盘克隆为例,你可以从任何地方克隆你的磁盘.从Vmware中克隆磁盘有个问题就是克隆出来的镜像文件没地放,所以我们需要先添加一块磁盘来存放我们的镜像文件,具体怎么添加我就不说了,很简单,这里需要注意,你后添加的磁盘的大小一定要比要克隆的磁盘大,这样才能放下镜像文件,如下图中16G的是我要克隆的装有win7镜像的磁盘,18G的那个是我后添加存放镜像文件的.
阅读更多…

自删除程序代码(摘)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <windows.h> 
 
BOOL SelfDelete() 
{ 
   TCHAR szFile[MAX_PATH], szCmd[MAX_PATH]; 
 
   if((GetModuleFileName(0,szFile,MAX_PATH)!=0) && 
     (GetShortPathName(szFile,szFile,MAX_PATH)!=0)) 
   { 
lstrcpy(szCmd,"/c del "); 
lstrcat(szCmd,szFile); 
lstrcat(szCmd," >> NUL"); 
 
if((GetEnvironmentVariable("ComSpec",szFile,MAX_PATH)!=0) && 
   ((INT)ShellExecute(0,0,szFile,szCmd,0,SW_HIDE)>32)) 
   return TRUE; 
   } 
   return FALSE; 
} 
 
int main() 
{ 
SelfDelete(); 
return 0; 
}