一次帮妹子去水印经历<反编译DLL>

缘由

今日,在网上闲逛时发现一位妹子在网上寻求OnBarcode.Barcode.WinForms.DLL文件,第一眼感觉,这不就是生成二维码的软件嘛,本着乐于助人的心态发送了文件给人家,结果说不适用,一问才知道,原来是之前用的版本带有OnBarcode红色水印,想找一个不带水印的,但是文件很久没迭代了,没找到合适的,这时我灵机一动,一直想尝试反编译,这下机会来了,在这个特殊的日期,单身的我如果能以此俘获妹子的芳心,明年就不用一个人了哈哈,美哉,话不多说,赶紧帮妹子解决问题才是王道

工具

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

步骤一:先使用反编译工具,查看其源代码

在这里插入图片描述

在这里插入图片描述

打开之后大概是图一这个样子,图二是我程序中引用DLL后生成二维码的代码,由此可以看出问题应该在应该在DataMatrix这个类下的drawBarcode方法,脑子中先大概猜一下,如果是我的话,水印应该在生成二维码时加上的,所以先定位到这个方法,根据图一来看,会先从方法1调到方法2.,方法2中的renderBarcode应该是打印了,那么问题应该就在f()中,继续查看f()
在这里插入图片描述
表面来看是二维码各个属性的,但是设置属性前生成了一个对象0 只可能是0了,继续查看0()
在这里插入图片描述哎,看看我们发现了什么,红色文本OnBarcode Trial ,找到问题解决就好解决了,接下来就需要我们进行修改了

步骤二 使用ildasm.exe把DLL这个文件转化成IL文件

在这里插入图片描述
存到指定文件夹后会生成*.il 和*.res的文件, il就是代码转换成中间语言的文本,打开il文件后会有所有的中间语言,数据量很大,根据关键字定位到目标位置,这里按照水印字体,OnBarcoder Trial 搜索
在这里插入图片描述
在这里插入图片描述

这里的解决办法就有很多了。比如删除这个方法内容,比如注释掉引用的地方,然而因为不太懂中间语言,所以试过都失败之后,我选择最LOW的方法就是把文本的值设置为空,这样水印也就无效了,这里有点小惭愧,自身实力还有待提高,之后的测试中也成功没有水印了,反正效果实现就行,这样安慰自己,大家可别这样。哈哈,可别以为这样就结束了,正常的DLL中为了防篡改都设置有强签名,如果改了,就会提示强签名验证失败,我这采取了最简单粗暴的方式,去除掉强签名,删除以下内容即可。
在这里插入图片描述

步骤三 当修改完IL文件后要转化成DLL文件

打开DOC命令输入进入到*.il的文件夹,然后输入命令:c:\windows\microsoft.net\framework\v4.0.30319\ilasm.exe /dll/resource=*.res .il,中间注意有空格res和.li中间,显示如下字样则代表生成成功.
在这里插入图片描述
想必之后大家都会了,就是把重新生成的DLL替换掉旧的就可以了,下边是前后对比
在这里插入图片描述
在这里插入图片描述
完成到这,我就满怀激动的截图给妹子,并发送了文件,之后果然妹子发送了一个膜拜大佬的表情,这时我不慌不忙地提出了晚上要不要加个微信,方便以后交流的要求,妹子当然同意了,心中不仅愉悦起来,以后说不定咱有机会脱单了.

总结

这次问题解决的还算顺利,难度不大,只要了解工具的感觉都能解决,主要的解题思路,快速定位到方法,解决起来就更快,感觉做的也没什么含量,不过也发现了自身的一些不足,学无止境,还是要多多学习,才有理由接触妹子,早日脱单,最后,在这一天祝单身的大家早日脱单,祝有对象的长长久久啦,不说了,我该下班了看看有没有妹子还没吃饭的了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值