c#µÄdllÎļþ·´±àÒëÀûÆ÷
¸Õ½Ó´¥.net ʱ¾ÍÌý˵ ReflectorÕâ¸öÇ¿´ó·´±àÒ빤¾ßÄØ£¬Ö»ÊÇһֱûÓÐȥʹÓÃËû. ½ñÌìupdate¸úÎÒ˵ReflectorÈçºÎ£¬ÈçºÎÓÐÓã¬ÓõÄÈçºÎ£¬ÈçºÎˬ£¬»¹µÃÒâµÄ˵·´±àÒëÁ˲»ÉÙDLL...±¾À´±¾È˶ÔÐÂÏÊʾͷdz£ÓÐÐËȤ£¬ÌýËûÕâôһ˵.¾ö¶¨ÊÔÒ»ÊÔÕâ¸ö´«ËµÖеŤ¾ß.
ÎÒÓõİ汾ÊÇ4.1.84.0£¬ÒÔ£¬°Ñ×Ô¼º±àдDLL·´±àÒëÁËһϣ¬·´±àÒëºóµÄ´úÂë³ýÁ˱äÁ¿Ãû²»Í¬Í⣬ÆäËü»ù±¾ÉÏÊÇÒ»ÖÁµÄ£¬ÎÒ°Ñ·´±àÒëºóµÄ´úÂëµ¼µ½Ïà¹ØµÄÎļþÀҪÓõ½²å¼þ£©£¬ÔÙÓÃvs.net±àÒ룬ȫ²¿Í¨¹ý£¬ÕæÊÇˬѽ.Î§ÈÆReflecto¿ª·¢µÄ²å¼þÒ²ºÜ·Ç³£¶à£¬ÔÚÍøËÑË÷ÁËһϻù±¾µ½ÊÇÏÂÃæÕâЩ£¬ÍøÉϹØÓÚÕâЩ×é¼þµÄÓ÷¨ºÍ½éÉÜÒ²Èç³öÒ»éü£¬ÎÒÏëÕâ¾ÍÑù¾ÍÊÇÍøÂç¹²ÏíµÄ½á¹û°ÉÒÔϵÄ×é¼þÆäÖÐReflector.OpenRunningAssembly Reflector.CodeModelView Reflector.ClassView ÎÒÕÒ¹ýºÜ¶àÍøÕ¾£¬¶¼ÎÞ·¨ÏÂÔØµ½£¬Èç¹ûÓÐÄÇλÅóÓÑÓУ¬Ï£ÍûÄܸøÎÒÁËÒ»·Ý.
Reflector.FileDisassembler
Reflector.CodeMetrics
Reflector.SQL2005Browser
Reflector.DelphiLanguage
Reflector.McppLanguage
Reflector.ChromeLanguage
Reflector.Diff
Reflector.VisualStudio
Reflector.ClassView
Reflector.CodeModelView
Reflector.FileGenerator
Reflector.Graph
Reflector.OpenRunningAssembly
´ó¼Ò¿ÉÒÔµ½Reflector¹Ù·½ÍøÕ¾(http://www.aisto.com/roeder/dotnet/)ÏÂÔØ×îа汾ÏÂÔØºó½âѹËõ»áÓÃÒ»¸öReflector.exeÖ±½ÓË«»÷Ëü£¬¾Í¿ÉÒÔÔËÐÐÄØ£¬½çÃæÈçÏÂ.
µã»÷file£>open Ñ¡ÔñÐèÒª·´±àÒëµÄDLL£¬´ò¿ªºó¿Ø¼þµÄÃüÃû¿Õ¼ä»á³öÏÖÔÚ×ó±ßµÄÁбíÖУ¬ÈçÉÏÃæµÄdataaccesscommon.µãÐèÒª·´±àµÄÀàÈçÏÂÃæ
ÔÚÓұ߻á³öÏÖ¸ÃÀàµÄ´úÂëÈçÏÂͼ£º
¿´µ½Á˰ɣ¬·´±àÒëºóµÄ´úÂëºÍÔ´úÂë»ù±¾ÉÏûÓÐÊ²Ã´Çø±ð. Reflector±¾ÉíûÓн«´úÂëµ¼Èëµ½Îļþ¹¦ÄÜ£¬ÐèÒªÓõ½Ïà¹Ø²å¼þ.ÏÂÃæ½éÉÜÒ»¸ö²å¼þÓ÷¨¼°ÓÃ;.
(1) Reflector.FileDisassemblerºÍReflector.FileGeneratorÕâÁ½¸ö²å¼þµÄÓõÄÓÃ;¶¼ÊÇÒ»ÑùµÄ£¬½«·´±àÒëºóµÄ´úÂëµ¼³öµ½Ïà¹ØÎļþ£¬ÎÒÕâÀïÖ»½éÉÜReflector.FileDisassembleµÄÓ÷¨£¬Reflector.FileGeneratorÓ÷¨ÀàËÆR
Ïà¹ØÎĵµ£º
ίÍкÍʼþÔÚ .Net FrameworkÖеÄÓ¦Ó÷dz£¹ã·º£¬È»¶ø£¬½ÏºÃµØÀí½âίÍкÍʼþ¶ÔºÜ¶à½Ó´¥C#ʱ¼ä²»³¤µÄÈËÀ´Ëµ²¢²»ÈÝÒס£ËüÃǾÍÏñÊÇÒ»µÀ¼÷¶ù£¬¹ýÁËÕâ¸ö¼÷µÄÈË£¬¾õµÃÕæÊÇÌ«ÈÝÒ×ÁË£¬¶øÃ»ÓйýÈ¥µÄÈËÿ´Î¼ûµ½Î¯ÍкÍʼþ¾Í¾õµÃÐÄÀï±ð£¨bi裩µÃ»Å£¬»ìÉí²»×ÔÔÚ¡£±¾ÎÄÖУ¬ÎÒ½«Í¨¹ýÁ½¸ö·¶ÀýÓÉdzÈëÉîµØ½²ÊöʲôÊÇίÍС¢ÎªÊ²Ã´ÒªÊ¹Ó ......
1. ¼òÊö private¡¢ protected¡¢ public¡¢ internal ÐÞÊηûµÄ·ÃÎÊȨÏÞ¡£
´ð . private : ˽ÓгÉÔ±, ÔÚÀàµÄÄÚ²¿²Å¿ÉÒÔ·ÃÎÊ¡£
protected : ±£»¤³ÉÔ±£¬¸ÃÀàÄÚ²¿ºÍ¼Ì³ÐÀàÖпÉÒÔ·ÃÎÊ¡£
public : ¹«¹²³ÉÔ±£¬ÍêÈ«¹«¿ª£¬Ã»ÓзÃÎÊÏÞÖÆ¡£
internal: ÔÚͬһÃüÃû¿Õ¼äÄÚ¿ÉÒÔ·ÃÎÊ¡£
2 .ÁоÙASP.N ......
ÏÈÉùÃ÷£¬ÎÒ²»ÊÇÕâ·½ÃæµÄר¼Ò£¬Ö»ÊǸÉÈí¼þËĸöÔ²»ÖªÌìÓжà¸ßµØÓжàÓ²µÄСº¢×Ó
Ê×ÏÈ£¬ÀàÐÍת»»ÊÇÓÐÒ»¶¨¿ªÏúµÄ
ÎÒÊÔ¹ýÕâÑùµÄ´úÂ룺ÕâÊÇÒ»¸ö¿ØÖÆÌ¨Ó¦ÓóÌÐòµÄProgramÀàµÄ´úÂë
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ÀàÐÍת»»µÄ¿ªÏú
{
class Program
......
·þÎñÆ÷¶Ë´úÂë
¿Ø¼þ£ºbtnStart_Click£¬btnSend_Click£¬label4£¬textBox1
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.Threading;
using S ......
¶¯Ì¬¼ÓÔØDLLÐèҪʹÓÃWindows APIº¯Êý£ºLoadLibrary¡¢GetProcAddressÒÔ¼°FreeLibrary¡£ÎÒÃÇ¿ÉÒÔʹÓÃDllImportÔÚC#ÖÐʹÓÃÕâÈý¸öº¯Êý¡£
[DllImport("Kernel32")]
public static extern int GetProcAddress(int handle, String funcname);
[DllImport("Kernel32")]
public static extern int L ......