Skip to content

Commit

Permalink
优化黑夜模式
Browse files Browse the repository at this point in the history
  • Loading branch information
yanmao committed Mar 17, 2020
1 parent 4c26197 commit 99fc497
Show file tree
Hide file tree
Showing 13 changed files with 76 additions and 11 deletions.
Binary file modified WeChatExtension/Rely/Plugin/WeChatExtension.zip
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,6 @@
<key>showUpdateWindow</key>
<true/>
<key>versionInfo</key>
<string>v2.4.2(2020-03-17):\n👉🏻 添加黑夜模式 \n👉🏻 开关允许打开小程序, 开关允许多开.\n👉🏻 修复某些机器下退群监控会导致闪退.\n👉🏻 修复小程序无法打开, 并且兼容微信多开.\n👉🏻 退群监控\n👉🏻 恢复老版本自动回复, 优化AI界面\n👉🏻 适配微信2.3.29消息防撤回\n👉🏻 修复翻译问题\n👉🏻 AI自动撩妹\n👉🏻 加速一键更新, 安装包瘦身\n👉🏻 聊天框多选删除闪退BUG\n👉🏻 Alfred头像Bug\n👉🏻 优化适配英文系统\n👉🏻 修复2.3.26疯狂闪退 \n\n\nv1.9.2(2019-06-28):\n👉🏻 群聊撤回显示真实联系人, 修复消息筛选Bug\n👉🏻 修复会话多选以及公众号信息点击闪退\n👉🏻 用系统浏览器打开网页\n👉🏻 将拦截到的撤回消息同步到手机端\n👉🏼 支持一键更新 \n\n\nv1.8.0(2019-01-13):\n👉🏻 适配微信 Version. 2.3.24\n👉🏼 适配多开, 置底闪退, 置顶闪退等各种闪退\n\n\nv1.7.3 (2018-10-22):\n👉🏻 适配微信 Version. 2.3.19\n👉🏼 修复安全漏洞(请务必更新,若有安装QQ插件也需要更新)\n👉🏽 菜单栏-关于小助手-新增 alfred 开关(若不使用 aflred 可关闭) \n</string>
<string>v2.4.2(2020-03-17):\n👉🏻 增加黑夜模式 \n👉🏻 开关允许打开小程序, 开关允许多开.\n👉🏻 修复某些机器下退群监控会导致闪退.\n👉🏻 修复小程序无法打开, 并且兼容微信多开.\n👉🏻 退群监控\n👉🏻 恢复老版本自动回复, 优化AI界面\n👉🏻 适配微信2.3.29消息防撤回\n👉🏻 修复翻译问题\n👉🏻 AI自动撩妹\n👉🏻 加速一键更新, 安装包瘦身\n👉🏻 聊天框多选删除闪退BUG\n👉🏻 Alfred头像Bug\n👉🏻 优化适配英文系统\n👉🏻 修复2.3.26疯狂闪退 \n\n\nv1.9.2(2019-06-28):\n👉🏻 群聊撤回显示真实联系人, 修复消息筛选Bug\n👉🏻 修复会话多选以及公众号信息点击闪退\n👉🏻 用系统浏览器打开网页\n👉🏻 将拦截到的撤回消息同步到手机端\n👉🏼 支持一键更新 \n\n\nv1.8.0(2019-01-13):\n👉🏻 适配微信 Version. 2.3.24\n👉🏼 适配多开, 置底闪退, 置顶闪退等各种闪退\n\n\nv1.7.3 (2018-10-22):\n👉🏻 适配微信 Version. 2.3.19\n👉🏼 修复安全漏洞(请务必更新,若有安装QQ插件也需要更新)\n👉🏽 菜单栏-关于小助手-新增 alfred 开关(若不使用 aflred 可关闭) \n</string>
</dict>
</plist>
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,6 @@
<key>showUpdateWindow</key>
<true/>
<key>versionInfo</key>
<string>v2.4.2(2020-03-17):\n👉🏻 添加黑夜模式 \n👉🏻 开关允许打开小程序, 开关允许多开.\n👉🏻 修复某些机器下退群监控会导致闪退.\n👉🏻 修复小程序无法打开, 并且兼容微信多开.\n👉🏻 退群监控\n👉🏻 恢复老版本自动回复, 优化AI界面\n👉🏻 适配微信2.3.29消息防撤回\n👉🏻 修复翻译问题\n👉🏻 AI自动撩妹\n👉🏻 加速一键更新, 安装包瘦身\n👉🏻 聊天框多选删除闪退BUG\n👉🏻 Alfred头像Bug\n👉🏻 优化适配英文系统\n👉🏻 修复2.3.26疯狂闪退 \n\n\nv1.9.2(2019-06-28):\n👉🏻 群聊撤回显示真实联系人, 修复消息筛选Bug\n👉🏻 修复会话多选以及公众号信息点击闪退\n👉🏻 用系统浏览器打开网页\n👉🏻 将拦截到的撤回消息同步到手机端\n👉🏼 支持一键更新 \n\n\nv1.8.0(2019-01-13):\n👉🏻 适配微信 Version. 2.3.24\n👉🏼 适配多开, 置底闪退, 置顶闪退等各种闪退\n\n\nv1.7.3 (2018-10-22):\n👉🏻 适配微信 Version. 2.3.19\n👉🏼 修复安全漏洞(请务必更新,若有安装QQ插件也需要更新)\n👉🏽 菜单栏-关于小助手-新增 alfred 开关(若不使用 aflred 可关闭) \n</string>
<string>v2.4.2(2020-03-17):\n👉🏻 增加黑夜模式 \n👉🏻 开关允许打开小程序, 开关允许多开.\n👉🏻 修复某些机器下退群监控会导致闪退.\n👉🏻 修复小程序无法打开, 并且兼容微信多开.\n👉🏻 退群监控\n👉🏻 恢复老版本自动回复, 优化AI界面\n👉🏻 适配微信2.3.29消息防撤回\n👉🏻 修复翻译问题\n👉🏻 AI自动撩妹\n👉🏻 加速一键更新, 安装包瘦身\n👉🏻 聊天框多选删除闪退BUG\n👉🏻 Alfred头像Bug\n👉🏻 优化适配英文系统\n👉🏻 修复2.3.26疯狂闪退 \n\n\nv1.9.2(2019-06-28):\n👉🏻 群聊撤回显示真实联系人, 修复消息筛选Bug\n👉🏻 修复会话多选以及公众号信息点击闪退\n👉🏻 用系统浏览器打开网页\n👉🏻 将拦截到的撤回消息同步到手机端\n👉🏼 支持一键更新 \n\n\nv1.8.0(2019-01-13):\n👉🏻 适配微信 Version. 2.3.24\n👉🏼 适配多开, 置底闪退, 置顶闪退等各种闪退\n\n\nv1.7.3 (2018-10-22):\n👉🏻 适配微信 Version. 2.3.19\n👉🏼 修复安全漏洞(请务必更新,若有安装QQ插件也需要更新)\n👉🏽 菜单栏-关于小助手-新增 alfred 开关(若不使用 aflred 可关闭) \n</string>
</dict>
</plist>
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
</data>
<key>Resources/Info.plist</key>
<data>
+5/pPkzJUdt582lc6xVFvhiX1H4=
iG087UBDvu7OsudjIe8+yfju8a8=
</data>
<key>Resources/LockPlist.plist</key>
<data>
Expand Down Expand Up @@ -174,11 +174,11 @@
<dict>
<key>hash</key>
<data>
+5/pPkzJUdt582lc6xVFvhiX1H4=
iG087UBDvu7OsudjIe8+yfju8a8=
</data>
<key>hash2</key>
<data>
wiZoo1Vxx9VGMIKBbzOGnRnrKdQpRcgk/rJ5BEuWrBA=
FvvfYW2hCJaznOMgh1/mI+/O50yZCjLBoDD0bGw6T4A=
</data>
</dict>
<key>Resources/LockPlist.plist</key>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,6 @@
<key>showUpdateWindow</key>
<true/>
<key>versionInfo</key>
<string>v2.4.2(2020-03-17):\n👉🏻 添加黑夜模式 \n👉🏻 开关允许打开小程序, 开关允许多开.\n👉🏻 修复某些机器下退群监控会导致闪退.\n👉🏻 修复小程序无法打开, 并且兼容微信多开.\n👉🏻 退群监控\n👉🏻 恢复老版本自动回复, 优化AI界面\n👉🏻 适配微信2.3.29消息防撤回\n👉🏻 修复翻译问题\n👉🏻 AI自动撩妹\n👉🏻 加速一键更新, 安装包瘦身\n👉🏻 聊天框多选删除闪退BUG\n👉🏻 Alfred头像Bug\n👉🏻 优化适配英文系统\n👉🏻 修复2.3.26疯狂闪退 \n\n\nv1.9.2(2019-06-28):\n👉🏻 群聊撤回显示真实联系人, 修复消息筛选Bug\n👉🏻 修复会话多选以及公众号信息点击闪退\n👉🏻 用系统浏览器打开网页\n👉🏻 将拦截到的撤回消息同步到手机端\n👉🏼 支持一键更新 \n\n\nv1.8.0(2019-01-13):\n👉🏻 适配微信 Version. 2.3.24\n👉🏼 适配多开, 置底闪退, 置顶闪退等各种闪退\n\n\nv1.7.3 (2018-10-22):\n👉🏻 适配微信 Version. 2.3.19\n👉🏼 修复安全漏洞(请务必更新,若有安装QQ插件也需要更新)\n👉🏽 菜单栏-关于小助手-新增 alfred 开关(若不使用 aflred 可关闭) \n</string>
<string>v2.4.2(2020-03-17):\n👉🏻 增加黑夜模式 \n👉🏻 开关允许打开小程序, 开关允许多开.\n👉🏻 修复某些机器下退群监控会导致闪退.\n👉🏻 修复小程序无法打开, 并且兼容微信多开.\n👉🏻 退群监控\n👉🏻 恢复老版本自动回复, 优化AI界面\n👉🏻 适配微信2.3.29消息防撤回\n👉🏻 修复翻译问题\n👉🏻 AI自动撩妹\n👉🏻 加速一键更新, 安装包瘦身\n👉🏻 聊天框多选删除闪退BUG\n👉🏻 Alfred头像Bug\n👉🏻 优化适配英文系统\n👉🏻 修复2.3.26疯狂闪退 \n\n\nv1.9.2(2019-06-28):\n👉🏻 群聊撤回显示真实联系人, 修复消息筛选Bug\n👉🏻 修复会话多选以及公众号信息点击闪退\n👉🏻 用系统浏览器打开网页\n👉🏻 将拦截到的撤回消息同步到手机端\n👉🏼 支持一键更新 \n\n\nv1.8.0(2019-01-13):\n👉🏻 适配微信 Version. 2.3.24\n👉🏼 适配多开, 置底闪退, 置顶闪退等各种闪退\n\n\nv1.7.3 (2018-10-22):\n👉🏻 适配微信 Version. 2.3.19\n👉🏼 修复安全漏洞(请务必更新,若有安装QQ插件也需要更新)\n👉🏽 菜单栏-关于小助手-新增 alfred 开关(若不使用 aflred 可关闭) \n</string>
</dict>
</plist>
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
</data>
<key>Resources/Info.plist</key>
<data>
+5/pPkzJUdt582lc6xVFvhiX1H4=
iG087UBDvu7OsudjIe8+yfju8a8=
</data>
<key>Resources/LockPlist.plist</key>
<data>
Expand Down Expand Up @@ -174,11 +174,11 @@
<dict>
<key>hash</key>
<data>
+5/pPkzJUdt582lc6xVFvhiX1H4=
iG087UBDvu7OsudjIe8+yfju8a8=
</data>
<key>hash2</key>
<data>
wiZoo1Vxx9VGMIKBbzOGnRnrKdQpRcgk/rJ5BEuWrBA=
FvvfYW2hCJaznOMgh1/mI+/O50yZCjLBoDD0bGw6T4A=
</data>
</dict>
<key>Resources/LockPlist.plist</key>
Expand Down
Binary file not shown.
Binary file not shown.
2 changes: 1 addition & 1 deletion WeChatExtension/WeChatExtension/Base.lproj/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,6 @@
<key>showUpdateWindow</key>
<true/>
<key>versionInfo</key>
<string>v2.4.2(2020-03-17):\n👉🏻 添加黑夜模式 \n👉🏻 开关允许打开小程序, 开关允许多开.\n👉🏻 修复某些机器下退群监控会导致闪退.\n👉🏻 修复小程序无法打开, 并且兼容微信多开.\n👉🏻 退群监控\n👉🏻 恢复老版本自动回复, 优化AI界面\n👉🏻 适配微信2.3.29消息防撤回\n👉🏻 修复翻译问题\n👉🏻 AI自动撩妹\n👉🏻 加速一键更新, 安装包瘦身\n👉🏻 聊天框多选删除闪退BUG\n👉🏻 Alfred头像Bug\n👉🏻 优化适配英文系统\n👉🏻 修复2.3.26疯狂闪退 \n\n\nv1.9.2(2019-06-28):\n👉🏻 群聊撤回显示真实联系人, 修复消息筛选Bug\n👉🏻 修复会话多选以及公众号信息点击闪退\n👉🏻 用系统浏览器打开网页\n👉🏻 将拦截到的撤回消息同步到手机端\n👉🏼 支持一键更新 \n\n\nv1.8.0(2019-01-13):\n👉🏻 适配微信 Version. 2.3.24\n👉🏼 适配多开, 置底闪退, 置顶闪退等各种闪退\n\n\nv1.7.3 (2018-10-22):\n👉🏻 适配微信 Version. 2.3.19\n👉🏼 修复安全漏洞(请务必更新,若有安装QQ插件也需要更新)\n👉🏽 菜单栏-关于小助手-新增 alfred 开关(若不使用 aflred 可关闭) \n</string>
<string>v2.4.2(2020-03-17):\n👉🏻 增加黑夜模式 \n👉🏻 开关允许打开小程序, 开关允许多开.\n👉🏻 修复某些机器下退群监控会导致闪退.\n👉🏻 修复小程序无法打开, 并且兼容微信多开.\n👉🏻 退群监控\n👉🏻 恢复老版本自动回复, 优化AI界面\n👉🏻 适配微信2.3.29消息防撤回\n👉🏻 修复翻译问题\n👉🏻 AI自动撩妹\n👉🏻 加速一键更新, 安装包瘦身\n👉🏻 聊天框多选删除闪退BUG\n👉🏻 Alfred头像Bug\n👉🏻 优化适配英文系统\n👉🏻 修复2.3.26疯狂闪退 \n\n\nv1.9.2(2019-06-28):\n👉🏻 群聊撤回显示真实联系人, 修复消息筛选Bug\n👉🏻 修复会话多选以及公众号信息点击闪退\n👉🏻 用系统浏览器打开网页\n👉🏻 将拦截到的撤回消息同步到手机端\n👉🏼 支持一键更新 \n\n\nv1.8.0(2019-01-13):\n👉🏻 适配微信 Version. 2.3.24\n👉🏼 适配多开, 置底闪退, 置顶闪退等各种闪退\n\n\nv1.7.3 (2018-10-22):\n👉🏻 适配微信 Version. 2.3.19\n👉🏼 修复安全漏洞(请务必更新,若有安装QQ插件也需要更新)\n👉🏽 菜单栏-关于小助手-新增 alfred 开关(若不使用 aflred 可关闭) \n</string>
</dict>
</plist>
66 changes: 65 additions & 1 deletion WeChatExtension/WeChatExtension/Sources/Hook/WeChat+hook.m
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@
#import<CommonCrypto/CommonDigest.h>
#import "YMIMContactsManager.h"

