• .net 反编译笔记(2)


    自上次分享net软件反编译相关已一年多,今天再次分享一点干货。

    1、net反编译软件已经相当成熟,具有导出项目的能力。不过大型项目导出的错误修复仍然是最耗时的工作,并且初级开发人员容易将一些代码修复得不对逻辑但是这很难发现。

    2、我手上用的dnspy和ilspy成为了我反编译工作的主力。

    3、今年因一个项目需要完成了重新签名工具,dll拖进去,新的签名就完成了,可直接投入使用。几个项目测试下来,暂未发现任何问题。

    4、ilmerge在解决多程序集合上起到很大作用,多个dll可以合并成为一个dll使用。

    5、对于多个被obsfuscator混淆并有依赖关系的dll,不能直接de4dot,否则类型的引用将被打乱。

    6、我的处理方式 :解密字符串(我自己写的工具)->limerge合并dll(顺序需要尝试)->de4dot->重新签名->最终dll->源码(可选)

    7、很多的dll里面可能使用了三方源码,并且因为算法复杂,反编译出源码后,编译错误很多,多是类型转换错误,逻辑跳转问题编译不过,修复起来相当麻烦。

    这种情况找出关键词,搜到对应版本的源码替换之。

    8、dnguard成为很多开发者首选加密方式,新版反编译工具尚未流出或开发出来。前几天更新的win10版本,手里几个dnguard加密的程序启动后毫无反应。

    尝试静态反汇编hvmruntime,流程比较深,多是算法操作内存,跟了两天发现眼睛受不了遂放弃。。。

    9、java的byte其实是net的sbyte

  • 相关阅读:
    nginx 限流配置
    redis-sentinel 高可用方案实践
    redis之 主从复制和哨兵
    MySQL架构与业务总结图
    MGR实现分析
    通过 SCQA 的框架来讲故事
    MECE分析法
    如何提高问题的认知高度
    Mac 应用程序不能打开解决方法
    vscode打开文件在同一个tab的问题
  • 原文地址:https://www.cnblogs.com/mrtiny/p/7799493.html
Copyright © 2020-2023  润新知