随笔分类 -  .NET

C#来做virus的设想
摘要:偶不懂PE格式,不懂strongname应该如何处理,所以,下面是一个非常笨的方法,假设有一个exe,我现在要感染它,因为上面的原因决定,我只能选择一个迂回的路线。把exe用ildasm搞成.il代码,然后把我的il代码加进去,然后ilasm重新编译该il,呵呵。这样做,需要被感染的机器安装有ildasm(如果不装sdk,没这玩意儿)。简单的例子:我想输入hello,fqq!那么写一个最小的代码,... 阅读全文

posted @ 2004-07-13 15:40 鞠强 阅读(1789) 评论(8) 推荐(0) 编辑

多年前的《曹操传》存档修改器
摘要:sourcecode丢失了,。只剩下了exe和dll文件。原来使用bcb3写的,其实这种静态的存档修改器,主要就是对于文件格式的分析了。及时的存盘和fc/b,基本上就能把一个结构分析的差不多。写过好几个游戏的,这个特殊一点,因为头像及所有的图形信息,都在resource dll中,所以直接读取就可以了。.net下如何读取老的resource dll,我没试验过。如果没有简单的class,按么dll... 阅读全文

posted @ 2004-07-10 09:00 鞠强 阅读(24053) 评论(38) 推荐(0) 编辑

所有的WMI可以使用的class
摘要:这是n年前从msdn上找到的,我不知道是否有什么地方可以search到这些类?现在类名都是在代码中hardcode的,呵呵。知道这些类名之后,写一个最简单的应用,是可以知道系统的全部硬件、软件信息。比如说CPUID,主板序列号,硬盘出厂的ID号,CPU速度,网卡号等。从前写过一个程序放在csdn上可以下载,blog上不知道是否可以放一个连接?我把source code放上来。 好佩服自己!!!这么... 阅读全文

posted @ 2004-07-09 15:44 鞠强 阅读(4218) 评论(12) 推荐(0) 编辑

做了一个petoolkit的gui版本,放几张图上来。
摘要:mono里面有全部的源代码,但是我很懒,它命令行的输出不好看,而且速度比较慢,于是自己做了一个GUI版本的。mono代码在这里:D:\\mono\\mcs-1.0\\class\\Mono.PEToolkit。唯一修改的地方,是Rows.cs中所有的类都增加了一个对于接口方法string Dump();的实现。其他的,没有任何改动。不是用reflection做的,而是直接分析pe header得到... 阅读全文

posted @ 2004-07-09 14:32 鞠强 阅读(1110) 评论(4) 推荐(0) 编辑