#import <mach-o/dyld.h>
#import <dlfcn.h>

@implementation NSObject (WeChatHook)

+ (void)hookWeChat {
Expand Down Expand Up @@ -112,9 +115,56 @@ + (void)hookWeChat {
hookMethod(objc_getClass("MMSidebarRowView"), @selector(initWithFrame:), [self class], @selector(hook_sideBarViewInitWithFrame:));
hookMethod(objc_getClass("MMLoginWaitingConfirmViewController"), @selector(viewDidLoad:), [self class], @selector(hook_loginWaitingViewDidLoad));
hookMethod(objc_getClass("MMLoginQRCodeViewController"), @selector(viewDidLoad), [self class], @selector(hook_QRCodeViewDidLoad));
// hookMethod(objc_getClass("MMTextField"), @selector(setAttributedStringValue:), [self class], @selector(hook_setAttributedStringValue:));
hookMethod(objc_getClass("MMChatsTableCellView"), @selector(updateNickname), [self class], @selector(hook_updateNickName));
}
}

- (void)hook_updateNickName
{
[self hook_updateNickName];
MMChatsTableCellView *cell = (MMChatsTableCellView *)self;
NSAttributedString *str = cell.nickName.attributedStringValue;
NSMutableAttributedString *returnValue = [[NSMutableAttributedString alloc] initWithString:str.string attributes:@{NSForegroundColorAttributeName :kRGBColor(255, 255, 255, 1.0), NSFontAttributeName : [NSFont systemFontOfSize:14]}];
cell.nickName.attributedStringValue = returnValue;
}

