Frhvjhhv 发表于 2022-3-13 21:06

c#反编译指南

本帖最后由 Frhvjhhv 于 2022-3-13 21:39 编辑

网上对于c#反编译的技术介绍鱼龙混杂,简单的过于简单,难的过于晦涩,没有一个可以给小白指点的技术路线,本文是本人接触一点时间c#反编译后总结的技术路线,欢迎大神补充.
[只针对萌新和工具党的深入路线,大神勿入!本文旨在让萌新一步步深入,让工具党逐渐脱离工具,了解原理,逐渐成为大神]

工具:反编译: dnspy   
         pe结构:010 edit      CFF_Explorer   WinHex
         查壳    :DetectItEasy   PEid    de4dot-d参数可以查壳
         脱壳去混淆    :1通用脱壳机   de4dot   
                                 2dump 内存MegaDumper(针对Themida等传统win32强壳直接dump即可)
                                 3 jit脱壳(ee层用jit层脱壳机即可)ManagedJiter   JitUnpacker
                                 4手工去混淆脱壳   用dnlib库和Mono.Cecil库。首推dnlib库

      
1.小白阶段

看慕若曦博客即可   https://mp.weixin.qq.com/s?__biz ... 64888&lang=zh_CN#rd

预期成果:熟练使用dnspy。会查看反编译出来的c#代码,找到关键位置,初步改c#代码并保存


2.大白阶段
掌握de4dot 参数,搞定把字符串放在资源里面,然后调用一个函数解密这种类型混淆   https://www.52pojie.cn/thread-762674-1-1.html
掌握反射。通过反射搞定一部分破解
3.进阶之路

(1)掌握il语言。推荐 看雪.net程序的加密与解密第一章以及相关书籍文章
      预期成果:打开dnspy,,改写il代码破解
******************************************花一天时间速读看雪.net程序的加密与解密,不要求看懂,有印象就行************************************************
(2)掌握pe结构,元数据。
         1 稍微浏览一下pe结构。https://bbs.pediy.com/thread-265 ... 0%E7%9A%84%E3%80%82,
            掌握 dos头nt头可选头部    text节   等等结构体    明白怎么计算RVA,FILE OSSFETVA。
            给定一个pe在内存中的虚拟地址VA以及RVA,知道怎么计算文件偏移
               https://blog.csdn.net/god00/article/details/6217367
               https://blog.csdn.net/wzsy/article/details/10184417
               https://blog.csdn.net/ch122633/a ... 1001.2101.3001.4242
      2 重点掌握.net的pe头与win32pe头不同的部分
            看雪.net程序的加密与解密关于pe结构的部分
          (打开网址,一步步跟着做,手动解析.net pe)    https://www.52pojie.cn/thread-299156-1-1.html
                                                                              https://www.cnblogs.com/cxd4321/archive/2008/06/04/1213313.html
                                                                              https://mp.weixin.qq.com/s/IILlbxGr7Hywk-ouyH2ItQ
                                                                              https://www.52pojie.cn/thread-299995-1-1.html
            《Microsoft.NET IL汇编语言程序设计》 关于Il语言和pe结构的部分
   
         3 大名鼎鼎的codecracker的教程   https://forum.tuts4you.com/topic ... ents#comment-182963
          4 学习x64dbg,od,ida的用法,调试.net程序
预期成果:codecracker的教程破解程序基本完成,熟悉.net元数据。可以用反射直接改il代码。.net破解进阶到中等水平
         
4 大神之路
               1看 https://www.bilibili.com/video/B ... id_from=333.337.0.0
               2初步自己写.net混淆与解混淆的程序https://www.xanthus.io/building- ... e-windows-defender/
                                                                      https://blog.syscall.party/post/ ... e-net-deobfuscator/
               3了解,掌握dnlinb。看dnlib的例子,读源码(重点掌握dnlib怎么解析程序集,rva,元数据,怎么改il代码)
               4 看吾爱破解wwh1004大神的教程,并用dnlib库写出来成果
               5了解混淆原理   goto混淆,swith混淆,流程平坦化。il虚拟机   
               6看加壳脱壳机源码https://github.com/NotPrab/.NET-Deobfuscator   重点推荐https://github.com/Sato-Isolated/MindLated
               7看confuseX源码,并写出反编译器
               8搞定Agile,NETReactor,Obfuscar等等混淆器
               6看dnspyde4dot源码

5修仙之路掌握ee层,jit层多处hook插桩   https://www.52pojie.cn/thread-1005018-1-1.html
                                                               https://ubbecode.wordpress.com/tag/jit-hook/
                                                               https://rhotav.github.io/jithooking-tr
               
                   学习win32汇编,搞定深思壳

                  学习win32加壳脱壳esp定律。搞定dng壳


6网站          https://mindlocksite.wordpress.c ... x-1-0-max-settings/
                  https://forum.tuts4you.com/topic ... ents#comment-182963
                  https://rhotav.github.io/
                  https://hackforums.net/
                  https://reverseengineering.stackexchange.com/
               
               
                        



wzwzaozao 发表于 2022-3-13 21:29

谢谢分享,有时间好好消化{:1_893:}

凡事问我 发表于 2022-3-13 23:13

先感谢分享,我会慢慢消化滴

woaipojie2014 发表于 2022-3-13 23:58

必须顶你

woaipojie2014 发表于 2022-3-14 00:00

吾爱破解

aka1024 发表于 2022-3-14 08:50

顶!!!!

ljwxst 发表于 2022-3-14 09:50

谢谢,正需要!

oostudy 发表于 2022-3-14 09:57

谢谢分享,有空开始学习。

lrtlrt 发表于 2022-3-21 18:52

挺全面,值得学习

tukuai88ya 发表于 2022-4-4 16:09

先感谢分享,我会慢慢消化滴
页: [1]
查看完整版本: c#反编译指南