博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
修改DLL文件内容
阅读量:2227 次
发布时间:2019-05-09

本文共 785 字,大约阅读时间需要 2 分钟。

今天帮人修改一个网站。asp.net的,遇到一个奇怪的问题,某个页面的title总是改不掉,以前遇到这种问题,一般是为了防止盗版,写在某段js里的混淆代码。或是发起请求从别的地方获取的title。

所以采用了两种方法调试:

  • 文件搜索title名,如果写在js里肯定可以被搜索到,但是没有。
  • 查看页面请求,也没有异常请求。

由于刚入门.net,没有意识到可以静态调试,好方便。所以在cs文件里又修改了this.title。然后打了断点,调试发现断点没有起作用,然后提示文件中存在副本。果然有dll文件存在,果断删掉,删掉之后无法运行了,多处报错。我猜应该是生成dll后又修改了源码,把一些重要部分删掉了。这就很尴尬了,只好反编译dll文件。搜索了一下,需要几个工具。

  • 反编译工具ILSpy.exe:是个很不错的反编译软件,而且是免费了;
  • 微软的工具ildasm.exe:这个是把DLL生成IL文件的一个软件,是微软自带了;可以在C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin找到该软件;
  • 微机的工具ilasm.exe:这个是把IL文件重新生成DLL的功能,可以在C:\Windows\Microsoft.NET\Framework\v4.0.30319找到该软件;

    1. 使用第一个ILSpy.exe就可以查看dll文件内容了。

      这里写图片描述
      这个时候就可以手动copy下缺失的代码来了。
      不过我打算试一下直接修改dll,所以继续

    2. 在C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin找到ildasm.exe,使用这个软件打开dll,然后生成il和res文件。(盗图)

      这里写图片描述

    3.使用文本编辑器修改il文件,需要了解一点规律,因为我是修改title,所以copy了另一个title复制过去就好了 。

你可能感兴趣的文章
谈谈编程思想
查看>>
iOS MapKit导航及地理转码辅助类
查看>>
检测iOS的网络可用性并打开网络设置
查看>>
简单封装FMDB操作sqlite的模板
查看>>
iOS开发中Instruments的用法
查看>>
强引用 软引用 弱引用 虚引用
查看>>
数据类型 java转换
查看>>
"NetworkError: 400 Bad Request - http://172.16.47.117:8088/rhip/**/####t/approval?date=976
查看>>
mybatis 根据 数据库表 自动生成 实体
查看>>
C结构体、C++结构体、C++类的区别
查看>>
进程和线程的概念、区别和联系
查看>>
CMake 入门实战
查看>>
绑定CPU逻辑核心的利器——taskset
查看>>
Linux下perf性能测试火焰图只显示函数地址不显示函数名的问题
查看>>
c结构体、c++结构体和c++类的区别以及错误纠正
查看>>
Linux下查看根目录各文件内存占用情况
查看>>
A星算法详解(个人认为最详细,最通俗易懂的一个版本)
查看>>
利用栈实现DFS
查看>>
(PAT 1019) General Palindromic Number (进制转换)
查看>>
(PAT 1073) Scientific Notation (字符串模拟题)
查看>>