- (void)hook_setAttributedStringValue:(NSAttributedString *)arg1
{
struct mach_header *mh_addr = _dyld_get_image_header(0);
NSString *mh_addrStr = [NSString stringWithFormat:@"%p",mh_addr];
NSString *call = [NSThread callStackSymbols][1];
NSArray *sepList = [call componentsSeparatedByString:@"0x"];
NSString *offset_addrStr = nil;
if (sepList.count > 1) {
NSArray *sepWList = [sepList[1] componentsSeparatedByString:@" W"];
if (sepWList.count > 1) {
NSString *final = sepWList[0];
offset_addrStr = [NSString stringWithFormat:@"0x%@",final];
}
}

if (offset_addrStr) {
unsigned long mh_ten = strtoul(mh_addrStr.UTF8String, 0, 16);
unsigned long offset_ten = strtoul(offset_addrStr.UTF8String, 0, 16);
unsigned long slide = offset_ten - mh_ten;
NSMutableAttributedString *returnValue = nil;
if (slide == 11212944) {
returnValue = [[NSMutableAttributedString alloc] initWithString:arg1.string attributes:@{NSForegroundColorAttributeName :kRGBColor(255, 255, 255, 1.0), NSFontAttributeName : [NSFont systemFontOfSize:14]}];

} else if (slide == 11218107) {
returnValue = [[NSMutableAttributedString alloc] initWithString:arg1.string attributes:@{NSForegroundColorAttributeName :kRGBColor(162, 182, 203, 1.0), NSFontAttributeName : [NSFont systemFontOfSize:12]}];
} else {
returnValue = arg1;
}

[self hook_setAttributedStringValue:returnValue];
} else {
[self hook_setAttributedStringValue:arg1];
}

}

