51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4562|回复: 0
打印 上一主题 下一主题

[转贴] 偷偷吐槽怕被骂?看大佬教你轻松去除钉钉水印

[复制链接]
  • TA的每日心情
    擦汗
    昨天 08:46
  • 签到天数: 981 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2021-7-5 09:47:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    背景
      每次公司大群里面领导发了一些傻逼规定或者一些傻逼言论的时候,我们想曝光到网上去,但是碍于钉钉聊天界面的水印,到最后都是不了了之了。那有什么办法可以去除水印呢?

      方案
      ·PS
      这个方案对于大部分人门槛比较高,还有一个问题就是如果是很多张截图岂不是炸了?

      ·逆向钉钉APP
      通过技术手段,不让水印显示不就行了?!

      钉钉砸壳
      好!说干就干!还是一如既往的砸壳!如果不知道如何砸壳的,可以看看我之前的文章。
      如果砸壳失败是因为钉钉有些版本延迟加载了动态库,导致砸壳的时候还没有load动态库,这里你可能需要这个工具——TZLoadAllLibs。他的原理就是:有些app有很多动态库,但是app刚起来的时候不一定会全部加载,导致砸壳不完全。该tweak用于解决这一问题。在设置app里选择要应用的app,在APP启动的时候就会加载所有动态库。

      新建MonkeyApp
      新建一个MonkeyApp,记住这里新建的project的APP的BundleID一定要写和钉钉一样的com.laiwang.DingTalk,如果不一样将无法启动APP。
      并将刚刚得到的钉钉.ipa文件拖入TargetApp文件夹,然后点击运行按钮。

      查看聊天界面布局


      我们可以看到有一个DTWaterMarkView里面加载了UIImageView,其实这些UIImageView里面加载的就是你的名字和手机尾号。
      那是不是只要将DTWaterMarkView的构造方法Hook,然后返回nil,就可以不会加载任何的UIImageView,这样就不会显示你的名字和手机尾号了呀!

      Hook DTWaterMarkView
      我们Hook UIView的构造方法,如果class等于DTWaterMarkView就返回nil。
    1. %hook UIView

    2. - (id)initWithFrame:(CGRect)frame{
    3.     UIView *view = %orig();
    4.     NSLog(@"xxxx view.class  : %@", NSStringFromClass(view.class));
    5.     if([NSStringFromClass(view.class) isEqualToString:@"DTWaterMarkView"]){
    6.         return nil;
    7.     }
    8.     return view;
    9. }

    10. %end
    复制代码




      重新运行钉钉,然后打开聊天页面。



    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-7-9 08:05 , Processed in 0.065843 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表