ILSpyÖÐÎľ«¼ò°æΪ¸÷λÌṩһ¿î¿ªÔ´ÏµÍ³µÄ.NET·´±àÒëרÓù¤¾ß£¬Õâ¶ùÎÒΪ¸÷λ¸øÓèÍêÈ«Ãâ·ÑµÄÖÐÎÄ´äÂÌÉ«¾«¼ò£¬²»Óð²Ñb£¬ÔÚÏßÏÂÔؼ´Óã¬Ö§³Öc¼°ÆävbÓïÑÔ£¬±àÒë³ÌÐòºó£¬¿Í»§»¹Äܹ»Ð¯´øʽµÄ¿½±´µ½usbÉÁ´æÇý¶¯Æ÷.
¹Ù·½Íø½éÉÜ
.Net ·´»ã±à¹¤¾ßdnSpyÖÐÎľ«¼ò°æÊÇÒ»¿î¶ÔÓÚ .NET³ÌÐòµÄ·´Ïò¹¤³ÌרÓù¤¾ß£¬¸ù¾ÝILSpy·¢Õ¹Ç÷ÊƹýÀ´µÄ.net³ÌÐò¼¯µÄ±à¼©£¬·´±àÒ룬µ÷½ÚÎäÆ÷¡£
ILSpyÖÐÎÄ°æÌصã
¡¤È«²¿µÄÌáʾ¿ò¡¢²Ëµ¥À¸ºÍÌáÐѾùÒÑÖÐÎÄ»¯
¡¤Ô¤ÉèÁ˵÷½ÚÈí¼þ£¬Ö§³ÖÔÚILSpyÖÐÎÞÔ´ÂëÁ¢¼´µ÷½Ú³ÌÐò¼¯
¡¤µ÷½ÚÖ÷³ÌÐò±àÒë³ÌÐò·þÎñƽ̨ΪX86£¬ÒÔÔÚ64λϵͳÈí¼þÖе÷½Ú
¡¤Ö§³ÖC#ºÍvb
¿ÉÒÔ½«Ò»¸ödllÎļþ±ä»»ÎªC#»òVBÓïÑÔ¡£
¡¤Ö§³Ö´¢´æÎļþ
Õë¶Ôµ¥¶ÀÒ»¸öÎļþ¿ÉÒÔ´¢´æΪ.csÎļþ»ò.vbÎļþ£¬µ±Îļþ½Ï¶àʱ£¬¿ÉÒÔÌôÑ¡´¢´æΪÐÂÏîÄ¿Îļþ¡£
¡¤Ö§³ÖC#µÄ·´±àÒë
C#¾ä×ӿɱ»·´±àÒë³öÈ¥£¬²¢¿ÉÖ§³Öyield return¾ä×ÓºÍ lambdas¹ØϵʽµÄ·´±àÒë¡£¶øÇÒÖ§³ÖC# 5.0 ÖеÄasync
APPÉÁ¹âµã
ËäÈ»ÓкܶàÏà½üµÄרÓù¤¾ß¿É´¢´æ£¬µ« ILSpy Ê®·Ö±ãÓÚÓ¦Óü°ÆäÍêÈ«Ãâ·ÑºÍ¿ªÔ´ÏµÍ³¡£Ëü²»ÓÃÒ»Çа²Ñb£¬Õâ´ú±íËü¿ÉÒÔ´¢´æµ½ÄúµÄЯ´øʽÔËÓóÌÐò½áºÏÖУ¬¿½±´µ½USBÉÁ´æÇý¶¯Æ÷£¬¶øÇÒ¿ÉÒÔÔÚÒ»ÇÐPCÉÏÓ¦Óöø²»ÓÃÉ趨À´Ô¤ÀÀºÍ²éÑé .NET ³ÌÐò¼¯¡£
Ó¦ÓôËרÓù¤¾ßϸÐIJ鿴.NET³ÌÐò¼¯
Ö÷ÔËÓóÌÐò¶Ô»°¿ò¾ß±¸Ã÷È·µÄºÏÀí²¼¾Ö£¬·Ö³É2¸öÖ÷ÊÓͼ£ºÓÃÒÔ·ÃÎÊ .NET ³ÌÐò¼¯Ê÷¼°ÆäϸÐIJ鿴һÇÐÑ¡ÖÐÐÂÏîÄ¿¡£Ëü¿ÉÒÔ²éÑé DLL£¬EXE ºÍ WINMD Îļþ(Windows Êý¾Ý¿â)¡£¿ÉÒÔ´Ó GAC ÔØÈëÊý¾ÝÐÅÏ¢£¬»¹¿ÉÒÔ¿ªÆô Nuget °ü¡£
ILSpy ¿ÉÒÔÓ¦Óà C# ÔÚ C#£¬IL ºÍ IL ÖÐÕ¹ÏÖ±àÂë¡£Õë¶Ô C#£¬Äú¿ÉÒÔÌôÑ¡ C#1.0/VS .NET µ½ C#7.2/VS 2017¡£±ÈÈ磬Äú¿ÉÒԲ鿴ÙYÔ´ºÍÒýÈ룬²é¿´±í¼°Æ佫ÌØÕ÷ÌáÈ¡µ½Îļþ¡£
Ó¦Óà C# ÔÚ C#£¬IL ºÍ IL ÖÐÕ¹ÏÖ±àÂë
ÒòΪ¸Ã³ÌÐò½öÓÃÒԲ鿴ĿµØ£¬Òò¶ø²»ÄÜ¿ªÕ¹Îļþ¸Ä¶¯¡£ÁíÒ»·½Ã棬Äú¿ÉÒÔÔÚËÑË÷ÖÖÀ࣬×éÔ±£¬·½Ê½£¬×Ö¶ÎÃû£¬ÌØÐÔ£¬ÊÂÇ飬±äÁ¿¶¨Òå»òÔªÊý¾Ý±ê¼ÇʱÔËÓüìË÷×÷Óá£
¿ÉÒÔÅ䱸ºÃ¼¸¸ö·´±àÒëÆ÷É趨£¬±ÈÈçÓ¦Óõ÷½Ú±ê¼ÇÖеÄ×Ô±äÁ¿Ãû×Ö£¬É¾µôÎÞ¹ýÁ÷±£»¤ºÍ²»Á¼·´Ó¦µÄ±àÂ룬»òÊÇÔÚ·´±àÒëºóÍØÕ¹×éÔ±½ç¶¨¡£³ý´ËÖ®Í⣬Äú¿ÉÒÔ×Ô¶¨×ÖÌåÑùʽ²¢ÈÝÐíºÃ¼¸¸ö°¸Àý¡£
³ä·Ö¿¼ÂÇÈ«²¿²ãÃ棬IlSpy ¾¡Á¿¼òÒ׵ط´±àÒë .NET ³ÌÐò¼¯£¬¿´Ò»ÏÂÓÐÄÄЩÈÃAPPÔ½À´Ô½¼òÒס£ÒòΪËüÊÇ¿ªÔ´´úÂëµÄ£¬¿ª·¢Õß¿ÉÒÔËæ±ã¸Ä¶¯ºÍÓ¦ÓÃÆä±àÂë¡£
Éý¼¶ƒÈÈÝ
v6.0.0.5836°æ±¾Éý¼¶
¸ù¾Ý¹Ù·½Íø×îа汾Դ´úÂë±àÒë³ÌÐò
È«²¿ÌáÐѺÍÒ³ÃæÐÅÏ¢ÄÚÈݾùΪÖÐÎÄ
IL·´±àÒ뷽ʽÌáÉý±íÃ÷³õʼÎļþ²¿Î»¼°ÆäÔʼ¼Ç¼ƒÈÈÝ
ILSpy v5.0.2°æ
ÕâÊÇÒ»¸öbugÐÞ²¹°æ±¾ºÅ¡£
ÐÞ²¹·ÖÎö.NET¹Ø¼üÒýÈëʱµÄ±¼À£
ÔÚ±íÃ÷Àà±ä»»ÖÐÖØÊÓÓïÑÔÉèÖÃ
¼ÙÈ粶»ñÁËרÓÃÐÍ×Ô±äÁ¿£¬ÔòÓ¦ÓÃרÓÃÐÍ·ºÐÍÀàÐÍ
·´±àÒëbool-boolʱ¶ÑÕ»Òç³ö±ä»»
δ´¢´æExpand Using DeclarationsÉ趨
½ñÌìÎÒÃǽ«·ÖÏíһЩ¹ØÓÚJavaµÄ·´±àÒ빤¾ß¡£·´±àÒëÌýÆðÀ´ÏñÊÇÒ»¸ö·Ç³£¸ßµÄ¼¼Êõ´Ê»ã¡£Ò»°ãÀ´Ëµ£¬·´±àÒëÊǶÔÄ¿±ê¿ÉÖ´ÐгÌÐò½øÐÐÄæÏò·ÖÎö£¬µÃµ½Ôʼ´úÂëµÄ¹ý³Ì¡£ÓÈÆäÊDZà³ÌÓïÑÔ£¬Èç¡£NETºÍJavaÔÚÐéÄâ»úÉÏÔËÐУ¬¸üÈÝÒ×½øÐз´±àÒëÒÔ»ñµÃÔ´´úÂë¡£µ±È»£¬Ò²ÓÐһЩÉÌÒµÈí¼þµÄ³ÌÐòÊÇÄ£ºýºÍ¼ÓÃܵģ¬ÕâʹµÃÎÒÃǺÜÄÑÓù¤¾ß½øÐз´±àÒë¡£¶àÌØÈí¼þרÌâΪÄúÌṩjava·´±àÒ빤¾ß,ÏÂÃæÄĸö¹¤¾ßÓÃÀ´·´±àÒëjava,jdk·´±àÒ빤¾ß¡£¶àÌØÈí¼þÕ¾Ö»ÌṩÂÌÉ«¡¢ÎÞ¶¾¡¢ÎÞ²å¼þ¡¢ÎÞľÂíµÄ´¿ÂÌÉ«Èí¼þÏÂÔØ¡£
¶àÌØÈí¼þרÌâΪÄúÌṩclass·´±àÒ빤¾ß,class·´±àÒ빤¾ß,classÎļþ·´±àÒ빤¾ß;°²×¿Æ»¹û°æÈí¼þappÒ»Ó¦¾ãÈ«¡£¶àÌØÈí¼þÕ¾Ö»ÌṩÂÌÉ«¡¢ÎÞ¶¾¡¢ÎÞ²å¼þ¡¢ÎÞľÂíµÄ´¿ÂÌÉ«¹¤¾ßÏÂÔØ
¶àÌØÈí¼þרÌâΪÄúÌṩdll·´±àÒ빤¾ß,dll·´±àÒë,dll×îÇ¿µÄ·´±àÒ빤¾ß;°²×¿Æ»¹û°æÈí¼þappÒ»Ó¦¾ãÈ«¡£¶àÌØÈí¼þÕ¾Ö»ÌṩÂÌÉ«¡¢ÎÞ¶¾¡¢ÎÞ²å¼þ¡¢ÎÞľÂíµÄ´¿ÂÌÉ«¹¤¾ßÏÂÔØ
¶àÌØÈí¼þרÌâΪÄúÌṩexe·´±àÒ빤¾ß,exe·´±àÒ빤¾ßÏÂÔØ,Ò×ÓïÑÔexe·´±àÒ빤¾ß;°²×¿Æ»¹û°æÈí¼þappÒ»Ó¦¾ãÈ«¡£¶àÌØÈí¼þÕ¾Ö»ÌṩÂÌÉ«¡¢ÎÞ¶¾¡¢ÎÞ²å¼þ¡¢ÎÞľÂíµÄ´¿ÂÌÉ«¹¤¾ßÏÂÔØ
¶àÌØÈí¼þרÌâΪÄúÌṩ·´±àÒ빤¾ß,·´±àÒ빤¾ßÔÚÏß·Òë,exe·´±àÒ빤¾ß;°²×¿Æ»¹û°æÈí¼þappÒ»Ó¦¾ãÈ«¡£¶àÌØÈí¼þÕ¾Ö»ÌṩÂÌÉ«¡¢ÎÞ¶¾¡¢ÎÞ²å¼þ¡¢ÎÞľÂíµÄ´¿ÂÌÉ«¹¤¾ßÏÂÔØ