- (void)hook_QRCodeViewDidLoad {
[self hook_QRCodeViewDidLoad];
if ([self.className isEqualToString:@"MMLoginQRCodeViewController"]) {
Expand All @@ -139,12 +189,13 @@ - (void)hook_loginWaitingViewDidLoad

- (void)hook_setTextColor:(NSColor *)arg1
{
arg1 = kRGBColor(49, 110, 105, 1);
arg1 = kRGBColor(162, 182, 203, 1.0);
[self hook_setTextColor:arg1];
}

- (id)cellhook_initWithFrame:(struct CGRect)arg1
{

return [self cellhook_initWithFrame:arg1];
}

Expand Down Expand Up @@ -214,6 +265,19 @@ - (void)hook_initWithFrame:(NSView *)view {
}
}


if ([view isKindOfClass:[objc_getClass("MMFavoritesListTextCell") class]]) {
for (NSView *sub in view.subviews) {
[[YMThemeMgr shareInstance] changeTheme:sub];
}
}

if ([view isKindOfClass:[objc_getClass("MMDragEventView") class]]) {
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[[YMThemeMgr shareInstance] changeTheme:view];
});
}

if ([controller isKindOfClass:[objc_getClass("MMChatMessageViewController") class]]) {
MMChatMessageViewController *msgViewController = (MMChatMessageViewController *)controller;
[msgViewController.messageTableView setBackgroundColor:kRGBColor(61, 62, 60, 1)];
Expand Down
1 change: 1 addition & 0 deletions WeChatExtension/WeChatExtension/WeChatPlugin.h
Original file line number Diff line number Diff line change
Expand Up @@ -709,6 +709,7 @@ forHTTPHeaderField:(NSString *)field;
- (void)contextMenuDelete:(id)arg1;
- (void)tableView:(NSTableView *)arg1 rowGotMouseDown:(long long)arg2;
- (id)initWithFrame:(struct CGRect)arg1;
- (id)nicknameAttributedStringWithString:(id)arg1;
@end

@interface CmdItem : NSObject
Expand Down

0 comments on commit 99fc497

Please sign in to comment.