不破不立 发表于 2020-6-10 12:28:44

分享一种特殊水印去除的方法

本帖最后由 不破不立 于 2020-7-28 10:38 编辑

近期学习对Linux系统平台的应用软件分析,看到一款软件,在试用期内生成的文档带有试用版水印,


将软件拖入hopper里分析,发现有一些长度128位字符串,如“32D07DDDC3915648B1E7B2A3B7B65DC1D061020FA63EE2BC2125455872BD6FA505479C649483D59E75A59E8972D2DB25B4B8C645D0C7DC1BD80AB9AF9FAEDDB7”;

猜测字符串是被加密的信息,利用程序中提供的公、私钥作如下测试:
用公钥对上述字符串进行加密,得到的密文是:0001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00E8AF95E794A8E78988E6B0B4E58DB0

将密文中E8AF95E794A8E78988E6B0B4E58DB0作为HEX值以UTF-8转字符串后,字符串是“试用版水印”,


试用程序在生成文档时,读取了字符串并解码转换后写入了文档。
如何去掉字符串“试用版水印”,下面我们做一个有趣的试验,将“试用版水印”的HEX值改成不可见字符的HEX值作为密文,我这里改成空白符(hex值0x20)“202020202020202020202020202020”,然后利用私钥解密得到明文“A7C71BDA0C8B80615F8D1DFAAFF28008E5664A0A5EC684B9AA3CEFBCB56EDFECE4EA7DC45063B05DB332D16B93C154CD3F11DB4F6C32BBF1E3B4BCBD77E48335”,

将程序中原字符串进行替换,

然后运行程序并生成文档,这个时候水印“消失”了。



金钿明汉月 发表于 2020-6-10 16:10:13

谢谢,分享值得收藏

smallhorse 发表于 2020-6-10 17:58:09

师傅,带我玩linux..

雲裏霧裏 发表于 2020-6-10 19:22:36

会玩linux的大神,真牛B

bpzm1987 发表于 2020-6-10 21:08:03

谢谢分享,前来凑个热闹!

echo 发表于 2020-6-11 00:07:39

以前碰到过视频相册用的这种方法,因为除了水印没有别的功能限制。
您这是Linux下,膜拜。

不要在意丶 发表于 2020-6-11 00:16:23

很厉害,看来我们也得努力的专研

wangjf1985 发表于 2020-6-11 09:18:26

大佬果然很厉害,,,

Arsage 发表于 2020-6-11 11:26:38

感觉高大上,收藏学习了。

哥又回来了 发表于 2020-6-11 13:36:02

牛掰 ,另外 看到了 活的 @YJD{:3_164:}
页: [1] 2 3
查看完整版本: 分享一种特殊水印去除的方法