zoukankan      html  css  js  c++  java
  • 记一次Net软件逆向的过程(经典)

    查壳

    1.先看下目录结构:

    2.查下,是什么语言 ==> Net的,那不用说了,肯定能破解(毕竟是老本行嘛~)

    混淆与反混淆

    3.dnSpy打开后发现很多变量是乱码

    4.用de4dot跑一波

    5.生成了一个反混淆过的exe

    程序调试

    6.改名后打开,乱码问题解决

    下断

    PS:刚开始你单步跟着后面走走`F11`,遇到系统方法就`F10`跳过,或者导航返回一步`←`,在跳进方法的下一行设置个断点`F9`,然后继续运行就好

    7.在程序入口处下个断

    8.单步走一波

    9.F11到了程序入口处

    10.核心点

    11.单步跟进去后发现程序动态加载了一个dll(至于我为什么知道是验证dll,请继续往后看)

    12.在方法尾部,发现有个返回的bool值,大胆推测下,就是关键性的验证了

    13.验证框

    14.顺便输入点东西(激活码长点)

    15.激活窗口关闭后会返回一个验证失败的bool值

    16.调试修改看看

    17.调试已绕过,但是打开的时候闪退

    18.说明修改不彻底,后面程序还是通过ClassMain.boolrun来判断

    19.那就编辑一下,发现特殊符号编译不通过

    20.那就换个新的突破点

    21.发现验证方法,那就编辑下

    22.废掉验证,然后编译

    23.修改完毕

    24.保存下dll

    25.大部分软件这一步就搞定了,但是这边还是不行

    PS:老版本这一步就搞定了,新版本会始终从资源文件中释放dll

    反编译

    26.那就继续上大招:Reflector打开

    27.去资源列表里面找dll

    拖进dnspy发现,倒数第四个就是的了

    28.那感情好啊,用我们之前调试生成的破解版dll替换下资源项的值

    29.用修改后的dll替换旧的资源值

    30.reflexil保存下

    31.保存替换

    32.ok了(根目录木有vip那个dll哦)

  • 相关阅读:
    java-判断某一年是否是闰年
    java-不用其他变量实现两变量互换
    java基础一标识符,运算符
    robotium学习(三)
    robotium学习(二)
    robotium学习(一)
    AX2012 订单折扣的应用
    AX2012 用户收藏夹复制
    ueditor 改变图片上传路径
    if else 多路分支,多条件运算
  • 原文地址:https://www.cnblogs.com/dotnetcrazy/p/10142315.html
Copyright © 2011-2022 走看看