对于构造方法的简单代码示例
摘要:本来不应该贴在这里的,会被众多高手贻笑大方的。不过,有两个同事这两天问我这个问题,我感觉大家的基础知识还不扎实,所以就把一个简单的demo放出来。加之这个站点也有很多非博客的人来看,权作一个新手入门。 using System;namespace Construture{ class Demo { [STAThread] static void Main(... 阅读全文

posted @ 2004-07-06 18:00 鞠强 阅读(866) 评论(2) 推荐(0) 编辑

对DDLLY的关于属性与方法new的理解
摘要:property只是一个包含了一个或者两个的method的refrence。“no more,no less”。为了减少对外界的暴露情况,对于property引用的method,简单的在metadata上设置了一个specialname的attribute而已,通知编译器变异的时候,把这些方法隐藏掉。所以,new一个method覆盖property是可以的。这一点,编译器如果要检查,也只能检查me... 阅读全文

posted @ 2004-07-06 17:54 鞠强 阅读(750) 评论(6) 推荐(0) 编辑

发现了MS的datagird的一个bug(经过ms确认了)
摘要:当然,应该说是behavior的从framework1.0到1.1的改变。但是这个改变,可把我们害苦了!!!下面是我做得demo。问题描述:一个winform的datagrid control,放到winform中,和放到ie中(就是smartclient方式),那么在Column的LostFocus中的behavior是不同的。举例来说:一个datagrid,两列,三行。如下:1 a2 ... 阅读全文

posted @ 2004-06-21 18:14 鞠强 阅读(1917) 评论(14) 推荐(0) 编辑

做了一个简单的类查看器
摘要:为了分析竞争对手产品的技术架构(代号i6,是哪个,我就不说了,呵呵),自己做了一个类查看器。本来呢,使用ildasm之类的可以看的,或者一些.net的反编译器,但是这些工具都有一个不足之处。举例来说,bin目录下有.net组件20个,那么用这些工具查看的时候,会显示20个一级treenode,即使很多类都在一个namespace下面(物理上存在于不同的文件中)。代码很简单,注意的就是:1、GetT... 阅读全文

posted @ 2004-06-10 18:03 鞠强 阅读(1601) 评论(14) 推荐(0) 编辑

第二次安装.net2005地感受
摘要:这是第一次的,请访问这个连接:http://www.cnblogs.com/juqiang/archive/2004/04/16/6282.aspx这是今天中午刚安装完的,大概看了一下。0、版本是v8.0.40301.9(pd4.040301-0900)1、v1.0的ildasm无法打开v2.0的system.dll,问了微软,增加了很多features。包括pe header,都修改了不少。看了... 阅读全文

posted @ 2004-06-09 14:12 鞠强 阅读(1219) 评论(1) 推荐(0) 编辑

SizeOf与Structure与Managed Code
摘要:中午刚刚提交给MS一个case,问题描述如下:(这是一个开源的EXCEL的代码,原来是用vb.net写的,我用C#改写了一遍。vb.net中使用的API:FilePut是没有这个问题的,我自己写的这个,就是不行。) 下面的Marshal.SizeOf(vt)这行代码中,对于我下面给出的例子里面,我希望的size应该是2+2+1,而不是内存对齐后的6。我如何得到5这个值? private void... 阅读全文

posted @ 2004-05-31 15:58 鞠强 阅读(2342) 评论(6) 推荐(0) 编辑

一个比较好用的日志记录系统
摘要:首先声明,没有按照AOP的方法来做,现在还是显示调用的。using System;using System.IO;using System.Collections;using System.Runtime.InteropServices; using ICSharpCode.SharpZipLib.Zip;using ICSharpCode.SharpZipLib.Zip.Compression;... 阅读全文

posted @ 2004-05-18 17:19 鞠强 阅读(2225) 评论(6) 推荐(0) 编辑

.NET中一些常见代码的性能问题
摘要:这是我从前给项目组同事做培训的时候写的一些例子,大家自己可以try一下,看看性能上有什么不同。1、StringBuilder和String(差别很大) string s = ""; long t1 = System.DateTime.Now.Ticks; for(int i=0;i<10000;i++)s += Convert.ToString(i); long t2 = Syst... 阅读全文

posted @ 2004-04-23 12:31 鞠强 阅读(3013) 评论(2) 推荐(0) 编辑

(旧文重贴)看看这两段代码有什么不同?
摘要:public class Test { public static int test = 0; Test() { test++; } Test(int i):this() { test += i; }//test code here:Console.WriteLine(Test.test); //第二个代码 public class Test { public stat... 阅读全文

posted @ 2004-04-16 13:32 鞠强 阅读(795) 评论(6) 推荐(0) 编辑

(旧文重贴)对于Initializer和Constructor的第二次了解
摘要:Initializer类似于PreProcess一样,在变量被使用前进行的相关处理,但是只执行一次。而Constructor在每次new instance的时候,都会被call一次。如果从作用域上看,类似于static和non-static方式。 中文版的里面印刷错误比较多,上次我发现的关于Version的原著中的错误,这个译本也没有改进。但是总体上说,我昨天1个小时的时间翻完了5-10章,总... 阅读全文

posted @ 2004-04-16 13:30 鞠强 阅读(652) 评论(0) 推荐(0) 编辑

(旧文重贴)这么长时间一直以为的SmartClient方式下自动下载文件的目录是dynamic的,但是,我好像错了
摘要:昨天看了中文版的Essential.net中的AppDomain那部分(英文版的268页),我写了如下代码(但是在winform下没有成功,我的iis坏了,我也懒得把这个control嵌入到html中,所以,下面的代码没有经过验证): System.AppDomainSetup ads = new System.AppDomainSetup();string s = String.Format("... 阅读全文

posted @ 2004-04-16 13:30 鞠强 阅读(1159) 评论(2) 推荐(0) 编辑

(旧文重贴)装上了.net2005,其实就是whidbey,有几点感受
摘要:1、这连一个beta版本都不算,正式版ms又推迟了,要到明年6月份左右才出来。2、安装前,需要安装MDAC9,还有.net framework2.0(就是以前传说的1.2)。3、安装目录最大的改变,不是2002、2003这么命名了,default是C:\Program Files\Microsoft Visual Studio 8\这个目录,感觉象是回归到了office安装的年代。当然,也许正式版... 阅读全文

posted @ 2004-04-16 13:28 鞠强 阅读(1362) 评论(0) 推荐(0) 编辑

(旧文重贴)昨天作了一个RemoveAssemblyFromGac的小工具
摘要:也须大家经常会碰到,在%windir\assembly中,有很多重名的assembly,删除不掉。提示引用技术大于0。这个小工具,是我从前看mono的时候,学习里面的gacutils的代码后写的。其实原理很简单,就是stop aspnet service,然后remove file,remove directory,就ok了!呵呵。 这个工具主要是给我们的.net项目组使用的。 2004年3月... 阅读全文

posted @ 2004-04-16 13:26 鞠强 阅读(895) 评论(0) 推荐(0) 编辑

(旧文重贴)刚才和东大的原兄讨论
摘要:呵呵,还没有看明白,system.dll和mscorlib.dll在framework1.1中,到底是怎么一个地位?而1.0中是没有变化的。ildasm一下吧! 明白了!!!mscorlib.dll中包含的是System.Collections,Configuration,Diagnostics,IO,Reflection等。而system.dll包含的是另一部分,这两者是互补的,共同构成了C... 阅读全文

posted @ 2004-04-16 13:26 鞠强 阅读(684) 评论(0) 推荐(0) 编辑

(旧文重贴)对于以前遇到过的ws proxy实例化时间太长的问题,看JNDI受到了些启发
摘要:每个WS的method,不要返回CustomDataType的实例,而是返回一个约定好格式的string,然后在client端坐一个helper,再把string反解析到CustomDataType的实例上。 下周试试看! 2004年2月25日 13:23 阅读全文

posted @ 2004-04-16 13:24 鞠强 阅读(634) 评论(0) 推荐(0) 编辑

(旧文重贴)发现了DonBox书中的一处小错误
摘要:下午开始写培训的片子,又把第二章过了一遍。 Essential .NET(vol 1),中国电力出版社出版的影印版。书中第24页Table2.3对于AssemblyVersion的描述有误。在书中的例子,1.2.*代表着1.2.s.d。其中s,书中说是从Feb/01/2000开始,但是我经过代码测试,应该是从Jan/01/2000开始。代码如下: System.DateTime dt = new ... 阅读全文

posted @ 2004-04-16 13:23 鞠强 阅读(635) 评论(0) 推荐(0) 编辑

hello

world

点击右上角即可分享
微信分享提示