background

Every time the leader of a large group of companies sends out some stupid rules or some stupid remarks, we want to expose to the Internet, but due to the watermark of the chat interface, in the end it is nothing. Is there any way to remove the watermark?

plan

  1. PS

This scheme is relatively high threshold for most people, there is a problem is that if it is a lot of screenshots are not exploded?

  1. Pin the APP backwards

Through technical means, do not let the watermark display on the line? !

Nailing down shell

Good! Just do it! Or as always smash shell! If you don’t know how to crack shells, check out my previous post. If the shell smashing failed because some versions of the studs have lazy loading of the dynamic library, so there is no load dynamic library at the time of the shell smashing, you may need to use the tool TZLoadAllLibs. His principle is that some apps have a lot of dynamic libraries, but the app may not be fully loaded at the beginning, resulting in incomplete shell cracking. This tweak is intended to solve this problem. Select the app to be applied in the Settings App, and all dynamic libraries will be loaded when the app starts.

New MonkeyApp

Create a new MonkeyApp. Remember that the BundleID of the new project APP must be com.laiwang.DingTalk, otherwise the APP will not start. Drag the nail. Ipa file you just got into the TargetApp folder and click the Run button.

View the chat layout

So you can see that there’s a DTWaterMarkView that’s loaded with UIImageViews, and those UIImageViews are loaded with your name and your phone tail number. If you Hook the DTWaterMarkView constructor, and return nil, then you don’t load any UIImageView, and it doesn’t display your name or phone tail number.

Hook DTWaterMarkView

We Hook UIView constructor, if class equals DTWaterMarkView returns nil.

%hook UIView

- (id)initWithFrame:(CGRect)frame{
    UIView *view = %orig();
    NSLog(@"xxxx view.class : %@".NSStringFromClass(view.class));
    if([NSStringFromClass(view.class) isEqualToString:@"DTWaterMarkView"]) {return nil;
    }
    return view;
}

%end
Copy the code

Re-run the nails and open the chat page

Evil thoughts

If I replace the watermarked picture with another colleague’s, right? Gnome male – “…