diff --git a/.gitignore b/.gitignore
index 62e3708..84c7f35 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,4 @@ dkhelper/dkhelper/TargetApp/
dkhelper/dkhelper/tmp/
dkhelper/LatestBuild
dkhelper/dkhelper/WeChat_Headers/
+Info.plist
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b8fb22c..efde262 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,14 @@
# DKWechatHelper ChangeLog
-[v1.0.5](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.4) / 2020-09-29
+[v1.0.6](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.6) / 2020-10-16
+what's new
+* 朋友圈转发
+* 支持7.0.17
+* 更新越狱包7.0.17
+* 更新已注入助手的7.0.17未签名包
+* 更新越狱源安装包
+
+# DKWechatHelper ChangeLog
+[v1.0.5](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.5) / 2020-09-29
what's new
* 新增好友关系检测
* 新增自动收取个人红包
@@ -7,7 +16,8 @@ what's new
* 支持7.0.15
* 更新越狱包7.0.15
* 更新已注入助手的7.0.15未签名包
-* 更新越狱源安装包
+* 更新越狱源安装包
+
[v1.0.4](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.4) / 2020-07-07
what's new
* 新增集赞助手
diff --git a/IMG_0031.JPG b/IMG_0031.JPG
new file mode 100644
index 0000000..f03ad38
Binary files /dev/null and b/IMG_0031.JPG differ
diff --git a/README.md b/README.md
index 70444ce..280b64b 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,7 @@
不止于抢红包,功能丰富的微信插件。本软件已成功运行在(iphone7-iphone11、iPad)
给个⭐️不迷路↗️
+[v1.0.6](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.5)适用微信7.0.17
[v1.0.5](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.5)适用微信7.0.15
[v1.0.4](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.4)适用微信7.0.14
[v1.0.3](https://github.com/DKWechatHelper/DKWechatHelper/releases/tag/1.0.3)适用微信7.0.13
@@ -28,11 +29,13 @@
* [x] CallKit锁屏接视频语音
* [x] 集赞助手
* [x] 好友关系检测
+* [x] 朋友圈转发
安装后在微信设置中点击“微信小助手”
更多请查看下图:
![IMG_0223](./IMG_0223.png)
+![IMG_0223](./IMG_0031.JPG)
## 使用:
1.源码学习
@@ -42,8 +45,9 @@
* [7.0.8-*提取码:h54d*](https://pan.baidu.com/s/11VoUXPC4vb5zg8HzP3kC0Q)
* [7.0.11-*提取码: 2igg*](https://pan.baidu.com/s/1mU_mezsWhqL2-AY0PB-vVg)
* [7.0.13-*提取码: nx4m*](https://pan.baidu.com/s/1rqB0pV4zMEB6Z3VJTsTa8Q)
-* [7.0.14](https://n802.com/file/24576815-452231690)
-* [7.0.15](https://n802.com/file/24576815-463029595)
+* [7.0.14](https://n802.com/file/24576815-452231690)
+* [7.0.15](https://n802.com/file/24576815-463029595)
+* [7.0.17](https://n802.com/file/24576815-467161527)
将下载的微信放到'/dkhelper/dkhelper/TargetApp/'目录下该目录下有一个空白文件’put ipa or app here‘,和它放在同一文件夹下即可,修改项目BundleId及签名信息,选择真机设备运行即可
@@ -54,7 +58,8 @@
* [未签名版7.0.11-*提取码: fe9f*](https://pan.baidu.com/s/1sOPCqnCPxSdIKq7TKuHK9g)
* [未签名版7.0.13-*提取码: fhes*](https://pan.baidu.com/s/1DgSl5u0Gip3cNdqZmRFEWw)
* [未签名版7.0.14](https://n802.com/file/24576815-452232682)
-* [未签名版7.0.15](https://n802.com/file/24576815-463034104)
+* [未签名版7.0.15](https://n802.com/file/24576815-463034104)
+* [未签名版7.0.17](https://n802.com/file/24576815-467161662)
注:推荐使用[ios-app-signer](https://github.com/DanTheMan827/ios-app-signer)签名,使用方法自行百度
3.普通用户:
diff --git a/dkhelper/dkhelper.xcodeproj/project.pbxproj b/dkhelper/dkhelper.xcodeproj/project.pbxproj
index cd99b32..ab80041 100644
--- a/dkhelper/dkhelper.xcodeproj/project.pbxproj
+++ b/dkhelper/dkhelper.xcodeproj/project.pbxproj
@@ -804,7 +804,7 @@
DEVELOPMENT_TEAM = NL54V6A3P5;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = dkhelper/Info.plist;
- MARKETING_VERSION = 7.0.14;
+ MARKETING_VERSION = 7.0.17;
MONKEYDEV_ADD_SUBSTRATE = YES;
MONKEYDEV_CLASS_DUMP = NO;
MONKEYDEV_DEFAULT_BUNDLEID = YES;
@@ -826,7 +826,7 @@
DEVELOPMENT_TEAM = NL54V6A3P5;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = dkhelper/Info.plist;
- MARKETING_VERSION = 7.0.14;
+ MARKETING_VERSION = 7.0.17;
MONKEYDEV_ADD_SUBSTRATE = YES;
MONKEYDEV_CLASS_DUMP = NO;
MONKEYDEV_DEFAULT_BUNDLEID = YES;
diff --git a/dkhelper/dkhelper/Info.plist b/dkhelper/dkhelper/Info.plist
deleted file mode 100644
index a8a4ff3..0000000
--- a/dkhelper/dkhelper/Info.plist
+++ /dev/null
@@ -1,387 +0,0 @@
-
-
-
-
- BuildMachineOSBuild
- 19F101
- CFBundleDevelopmentRegion
- zh_CN
- CFBundleDisplayName
- 微信
- CFBundleDocumentTypes
-
-
- CFBundleTypeName
- officeopenxml
- LSHandlerRank
- Alternate
- LSItemContentTypes
-
- org.openxmlformats.openxml
-
-
-
- CFBundleTypeName
- data
- LSHandlerRank
- Alternate
- LSItemContentTypes
-
- public.data
-
-
-
- CFBundleTypeName
- ppt
- LSHandlerRank
- Alternate
- LSItemContentTypes
-
- com.microsoft.powerpoint.ppt
-
-
-
- CFBundleTypeName
- doc
- LSHandlerRank
- Alternate
- LSItemContentTypes
-
- com.microsoft.word.doc
-
-
-
- CFBundleTypeName
- xls
- LSHandlerRank
- Alternate
- LSItemContentTypes
-
- com.microsoft.excel.xls
-
-
-
- CFBundleTypeName
- pdf
- LSHandlerRank
- Alternate
- LSItemContentTypes
-
- com.adobe.pdf
-
-
-
- CFBundleTypeName
- archive
- LSHandlerRank
- Alternate
- LSItemContentTypes
-
- org.gnu.gnu-tar-archive
-
-
-
- CFBundleTypeName
- audivideo
- LSHandlerRank
- Alternate
- LSItemContentTypes
-
- public.audiovisual-content
-
-
-
- CFBundleTypeName
- image
- LSHandlerRank
- Alternate
- LSItemContentTypes
-
- public.image
-
-
-
- CFBundleTypeName
- txt
- LSHandlerRank
- Alternate
- LSItemContentTypes
-
- public.text
-
-
-
- CFBundleExecutable
- WeChat
- CFBundleIconFiles
-
- dkhelper/icon.png
-
- CFBundleIcons
-
- CFBundlePrimaryIcon
-
- CFBundleIconFiles
-
- AppIcon60x60
-
- CFBundleIconName
- AppIcon
-
-
- CFBundleIcons~ipad
-
- CFBundlePrimaryIcon
-
- CFBundleIconFiles
-
- AppIcon60x60
- AppIcon76x76
- AppIcon83.5x83.5
-
- CFBundleIconName
- AppIcon
-
-
- CFBundleIdentifier
- com.tencent.xin
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- WeChat
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- 7.0.15
- CFBundleSignature
- ????
- CFBundleSupportedPlatforms
-
- iPhoneOS
-
- CFBundleURLTypes
-
-
- CFBundleTypeRole
- Editor
- CFBundleURLName
- com.tencent.xin
- CFBundleURLSchemes
-
- wexinVideoAPI
- weixin
- weixinapp
- fb290293790992170
- wechat
- QQ41C152CF
- prefs
- wx703
- weixinULAPI
- wx7015
-
-
-
- CFBundleVersion
- 7.0.15.33
- DTAppStoreToolsBuild
- 11E707
- DTCompiler
- com.apple.compilers.llvm.clang.1_0
- DTPlatformBuild
- 17F65
- DTPlatformName
- iphoneos
- DTPlatformVersion
- 13.5
- DTSDKBuild
- 17F65
- DTSDKName
- iphoneos13.5
- DTXcode
- 1150
- DTXcodeBuild
- 11E608c
- FacebookAppID
- 290293790992170
- FacebookAutoInitEnabled
-
- FacebookAutoLogAppEventsEnabled
-
- ITSDRMScheme
- v2
- LSApplicationQueriesSchemes
-
- qqnews
- weixinbeta
- qqnewshd
- qqmail
- whatsapp
- wxwork
- wxworklocal
- wxcphonebook
- mttbrowser
- mqqapi
- mqzonev2
- qqmusic
- tenvideo2
- tenvideohd
- qnreading
- weread
- sosomap
- comgooglemaps
- iosamap
- baidumap
- sgmap
- fbauth2
- wx76fc280041c16519
- wx3bef52104e238bff
- rijvideo
- wx95a3a4d7c627e07d
- wx44b60f3ea0534cd7
- wxacbfe7e1bb3e800f
- wxfdab5af74990787a
- wx58164a91f1821369
- wxd477edab60670232
- wx82dd7436af5db835
- qqstock
- openApp.jdMobile
- openapp.toplife
- qmkege
- mqzonex
- txvp
- sybapp
- wx5a4a8ac0fd48303a
- qqsports
- qqcar
- tencentedu
- wemusic
- qqmap
- mqq
- webank
- weiyun
- weishi
- wemeet
-
- LSRequiresIPhoneOS
-
- LSSupportsOpeningDocumentsInPlace
-
- MidasConfig
-
- HideLoading
-
-
- MinimumOSVersion
- 13.0
- NSAppTransportSecurity
-
- NSAllowsArbitraryLoads
-
-
- NSBluetoothAlwaysUsageDescription
- Allow WeChat Use Bluetooth Peripheral.
- NSBluetoothPeripheralUsageDescription
- Allow WeChat Use Bluetooth Peripheral.
- NSCameraUsageDescription
- Use your Camera to record video, using VoIP features.
- NSContactsUsageDescription
- Allow WeChat Use your Contact.
- NSFaceIDUsageDescription
- Allow WeChat Use FaceID.
- NSHealthShareUsageDescription
- Allow WeChat Use Health Share.
- NSHealthUpdateUsageDescription
- Allow WeChat Use Health Update.
- NSLocationAlwaysUsageDescription
- Allow WeChat Use your Location always.
- NSLocationUsageDescription
- Allow WeChat Use your Location.
- NSLocationWhenInUseUsageDescription
- Allow WeChat Use your Location when in use.
- NSMicrophoneUsageDescription
- Use your Microphone to record voice messages, using VoIP features.
- NSMotionUsageDescription
- Allow WeChat Use Motion.
- NSPhotoLibraryAddUsageDescription
- Allow WeChat Save Photo.
- NSPhotoLibraryUsageDescription
- Allow WeChat Use your PhotoLibrary.
- NSSiriUsageDescription
- Allow WeChat Use Siri.
- NSUserActivityTypes
-
- com.tencent.xin
- com.tencent.xin.watch
-
- UIAppFonts
-
- WeChatSansStd-Bold.ttf
- WeChatSansStd-Medium.ttf
- WeChatSansStd-Regular.ttf
- WeChatSansSuperscript-Bold.ttf
- WeChatSansSuperscript-Regular.ttf
- WeChatSansSuperscript-Medium.ttf
-
- UIBackgroundModes
-
- location
- audio
- fetch
- voip
- remote-notification
- network-authentication
-
- UIDeviceFamily
-
- 1
- 2
-
- UILaunchStoryboardName
- Launch Screen
- UIPrerenderedIcon
-
- UIRequiredDeviceCapabilities
-
- arm64
-
- UIStatusBarHidden
-
- UIStatusBarStyle
- UIStatusBarStyleBlackOpaque
- UISupportedInterfaceOrientations
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- UISupportedInterfaceOrientations~ipad
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
- UIInterfaceOrientationPortraitUpsideDown
-
- UISupportsDocumentBrowser
-
- UIViewControllerBasedStatusBarAppearance
-
- WeChatBundleVersion
- 7.0.15.33
- WeChatFeatureIdentifier
- release_appstore_7.0.15
- build_time
- 2020-08-03 23:07:27
- by
- wx_ios_code_helper
- path
- release_appstore_7.0.15_2020_7_30_23_1_0
- rev
- 8a2d4b8b37a11de738ace1ec126991085c057907
- tag
- release_appstore_7.0.15 #29
- uuid
- 2ccd1b78fb963cb1af6f0e1ec2864066
- ver
- 0x17000f21
-
-
diff --git a/dkhelper/dkhelperDylib/DKHelperSettingController.m b/dkhelper/dkhelperDylib/DKHelperSettingController.m
index b1343a0..9f3ec23 100644
--- a/dkhelper/dkhelperDylib/DKHelperSettingController.m
+++ b/dkhelper/dkhelperDylib/DKHelperSettingController.m
@@ -12,6 +12,8 @@
#import "DKGroupFilterController.h"
#import "DKCleanFriendsController.h"
#import
+#import
+#import
@interface DKHelperSettingController (){
WCTableViewManager * manager;
MMUIViewController *helper;
@@ -66,7 +68,7 @@ - (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
if(DKHelperConfig.hasShowTips){return;}
- [DKHelper showAlertWithTitle:@"重要提示" message:@"本软件完全免费,插件功能仅供学习,由本软件产生的任何利益纠纷须有使用者自行承担。在收到微信团队\"非法客户端提示后\"继续使用可能有封号风险,需使用者自行承担。如遇到提醒,请卸载本软件,更换官方微信客户端" btnTitle:@"我明白了" handler:^(UIButton *sender) {
+ [DKHelper showAlertWithTitle:@"重要提示" message:@"本软件完全免费,插件功能仅供学习,由本软件产生的任何利益纠纷须有使用者自行承担。在收到微信团队\"非法客户端提示后\"继续使用可能有封号风险,需使用者自行承担。如遇到提醒,请卸载本软件,更换官方微信客户端!\n插件开发占用了作者的大量业余时间,同时部分越狱软件源盗用插件,甚至修改插件名称,如果在使用后觉得有用还请支持!" btnTitle:@"我明白了" handler:^(UIButton *sender) {
DKHelperConfig.hasShowTips = true;
} btnTitle:@"有风险我不使用了" handler:^(UIButton *sender) {
exit(0);
@@ -138,20 +140,25 @@ - (void)reloadTableData{
WCTableViewCellManager *callKitCell = [DKHelper switchCellWithSel:@selector(callKitEnable:) target:self title:@"使用CallKit" switchOn:[DKHelperConfig callKitEnable]];
[toBeNO1Section addCell:callKitCell];
+ WCTableViewCellManager *timelineForwardCell = [DKHelper switchCellWithSel:@selector(forwardTimeline:) target:self title:@"朋友圈转发" switchOn:[DKHelperConfig timeLineForwardEnable]];
+ [toBeNO1Section addCell:timelineForwardCell];
+
//MARK: 支持作者
WCTableViewSectionManager *supportAuthorSection = [DKHelper sectionManage];
supportAuthorSection.headerTitle = @"支持作者";
[manager addSection:supportAuthorSection];
- WCTableViewNormalCellManager * payMeCell = [DKHelper cellWithSel:@selector(payForMe) target:self title:@"请作者喝杯咖啡"];
+ WCTableViewNormalCellManager * payMeCell = [DKHelper cellWithSel:@selector(payForMe) target:self title:@"给作者倒一杯卡布奇诺"];
[supportAuthorSection addCell:payMeCell];
- WCTableViewNormalCellManager *myBlogCell = [DKHelper cellWithSel:@selector(openBlog) target:self title:@"我的博客"];
+ WCTableViewNormalCellManager *myBlogCell = [DKHelper cellWithSel:@selector(openBlog) target:self title:@"关于本软件"];
[supportAuthorSection addCell:myBlogCell];
WCTableViewNormalCellManager *myGitHubCell = [DKHelper cellWithSel:@selector(openGitHub) target:self title:@"本项目GitHub" rightValue:@"请给个⭐️" accessoryType:1];
[supportAuthorSection addCell:myGitHubCell];
+ WCTableViewNormalCellManager *joinGroupCell = [DKHelper cellWithSel:@selector(joinGroup) target:self title:@"加入交流群"];
+ [supportAuthorSection addCell:joinGroupCell];
//MARK: 积攒助手
@@ -255,6 +262,10 @@ - (void)revokeIntercept:(UISwitch *)sender{
DKHelperConfig.preventRevoke = sender.isOn;
}
+- (void)forwardTimeline:(UISwitch *)sender{
+ DKHelperConfig.timeLineForwardEnable = sender.isOn;
+}
+
- (void)changedSteps:(UISwitch *)sender{
DKHelperConfig.changeSteps = sender.isOn;
[self reloadTableData];
@@ -325,6 +336,13 @@ - (void)payForMe{
item.codeUrl = @"m0E25xJo038.ran,NI96(j";
[scMgr retryRequetScanResult:item viewController:self];
}
+- (void)joinGroup{
+ ScanQRCodeResultsMgr *scMgr = [[objc_getClass("MMServiceCenter") defaultCenter] getService:[objc_getClass("ScanQRCodeResultsMgr") class]];
+ ScanCodeHistoryItem *item = [[objc_getClass("ScanCodeHistoryItem") alloc] init];
+ item.type = @"QR_CODE";
+ item.codeUrl = @"https://weixin.qq.com/g/AQYAAHh7lIFHinAoS0lK9bf4Ew4iQs_looYQ8idimgU-BlwZh-agX8grDS1Gwvuq";
+ [scMgr retryRequetScanResult:item viewController:self];
+}
- (void)openBlog{
NSURL *blogUrl = [NSURL URLWithString:@"https://www.jianshu.com/p/8f3eae328a20"];
diff --git a/dkhelper/dkhelperDylib/Logos/dkhelperDylib.mm b/dkhelper/dkhelperDylib/Logos/dkhelperDylib.mm
index 2496a51..fb16dd4 100644
--- a/dkhelper/dkhelperDylib/Logos/dkhelperDylib.mm
+++ b/dkhelper/dkhelperDylib/Logos/dkhelperDylib.mm
@@ -35,9 +35,9 @@
#define _LOGOS_RETURN_RETAINED
#endif
-@class CContactMgr; @class CContact; @class MMServiceCenter; @class WCTimelineMgr; @class VoipCXMgr; @class MicroMessengerAppDelegate; @class CMessageWrap; @class CMessageMgr; @class NewSettingViewController; @class WCTableViewNormalCellManager; @class CGroupMgr; @class WCBizUtil; @class MMContext; @class MMTipsViewController; @class WCRedEnvelopesLogicMgr; @class WCDeviceStepObject; @class UIViewController;
-static id _logos_meta_method$_ungrouped$MMServiceCenter$defaultCenter(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$MicroMessengerAppDelegate$applicationDidEnterBackground$)(_LOGOS_SELF_TYPE_NORMAL MicroMessengerAppDelegate* _LOGOS_SELF_CONST, SEL, UIApplication *); static void _logos_method$_ungrouped$MicroMessengerAppDelegate$applicationDidEnterBackground$(_LOGOS_SELF_TYPE_NORMAL MicroMessengerAppDelegate* _LOGOS_SELF_CONST, SEL, UIApplication *); static void (*_logos_orig$_ungrouped$MicroMessengerAppDelegate$applicationDidBecomeActive$)(_LOGOS_SELF_TYPE_NORMAL MicroMessengerAppDelegate* _LOGOS_SELF_CONST, SEL, UIApplication *); static void _logos_method$_ungrouped$MicroMessengerAppDelegate$applicationDidBecomeActive$(_LOGOS_SELF_TYPE_NORMAL MicroMessengerAppDelegate* _LOGOS_SELF_CONST, SEL, UIApplication *); static void (*_logos_orig$_ungrouped$NewSettingViewController$reloadTableData)(_LOGOS_SELF_TYPE_NORMAL NewSettingViewController* _LOGOS_SELF_CONST, SEL); static void _logos_method$_ungrouped$NewSettingViewController$reloadTableData(_LOGOS_SELF_TYPE_NORMAL NewSettingViewController* _LOGOS_SELF_CONST, SEL); static void _logos_method$_ungrouped$NewSettingViewController$setting(_LOGOS_SELF_TYPE_NORMAL NewSettingViewController* _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$CMessageMgr$AddEmoticonMsg$MsgWrap$)(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, NSString *, CMessageWrap *); static void _logos_method$_ungrouped$CMessageMgr$AddEmoticonMsg$MsgWrap$(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, NSString *, CMessageWrap *); static void (*_logos_orig$_ungrouped$CMessageMgr$onRevokeMsg$)(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, CMessageWrap *); static void _logos_method$_ungrouped$CMessageMgr$onRevokeMsg$(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, CMessageWrap *); static void (*_logos_orig$_ungrouped$CMessageMgr$AsyncOnAddMsg$MsgWrap$)(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, NSString *, CMessageWrap *); static void _logos_method$_ungrouped$CMessageMgr$AsyncOnAddMsg$MsgWrap$(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, NSString *, CMessageWrap *); static NSInteger (*_logos_orig$_ungrouped$WCDeviceStepObject$m7StepCount)(_LOGOS_SELF_TYPE_NORMAL WCDeviceStepObject* _LOGOS_SELF_CONST, SEL); static NSInteger _logos_method$_ungrouped$WCDeviceStepObject$m7StepCount(_LOGOS_SELF_TYPE_NORMAL WCDeviceStepObject* _LOGOS_SELF_CONST, SEL); static NSInteger (*_logos_orig$_ungrouped$WCDeviceStepObject$hkStepCount)(_LOGOS_SELF_TYPE_NORMAL WCDeviceStepObject* _LOGOS_SELF_CONST, SEL); static NSInteger _logos_method$_ungrouped$WCDeviceStepObject$hkStepCount(_LOGOS_SELF_TYPE_NORMAL WCDeviceStepObject* _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$WCRedEnvelopesLogicMgr$OnWCToHongbaoCommonResponse$Request$)(_LOGOS_SELF_TYPE_NORMAL WCRedEnvelopesLogicMgr* _LOGOS_SELF_CONST, SEL, HongBaoRes *, HongBaoReq *); static void _logos_method$_ungrouped$WCRedEnvelopesLogicMgr$OnWCToHongbaoCommonResponse$Request$(_LOGOS_SELF_TYPE_NORMAL WCRedEnvelopesLogicMgr* _LOGOS_SELF_CONST, SEL, HongBaoRes *, HongBaoReq *); static unsigned int _logos_method$_ungrouped$WCRedEnvelopesLogicMgr$calculateDelaySeconds(_LOGOS_SELF_TYPE_NORMAL WCRedEnvelopesLogicMgr* _LOGOS_SELF_CONST, SEL); static BOOL (*_logos_meta_orig$_ungrouped$VoipCXMgr$isCallkitAvailable)(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static BOOL _logos_meta_method$_ungrouped$VoipCXMgr$isCallkitAvailable(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static BOOL (*_logos_meta_orig$_ungrouped$VoipCXMgr$isDeviceCallkitAvailable)(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static BOOL _logos_meta_method$_ungrouped$VoipCXMgr$isDeviceCallkitAvailable(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$UIViewController$viewWillAppear$)(_LOGOS_SELF_TYPE_NORMAL UIViewController* _LOGOS_SELF_CONST, SEL, BOOL); static void _logos_method$_ungrouped$UIViewController$viewWillAppear$(_LOGOS_SELF_TYPE_NORMAL UIViewController* _LOGOS_SELF_CONST, SEL, BOOL); static NSString * _logos_method$_ungrouped$MMTipsViewController$text(_LOGOS_SELF_TYPE_NORMAL MMTipsViewController* _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$WCTimelineMgr$modifyDataItem$notify$)(_LOGOS_SELF_TYPE_NORMAL WCTimelineMgr* _LOGOS_SELF_CONST, SEL, WCDataItem *, BOOL); static void _logos_method$_ungrouped$WCTimelineMgr$modifyDataItem$notify$(_LOGOS_SELF_TYPE_NORMAL WCTimelineMgr* _LOGOS_SELF_CONST, SEL, WCDataItem *, BOOL); static void (*_logos_orig$_ungrouped$CGroupMgr$addChatMemberNeedVerifyMsg$ContactList$)(_LOGOS_SELF_TYPE_NORMAL CGroupMgr* _LOGOS_SELF_CONST, SEL, id, id); static void _logos_method$_ungrouped$CGroupMgr$addChatMemberNeedVerifyMsg$ContactList$(_LOGOS_SELF_TYPE_NORMAL CGroupMgr* _LOGOS_SELF_CONST, SEL, id, id); static void (*_logos_orig$_ungrouped$CGroupMgr$addCreateMsg$ContactList$)(_LOGOS_SELF_TYPE_NORMAL CGroupMgr* _LOGOS_SELF_CONST, SEL, id, id); static void _logos_method$_ungrouped$CGroupMgr$addCreateMsg$ContactList$(_LOGOS_SELF_TYPE_NORMAL CGroupMgr* _LOGOS_SELF_CONST, SEL, id, id); static BOOL (*_logos_orig$_ungrouped$CContact$isEqual$)(_LOGOS_SELF_TYPE_NORMAL CContact* _LOGOS_SELF_CONST, SEL, CContact *); static BOOL _logos_method$_ungrouped$CContact$isEqual$(_LOGOS_SELF_TYPE_NORMAL CContact* _LOGOS_SELF_CONST, SEL, CContact *);
-static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$WCTableViewNormalCellManager(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("WCTableViewNormalCellManager"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$MMServiceCenter(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("MMServiceCenter"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$WCBizUtil(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("WCBizUtil"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$MMContext(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("MMContext"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$CContactMgr(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("CContactMgr"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$CMessageWrap(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("CMessageWrap"); } return _klass; }
+@class WCRedEnvelopesLogicMgr; @class MMServiceCenter; @class WCTableViewNormalCellManager; @class CMessageWrap; @class WCBizUtil; @class WCDeviceStepObject; @class CGroupMgr; @class MMContext; @class VoipCXMgr; @class MicroMessengerAppDelegate; @class WCTimelineMgr; @class UIViewController; @class MMTipsViewController; @class CMessageMgr; @class WCOperateFloatView; @class CContactMgr; @class NewSettingViewController;
+static id _logos_meta_method$_ungrouped$MMServiceCenter$defaultCenter(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$MicroMessengerAppDelegate$applicationDidEnterBackground$)(_LOGOS_SELF_TYPE_NORMAL MicroMessengerAppDelegate* _LOGOS_SELF_CONST, SEL, UIApplication *); static void _logos_method$_ungrouped$MicroMessengerAppDelegate$applicationDidEnterBackground$(_LOGOS_SELF_TYPE_NORMAL MicroMessengerAppDelegate* _LOGOS_SELF_CONST, SEL, UIApplication *); static void (*_logos_orig$_ungrouped$MicroMessengerAppDelegate$applicationDidBecomeActive$)(_LOGOS_SELF_TYPE_NORMAL MicroMessengerAppDelegate* _LOGOS_SELF_CONST, SEL, UIApplication *); static void _logos_method$_ungrouped$MicroMessengerAppDelegate$applicationDidBecomeActive$(_LOGOS_SELF_TYPE_NORMAL MicroMessengerAppDelegate* _LOGOS_SELF_CONST, SEL, UIApplication *); static void (*_logos_orig$_ungrouped$NewSettingViewController$reloadTableData)(_LOGOS_SELF_TYPE_NORMAL NewSettingViewController* _LOGOS_SELF_CONST, SEL); static void _logos_method$_ungrouped$NewSettingViewController$reloadTableData(_LOGOS_SELF_TYPE_NORMAL NewSettingViewController* _LOGOS_SELF_CONST, SEL); static void _logos_method$_ungrouped$NewSettingViewController$setting(_LOGOS_SELF_TYPE_NORMAL NewSettingViewController* _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$CMessageMgr$AddEmoticonMsg$MsgWrap$)(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, NSString *, CMessageWrap *); static void _logos_method$_ungrouped$CMessageMgr$AddEmoticonMsg$MsgWrap$(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, NSString *, CMessageWrap *); static void (*_logos_orig$_ungrouped$CMessageMgr$onRevokeMsg$)(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, CMessageWrap *); static void _logos_method$_ungrouped$CMessageMgr$onRevokeMsg$(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, CMessageWrap *); static void (*_logos_orig$_ungrouped$CMessageMgr$AsyncOnAddMsg$MsgWrap$)(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, NSString *, CMessageWrap *); static void _logos_method$_ungrouped$CMessageMgr$AsyncOnAddMsg$MsgWrap$(_LOGOS_SELF_TYPE_NORMAL CMessageMgr* _LOGOS_SELF_CONST, SEL, NSString *, CMessageWrap *); static NSInteger (*_logos_orig$_ungrouped$WCDeviceStepObject$m7StepCount)(_LOGOS_SELF_TYPE_NORMAL WCDeviceStepObject* _LOGOS_SELF_CONST, SEL); static NSInteger _logos_method$_ungrouped$WCDeviceStepObject$m7StepCount(_LOGOS_SELF_TYPE_NORMAL WCDeviceStepObject* _LOGOS_SELF_CONST, SEL); static NSInteger (*_logos_orig$_ungrouped$WCDeviceStepObject$hkStepCount)(_LOGOS_SELF_TYPE_NORMAL WCDeviceStepObject* _LOGOS_SELF_CONST, SEL); static NSInteger _logos_method$_ungrouped$WCDeviceStepObject$hkStepCount(_LOGOS_SELF_TYPE_NORMAL WCDeviceStepObject* _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$WCRedEnvelopesLogicMgr$OnWCToHongbaoCommonResponse$Request$)(_LOGOS_SELF_TYPE_NORMAL WCRedEnvelopesLogicMgr* _LOGOS_SELF_CONST, SEL, HongBaoRes *, HongBaoReq *); static void _logos_method$_ungrouped$WCRedEnvelopesLogicMgr$OnWCToHongbaoCommonResponse$Request$(_LOGOS_SELF_TYPE_NORMAL WCRedEnvelopesLogicMgr* _LOGOS_SELF_CONST, SEL, HongBaoRes *, HongBaoReq *); static unsigned int _logos_method$_ungrouped$WCRedEnvelopesLogicMgr$calculateDelaySeconds(_LOGOS_SELF_TYPE_NORMAL WCRedEnvelopesLogicMgr* _LOGOS_SELF_CONST, SEL); static BOOL (*_logos_meta_orig$_ungrouped$VoipCXMgr$isCallkitAvailable)(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static BOOL _logos_meta_method$_ungrouped$VoipCXMgr$isCallkitAvailable(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static BOOL (*_logos_meta_orig$_ungrouped$VoipCXMgr$isDeviceCallkitAvailable)(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static BOOL _logos_meta_method$_ungrouped$VoipCXMgr$isDeviceCallkitAvailable(_LOGOS_SELF_TYPE_NORMAL Class _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$UIViewController$viewWillAppear$)(_LOGOS_SELF_TYPE_NORMAL UIViewController* _LOGOS_SELF_CONST, SEL, BOOL); static void _logos_method$_ungrouped$UIViewController$viewWillAppear$(_LOGOS_SELF_TYPE_NORMAL UIViewController* _LOGOS_SELF_CONST, SEL, BOOL); static NSString * _logos_method$_ungrouped$MMTipsViewController$text(_LOGOS_SELF_TYPE_NORMAL MMTipsViewController* _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$WCTimelineMgr$modifyDataItem$notify$)(_LOGOS_SELF_TYPE_NORMAL WCTimelineMgr* _LOGOS_SELF_CONST, SEL, WCDataItem *, BOOL); static void _logos_method$_ungrouped$WCTimelineMgr$modifyDataItem$notify$(_LOGOS_SELF_TYPE_NORMAL WCTimelineMgr* _LOGOS_SELF_CONST, SEL, WCDataItem *, BOOL); static void (*_logos_orig$_ungrouped$CGroupMgr$addChatMemberNeedVerifyMsg$ContactList$)(_LOGOS_SELF_TYPE_NORMAL CGroupMgr* _LOGOS_SELF_CONST, SEL, id, id); static void _logos_method$_ungrouped$CGroupMgr$addChatMemberNeedVerifyMsg$ContactList$(_LOGOS_SELF_TYPE_NORMAL CGroupMgr* _LOGOS_SELF_CONST, SEL, id, id); static void (*_logos_orig$_ungrouped$CGroupMgr$addCreateMsg$ContactList$)(_LOGOS_SELF_TYPE_NORMAL CGroupMgr* _LOGOS_SELF_CONST, SEL, id, id); static void _logos_method$_ungrouped$CGroupMgr$addCreateMsg$ContactList$(_LOGOS_SELF_TYPE_NORMAL CGroupMgr* _LOGOS_SELF_CONST, SEL, id, id); static UIButton * _logos_method$_ungrouped$WCOperateFloatView$m_shareBtn(_LOGOS_SELF_TYPE_NORMAL WCOperateFloatView* _LOGOS_SELF_CONST, SEL); static UIImageView * _logos_method$_ungrouped$WCOperateFloatView$m_lineView2(_LOGOS_SELF_TYPE_NORMAL WCOperateFloatView* _LOGOS_SELF_CONST, SEL); static void (*_logos_orig$_ungrouped$WCOperateFloatView$showWithItemData$tipPoint$)(_LOGOS_SELF_TYPE_NORMAL WCOperateFloatView* _LOGOS_SELF_CONST, SEL, id, struct CGPoint); static void _logos_method$_ungrouped$WCOperateFloatView$showWithItemData$tipPoint$(_LOGOS_SELF_TYPE_NORMAL WCOperateFloatView* _LOGOS_SELF_CONST, SEL, id, struct CGPoint); static void _logos_method$_ungrouped$WCOperateFloatView$forwordTimeLine$(_LOGOS_SELF_TYPE_NORMAL WCOperateFloatView* _LOGOS_SELF_CONST, SEL, id);
+static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$WCBizUtil(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("WCBizUtil"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$CMessageWrap(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("CMessageWrap"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$MMContext(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("MMContext"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$WCTableViewNormalCellManager(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("WCTableViewNormalCellManager"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$CContactMgr(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("CContactMgr"); } return _klass; }static __inline__ __attribute__((always_inline)) __attribute__((unused)) Class _logos_static_class_lookup$MMServiceCenter(void) { static Class _klass; if(!_klass) { _klass = objc_getClass("MMServiceCenter"); } return _klass; }
#line 16 "/Users/zhudekun/mycode/github/DKWechatHelper/dkhelper/dkhelperDylib/Logos/dkhelperDylib.xm"
@@ -454,10 +454,56 @@
-static BOOL _logos_method$_ungrouped$CContact$isEqual$(_LOGOS_SELF_TYPE_NORMAL CContact* _LOGOS_SELF_CONST __unused self, SEL __unused _cmd, CContact * other) {
- return [other.m_nsUsrName isEqual: self.m_nsUsrName];
+
+static UIButton * _logos_method$_ungrouped$WCOperateFloatView$m_shareBtn(_LOGOS_SELF_TYPE_NORMAL WCOperateFloatView* _LOGOS_SELF_CONST __unused self, SEL __unused _cmd){
+ static char m_shareBtnKey;
+ UIButton * btn = objc_getAssociatedObject(self, &m_shareBtnKey);
+ if (!btn) {
+ btn = [UIButton buttonWithType:UIButtonTypeCustom];
+ [btn setTitle:@" 转发" forState:UIControlStateNormal];
+ [btn addTarget:self action:@selector(forwordTimeLine:) forControlEvents:UIControlEventTouchUpInside];
+ [btn setTitleColor:self.m_likeBtn.currentTitleColor forState:0];
+ btn.titleLabel.font = self.m_likeBtn.titleLabel.font;
+ [self.m_likeBtn.superview addSubview:btn];
+ NSString *base64Str = @"iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABf0lEQVQ4T62UvyuFYRTHP9/JJimjMpgYTBIDd5XEIIlB9x+Q5U5+xEIZLDabUoQsNtS9G5MyXImk3EHK/3B09Ly31/X+cG9Onek5z+c5z/l+n0f8c+ivPDMrAAVJG1l7mgWWgc0saCvAKnCWBm0F2A+cpEGbBkqSmfWlQXOBZjbgYgCDwIIDXZQ0aCrQzOaAZWAIuAEugaqk00jlJOgvYChaA6aAFeBY0nuaVRqhP4CxxQ9gVZJ3lhs/oAnt1ySN51JiBWa2FMYzW+/QzNwK3cCkpM+/As1sAjgAZiRVIsWKwHZ4Wo9NwFz5W2Ba0oXvi4Cu4L2kUrBEOzAMjIXsAjw7YrbpBZ6BeUlHURNu0h7gFXC/vQRlveM34AF4AipAG1AOxu4Me0qS9uM3cqB7bRS4A3y4556SvOt6hN8mAnrtoaTdxvE40H+QEcBP2pFUS5phBASu3eiS1pPqIuCWpKssMWLAPUl+k8T4fuiSfFaZEYBFSYtZhbmfQ95Bjetfmweww0YOfToAAAAASUVORK5CYII=";
+ NSData *imageData = [[NSData alloc] initWithBase64EncodedString:base64Str options:NSDataBase64DecodingIgnoreUnknownCharacters];
+ UIImage *image = [UIImage imageWithData:imageData ];
+ [btn setImage:image forState:0];
+ [btn setTintColor:self.m_likeBtn.tintColor];
+ objc_setAssociatedObject(self, &m_shareBtnKey, btn, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
+
+ }
+ return btn;
+}
+
+
+static UIImageView * _logos_method$_ungrouped$WCOperateFloatView$m_lineView2(_LOGOS_SELF_TYPE_NORMAL WCOperateFloatView* _LOGOS_SELF_CONST __unused self, SEL __unused _cmd){
+ static char m_lineView2Key;
+ UIImageView * imageView = objc_getAssociatedObject(self, &m_lineView2Key);
+ if (!imageView) {
+ imageView = [[UIImageView alloc] initWithImage:MSHookIvar(self, "m_lineView").image];
+ [self.m_likeBtn.superview addSubview: imageView];
+ objc_setAssociatedObject(self, &m_lineView2Key, imageView, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
+ }
+ return imageView;
}
+static void _logos_method$_ungrouped$WCOperateFloatView$showWithItemData$tipPoint$(_LOGOS_SELF_TYPE_NORMAL WCOperateFloatView* _LOGOS_SELF_CONST __unused self, SEL __unused _cmd, id arg1, struct CGPoint arg2){
+ _logos_orig$_ungrouped$WCOperateFloatView$showWithItemData$tipPoint$(self, _cmd, arg1,arg2);
+ if (DKHelperConfig.timeLineForwardEnable){
+ self.frame = CGRectOffset(CGRectInset(self.frame, self.frame.size.width / -4, 0),self.frame.size.width / -4,0);
+ self.m_shareBtn.frame = CGRectOffset(self.m_likeBtn.frame, self.m_likeBtn.frame.size.width * 2, 0);
+ self.m_lineView2.frame = CGRectOffset(MSHookIvar(self, "m_lineView").frame, [self buttonWidth:self.m_likeBtn], 0);
+ }
+}
+
+
+static void _logos_method$_ungrouped$WCOperateFloatView$forwordTimeLine$(_LOGOS_SELF_TYPE_NORMAL WCOperateFloatView* _LOGOS_SELF_CONST __unused self, SEL __unused _cmd, id arg1){
+ WCForwardViewController *forwardVC = [[objc_getClass("WCForwardViewController") alloc] initWithDataItem:self.m_item];
+ [self.navigationController pushViewController:forwardVC animated:true];
+}
+
+
@@ -465,5 +511,5 @@
static __attribute__((constructor)) void _logosLocalInit() {
-{Class _logos_class$_ungrouped$MMServiceCenter = objc_getClass("MMServiceCenter"); Class _logos_metaclass$_ungrouped$MMServiceCenter = object_getClass(_logos_class$_ungrouped$MMServiceCenter); { char _typeEncoding[1024]; unsigned int i = 0; _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_metaclass$_ungrouped$MMServiceCenter, @selector(defaultCenter), (IMP)&_logos_meta_method$_ungrouped$MMServiceCenter$defaultCenter, _typeEncoding); }Class _logos_class$_ungrouped$MicroMessengerAppDelegate = objc_getClass("MicroMessengerAppDelegate"); MSHookMessageEx(_logos_class$_ungrouped$MicroMessengerAppDelegate, @selector(applicationDidEnterBackground:), (IMP)&_logos_method$_ungrouped$MicroMessengerAppDelegate$applicationDidEnterBackground$, (IMP*)&_logos_orig$_ungrouped$MicroMessengerAppDelegate$applicationDidEnterBackground$);MSHookMessageEx(_logos_class$_ungrouped$MicroMessengerAppDelegate, @selector(applicationDidBecomeActive:), (IMP)&_logos_method$_ungrouped$MicroMessengerAppDelegate$applicationDidBecomeActive$, (IMP*)&_logos_orig$_ungrouped$MicroMessengerAppDelegate$applicationDidBecomeActive$);Class _logos_class$_ungrouped$NewSettingViewController = objc_getClass("NewSettingViewController"); MSHookMessageEx(_logos_class$_ungrouped$NewSettingViewController, @selector(reloadTableData), (IMP)&_logos_method$_ungrouped$NewSettingViewController$reloadTableData, (IMP*)&_logos_orig$_ungrouped$NewSettingViewController$reloadTableData);{ char _typeEncoding[1024]; unsigned int i = 0; _typeEncoding[i] = 'v'; i += 1; _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_class$_ungrouped$NewSettingViewController, @selector(setting), (IMP)&_logos_method$_ungrouped$NewSettingViewController$setting, _typeEncoding); }Class _logos_class$_ungrouped$CMessageMgr = objc_getClass("CMessageMgr"); MSHookMessageEx(_logos_class$_ungrouped$CMessageMgr, @selector(AddEmoticonMsg:MsgWrap:), (IMP)&_logos_method$_ungrouped$CMessageMgr$AddEmoticonMsg$MsgWrap$, (IMP*)&_logos_orig$_ungrouped$CMessageMgr$AddEmoticonMsg$MsgWrap$);MSHookMessageEx(_logos_class$_ungrouped$CMessageMgr, @selector(onRevokeMsg:), (IMP)&_logos_method$_ungrouped$CMessageMgr$onRevokeMsg$, (IMP*)&_logos_orig$_ungrouped$CMessageMgr$onRevokeMsg$);MSHookMessageEx(_logos_class$_ungrouped$CMessageMgr, @selector(AsyncOnAddMsg:MsgWrap:), (IMP)&_logos_method$_ungrouped$CMessageMgr$AsyncOnAddMsg$MsgWrap$, (IMP*)&_logos_orig$_ungrouped$CMessageMgr$AsyncOnAddMsg$MsgWrap$);Class _logos_class$_ungrouped$WCDeviceStepObject = objc_getClass("WCDeviceStepObject"); MSHookMessageEx(_logos_class$_ungrouped$WCDeviceStepObject, @selector(m7StepCount), (IMP)&_logos_method$_ungrouped$WCDeviceStepObject$m7StepCount, (IMP*)&_logos_orig$_ungrouped$WCDeviceStepObject$m7StepCount);MSHookMessageEx(_logos_class$_ungrouped$WCDeviceStepObject, @selector(hkStepCount), (IMP)&_logos_method$_ungrouped$WCDeviceStepObject$hkStepCount, (IMP*)&_logos_orig$_ungrouped$WCDeviceStepObject$hkStepCount);Class _logos_class$_ungrouped$WCRedEnvelopesLogicMgr = objc_getClass("WCRedEnvelopesLogicMgr"); MSHookMessageEx(_logos_class$_ungrouped$WCRedEnvelopesLogicMgr, @selector(OnWCToHongbaoCommonResponse:Request:), (IMP)&_logos_method$_ungrouped$WCRedEnvelopesLogicMgr$OnWCToHongbaoCommonResponse$Request$, (IMP*)&_logos_orig$_ungrouped$WCRedEnvelopesLogicMgr$OnWCToHongbaoCommonResponse$Request$);{ char _typeEncoding[1024]; unsigned int i = 0; _typeEncoding[i] = 'I'; i += 1; _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_class$_ungrouped$WCRedEnvelopesLogicMgr, @selector(calculateDelaySeconds), (IMP)&_logos_method$_ungrouped$WCRedEnvelopesLogicMgr$calculateDelaySeconds, _typeEncoding); }Class _logos_class$_ungrouped$VoipCXMgr = objc_getClass("VoipCXMgr"); Class _logos_metaclass$_ungrouped$VoipCXMgr = object_getClass(_logos_class$_ungrouped$VoipCXMgr); MSHookMessageEx(_logos_metaclass$_ungrouped$VoipCXMgr, @selector(isCallkitAvailable), (IMP)&_logos_meta_method$_ungrouped$VoipCXMgr$isCallkitAvailable, (IMP*)&_logos_meta_orig$_ungrouped$VoipCXMgr$isCallkitAvailable);MSHookMessageEx(_logos_metaclass$_ungrouped$VoipCXMgr, @selector(isDeviceCallkitAvailable), (IMP)&_logos_meta_method$_ungrouped$VoipCXMgr$isDeviceCallkitAvailable, (IMP*)&_logos_meta_orig$_ungrouped$VoipCXMgr$isDeviceCallkitAvailable);Class _logos_class$_ungrouped$UIViewController = objc_getClass("UIViewController"); MSHookMessageEx(_logos_class$_ungrouped$UIViewController, @selector(viewWillAppear:), (IMP)&_logos_method$_ungrouped$UIViewController$viewWillAppear$, (IMP*)&_logos_orig$_ungrouped$UIViewController$viewWillAppear$);Class _logos_class$_ungrouped$MMTipsViewController = objc_getClass("MMTipsViewController"); { char _typeEncoding[1024]; unsigned int i = 0; memcpy(_typeEncoding + i, @encode(NSString *), strlen(@encode(NSString *))); i += strlen(@encode(NSString *)); _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_class$_ungrouped$MMTipsViewController, @selector(text), (IMP)&_logos_method$_ungrouped$MMTipsViewController$text, _typeEncoding); }Class _logos_class$_ungrouped$WCTimelineMgr = objc_getClass("WCTimelineMgr"); MSHookMessageEx(_logos_class$_ungrouped$WCTimelineMgr, @selector(modifyDataItem:notify:), (IMP)&_logos_method$_ungrouped$WCTimelineMgr$modifyDataItem$notify$, (IMP*)&_logos_orig$_ungrouped$WCTimelineMgr$modifyDataItem$notify$);Class _logos_class$_ungrouped$CGroupMgr = objc_getClass("CGroupMgr"); MSHookMessageEx(_logos_class$_ungrouped$CGroupMgr, @selector(addChatMemberNeedVerifyMsg:ContactList:), (IMP)&_logos_method$_ungrouped$CGroupMgr$addChatMemberNeedVerifyMsg$ContactList$, (IMP*)&_logos_orig$_ungrouped$CGroupMgr$addChatMemberNeedVerifyMsg$ContactList$);MSHookMessageEx(_logos_class$_ungrouped$CGroupMgr, @selector(addCreateMsg:ContactList:), (IMP)&_logos_method$_ungrouped$CGroupMgr$addCreateMsg$ContactList$, (IMP*)&_logos_orig$_ungrouped$CGroupMgr$addCreateMsg$ContactList$);Class _logos_class$_ungrouped$CContact = objc_getClass("CContact"); MSHookMessageEx(_logos_class$_ungrouped$CContact, @selector(isEqual:), (IMP)&_logos_method$_ungrouped$CContact$isEqual$, (IMP*)&_logos_orig$_ungrouped$CContact$isEqual$);} }
-#line 441 "/Users/zhudekun/mycode/github/DKWechatHelper/dkhelper/dkhelperDylib/Logos/dkhelperDylib.xm"
+{Class _logos_class$_ungrouped$MMServiceCenter = objc_getClass("MMServiceCenter"); Class _logos_metaclass$_ungrouped$MMServiceCenter = object_getClass(_logos_class$_ungrouped$MMServiceCenter); { char _typeEncoding[1024]; unsigned int i = 0; _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_metaclass$_ungrouped$MMServiceCenter, @selector(defaultCenter), (IMP)&_logos_meta_method$_ungrouped$MMServiceCenter$defaultCenter, _typeEncoding); }Class _logos_class$_ungrouped$MicroMessengerAppDelegate = objc_getClass("MicroMessengerAppDelegate"); MSHookMessageEx(_logos_class$_ungrouped$MicroMessengerAppDelegate, @selector(applicationDidEnterBackground:), (IMP)&_logos_method$_ungrouped$MicroMessengerAppDelegate$applicationDidEnterBackground$, (IMP*)&_logos_orig$_ungrouped$MicroMessengerAppDelegate$applicationDidEnterBackground$);MSHookMessageEx(_logos_class$_ungrouped$MicroMessengerAppDelegate, @selector(applicationDidBecomeActive:), (IMP)&_logos_method$_ungrouped$MicroMessengerAppDelegate$applicationDidBecomeActive$, (IMP*)&_logos_orig$_ungrouped$MicroMessengerAppDelegate$applicationDidBecomeActive$);Class _logos_class$_ungrouped$NewSettingViewController = objc_getClass("NewSettingViewController"); MSHookMessageEx(_logos_class$_ungrouped$NewSettingViewController, @selector(reloadTableData), (IMP)&_logos_method$_ungrouped$NewSettingViewController$reloadTableData, (IMP*)&_logos_orig$_ungrouped$NewSettingViewController$reloadTableData);{ char _typeEncoding[1024]; unsigned int i = 0; _typeEncoding[i] = 'v'; i += 1; _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_class$_ungrouped$NewSettingViewController, @selector(setting), (IMP)&_logos_method$_ungrouped$NewSettingViewController$setting, _typeEncoding); }Class _logos_class$_ungrouped$CMessageMgr = objc_getClass("CMessageMgr"); MSHookMessageEx(_logos_class$_ungrouped$CMessageMgr, @selector(AddEmoticonMsg:MsgWrap:), (IMP)&_logos_method$_ungrouped$CMessageMgr$AddEmoticonMsg$MsgWrap$, (IMP*)&_logos_orig$_ungrouped$CMessageMgr$AddEmoticonMsg$MsgWrap$);MSHookMessageEx(_logos_class$_ungrouped$CMessageMgr, @selector(onRevokeMsg:), (IMP)&_logos_method$_ungrouped$CMessageMgr$onRevokeMsg$, (IMP*)&_logos_orig$_ungrouped$CMessageMgr$onRevokeMsg$);MSHookMessageEx(_logos_class$_ungrouped$CMessageMgr, @selector(AsyncOnAddMsg:MsgWrap:), (IMP)&_logos_method$_ungrouped$CMessageMgr$AsyncOnAddMsg$MsgWrap$, (IMP*)&_logos_orig$_ungrouped$CMessageMgr$AsyncOnAddMsg$MsgWrap$);Class _logos_class$_ungrouped$WCDeviceStepObject = objc_getClass("WCDeviceStepObject"); MSHookMessageEx(_logos_class$_ungrouped$WCDeviceStepObject, @selector(m7StepCount), (IMP)&_logos_method$_ungrouped$WCDeviceStepObject$m7StepCount, (IMP*)&_logos_orig$_ungrouped$WCDeviceStepObject$m7StepCount);MSHookMessageEx(_logos_class$_ungrouped$WCDeviceStepObject, @selector(hkStepCount), (IMP)&_logos_method$_ungrouped$WCDeviceStepObject$hkStepCount, (IMP*)&_logos_orig$_ungrouped$WCDeviceStepObject$hkStepCount);Class _logos_class$_ungrouped$WCRedEnvelopesLogicMgr = objc_getClass("WCRedEnvelopesLogicMgr"); MSHookMessageEx(_logos_class$_ungrouped$WCRedEnvelopesLogicMgr, @selector(OnWCToHongbaoCommonResponse:Request:), (IMP)&_logos_method$_ungrouped$WCRedEnvelopesLogicMgr$OnWCToHongbaoCommonResponse$Request$, (IMP*)&_logos_orig$_ungrouped$WCRedEnvelopesLogicMgr$OnWCToHongbaoCommonResponse$Request$);{ char _typeEncoding[1024]; unsigned int i = 0; _typeEncoding[i] = 'I'; i += 1; _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_class$_ungrouped$WCRedEnvelopesLogicMgr, @selector(calculateDelaySeconds), (IMP)&_logos_method$_ungrouped$WCRedEnvelopesLogicMgr$calculateDelaySeconds, _typeEncoding); }Class _logos_class$_ungrouped$VoipCXMgr = objc_getClass("VoipCXMgr"); Class _logos_metaclass$_ungrouped$VoipCXMgr = object_getClass(_logos_class$_ungrouped$VoipCXMgr); MSHookMessageEx(_logos_metaclass$_ungrouped$VoipCXMgr, @selector(isCallkitAvailable), (IMP)&_logos_meta_method$_ungrouped$VoipCXMgr$isCallkitAvailable, (IMP*)&_logos_meta_orig$_ungrouped$VoipCXMgr$isCallkitAvailable);MSHookMessageEx(_logos_metaclass$_ungrouped$VoipCXMgr, @selector(isDeviceCallkitAvailable), (IMP)&_logos_meta_method$_ungrouped$VoipCXMgr$isDeviceCallkitAvailable, (IMP*)&_logos_meta_orig$_ungrouped$VoipCXMgr$isDeviceCallkitAvailable);Class _logos_class$_ungrouped$UIViewController = objc_getClass("UIViewController"); MSHookMessageEx(_logos_class$_ungrouped$UIViewController, @selector(viewWillAppear:), (IMP)&_logos_method$_ungrouped$UIViewController$viewWillAppear$, (IMP*)&_logos_orig$_ungrouped$UIViewController$viewWillAppear$);Class _logos_class$_ungrouped$MMTipsViewController = objc_getClass("MMTipsViewController"); { char _typeEncoding[1024]; unsigned int i = 0; memcpy(_typeEncoding + i, @encode(NSString *), strlen(@encode(NSString *))); i += strlen(@encode(NSString *)); _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_class$_ungrouped$MMTipsViewController, @selector(text), (IMP)&_logos_method$_ungrouped$MMTipsViewController$text, _typeEncoding); }Class _logos_class$_ungrouped$WCTimelineMgr = objc_getClass("WCTimelineMgr"); MSHookMessageEx(_logos_class$_ungrouped$WCTimelineMgr, @selector(modifyDataItem:notify:), (IMP)&_logos_method$_ungrouped$WCTimelineMgr$modifyDataItem$notify$, (IMP*)&_logos_orig$_ungrouped$WCTimelineMgr$modifyDataItem$notify$);Class _logos_class$_ungrouped$CGroupMgr = objc_getClass("CGroupMgr"); MSHookMessageEx(_logos_class$_ungrouped$CGroupMgr, @selector(addChatMemberNeedVerifyMsg:ContactList:), (IMP)&_logos_method$_ungrouped$CGroupMgr$addChatMemberNeedVerifyMsg$ContactList$, (IMP*)&_logos_orig$_ungrouped$CGroupMgr$addChatMemberNeedVerifyMsg$ContactList$);MSHookMessageEx(_logos_class$_ungrouped$CGroupMgr, @selector(addCreateMsg:ContactList:), (IMP)&_logos_method$_ungrouped$CGroupMgr$addCreateMsg$ContactList$, (IMP*)&_logos_orig$_ungrouped$CGroupMgr$addCreateMsg$ContactList$);Class _logos_class$_ungrouped$WCOperateFloatView = objc_getClass("WCOperateFloatView"); { char _typeEncoding[1024]; unsigned int i = 0; memcpy(_typeEncoding + i, @encode(UIButton *), strlen(@encode(UIButton *))); i += strlen(@encode(UIButton *)); _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_class$_ungrouped$WCOperateFloatView, @selector(m_shareBtn), (IMP)&_logos_method$_ungrouped$WCOperateFloatView$m_shareBtn, _typeEncoding); }{ char _typeEncoding[1024]; unsigned int i = 0; memcpy(_typeEncoding + i, @encode(UIImageView *), strlen(@encode(UIImageView *))); i += strlen(@encode(UIImageView *)); _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_class$_ungrouped$WCOperateFloatView, @selector(m_lineView2), (IMP)&_logos_method$_ungrouped$WCOperateFloatView$m_lineView2, _typeEncoding); }MSHookMessageEx(_logos_class$_ungrouped$WCOperateFloatView, @selector(showWithItemData:tipPoint:), (IMP)&_logos_method$_ungrouped$WCOperateFloatView$showWithItemData$tipPoint$, (IMP*)&_logos_orig$_ungrouped$WCOperateFloatView$showWithItemData$tipPoint$);{ char _typeEncoding[1024]; unsigned int i = 0; _typeEncoding[i] = 'v'; i += 1; _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = ':'; i += 1; _typeEncoding[i] = '@'; i += 1; _typeEncoding[i] = '\0'; class_addMethod(_logos_class$_ungrouped$WCOperateFloatView, @selector(forwordTimeLine:), (IMP)&_logos_method$_ungrouped$WCOperateFloatView$forwordTimeLine$, _typeEncoding); }} }
+#line 487 "/Users/zhudekun/mycode/github/DKWechatHelper/dkhelper/dkhelperDylib/Logos/dkhelperDylib.xm"
diff --git a/dkhelper/dkhelperDylib/Logos/dkhelperDylib.xm b/dkhelper/dkhelperDylib/Logos/dkhelperDylib.xm
index 8a10dc1..af090bd 100644
--- a/dkhelper/dkhelperDylib/Logos/dkhelperDylib.xm
+++ b/dkhelper/dkhelperDylib/Logos/dkhelperDylib.xm
@@ -426,15 +426,61 @@
}
%end
-%hook CContact
-- (BOOL)isEqual:(CContact *)other
-{
- return [other.m_nsUsrName isEqual: self.m_nsUsrName];
-}
-%end
+%hook WCOperateFloatView
+%new
+-(UIButton *)m_shareBtn{
+ static char m_shareBtnKey;
+ UIButton * btn = objc_getAssociatedObject(self, &m_shareBtnKey);
+ if (!btn) {
+ btn = [UIButton buttonWithType:UIButtonTypeCustom];
+ [btn setTitle:@" 转发" forState:UIControlStateNormal];
+ [btn addTarget:self action:@selector(forwordTimeLine:) forControlEvents:UIControlEventTouchUpInside];
+ [btn setTitleColor:self.m_likeBtn.currentTitleColor forState:0];
+ btn.titleLabel.font = self.m_likeBtn.titleLabel.font;
+ [self.m_likeBtn.superview addSubview:btn];
+ NSString *base64Str = @"iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAABf0lEQVQ4T62UvyuFYRTHP9/JJimjMpgYTBIDd5XEIIlB9x+Q5U5+xEIZLDabUoQsNtS9G5MyXImk3EHK/3B09Ly31/X+cG9Onek5z+c5z/l+n0f8c+ivPDMrAAVJG1l7mgWWgc0saCvAKnCWBm0F2A+cpEGbBkqSmfWlQXOBZjbgYgCDwIIDXZQ0aCrQzOaAZWAIuAEugaqk00jlJOgvYChaA6aAFeBY0nuaVRqhP4CxxQ9gVZJ3lhs/oAnt1ySN51JiBWa2FMYzW+/QzNwK3cCkpM+/As1sAjgAZiRVIsWKwHZ4Wo9NwFz5W2Ba0oXvi4Cu4L2kUrBEOzAMjIXsAjw7YrbpBZ6BeUlHURNu0h7gFXC/vQRlveM34AF4AipAG1AOxu4Me0qS9uM3cqB7bRS4A3y4556SvOt6hN8mAnrtoaTdxvE40H+QEcBP2pFUS5phBASu3eiS1pPqIuCWpKssMWLAPUl+k8T4fuiSfFaZEYBFSYtZhbmfQ95Bjetfmweww0YOfToAAAAASUVORK5CYII=";
+ NSData *imageData = [[NSData alloc] initWithBase64EncodedString:base64Str options:NSDataBase64DecodingIgnoreUnknownCharacters];
+ UIImage *image = [UIImage imageWithData:imageData ];
+ [btn setImage:image forState:0];
+ [btn setTintColor:self.m_likeBtn.tintColor];
+ objc_setAssociatedObject(self, &m_shareBtnKey, btn, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
+ }
+ return btn;
+}
+%new
+-(UIImageView *)m_lineView2{
+ static char m_lineView2Key;
+ UIImageView * imageView = objc_getAssociatedObject(self, &m_lineView2Key);
+ if (!imageView) {
+ imageView = [[UIImageView alloc] initWithImage:MSHookIvar(self, "m_lineView").image];
+ [self.m_likeBtn.superview addSubview: imageView];
+ objc_setAssociatedObject(self, &m_lineView2Key, imageView, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
+ }
+ return imageView;
+}
+- (void)showWithItemData:(id)arg1 tipPoint:(struct CGPoint)arg2{
+ %orig(arg1,arg2);
+ if (DKHelperConfig.timeLineForwardEnable){
+ self.frame = CGRectOffset(CGRectInset(self.frame, self.frame.size.width / -4, 0),self.frame.size.width / -4,0);
+ self.m_shareBtn.frame = CGRectOffset(self.m_likeBtn.frame, self.m_likeBtn.frame.size.width * 2, 0);
+ self.m_lineView2.frame = CGRectOffset(MSHookIvar(self, "m_lineView").frame, [self buttonWidth:self.m_likeBtn], 0);
+ }
+}
+%new
+- (void)forwordTimeLine:(id)arg1{
+ WCForwardViewController *forwardVC = [[objc_getClass("WCForwardViewController") alloc] initWithDataItem:self.m_item];
+ [self.navigationController pushViewController:forwardVC animated:true];
+}
+
+%end
+//%hook ScanQRCodeResultsMgr
+//- (void)retryRequetScanResult:(id)arg1 viewController:(id)arg2{
+// %orig;
+//}
+//%end
diff --git a/dkhelper/dkhelperDylib/MyUtils/DKHelperConfig.h b/dkhelper/dkhelperDylib/MyUtils/DKHelperConfig.h
index dd6ecd0..b92773d 100644
--- a/dkhelper/dkhelperDylib/MyUtils/DKHelperConfig.h
+++ b/dkhelper/dkhelperDylib/MyUtils/DKHelperConfig.h
@@ -77,6 +77,9 @@ NS_ASSUME_NONNULL_BEGIN
/// 启用callkit
+(BOOL)callKitEnable;
+(void)setCallKitEnable:(BOOL)value;
+/// 启用朋友圈转发
++(BOOL)timeLineForwardEnable;
++(void)setTimeLineForwardEnable:(BOOL)value;
/// 启用积攒助手
+(BOOL)likeCommentEnable;
diff --git a/dkhelper/dkhelperDylib/wechatHeaders/WCUIAlertView.h b/dkhelper/dkhelperDylib/wechatHeaders/WCUIAlertView.h
index 78b2e0d..14f7b3e 100644
--- a/dkhelper/dkhelperDylib/wechatHeaders/WCUIAlertView.h
+++ b/dkhelper/dkhelperDylib/wechatHeaders/WCUIAlertView.h
@@ -47,3 +47,19 @@
@end
+@interface WCUIActionSheet : UIWindow
+
+- (void)addDestructiveButtonTitle:(id)arg1 target:(id)arg2 sel:(SEL)arg3;
+- (void)addCancelBtnTitle:(id)arg1 target:(id)arg2 sel:(SEL)arg3;
+- (void)addBtnTitle:(id)arg1 target:(id)arg2 sel:(SEL)arg3;
+- (id)initWithTitle:(id)arg1;
+- (id)init;
+- (void)showInView:(id)arg1;
+
+@end
+
+//WCUIActionSheet *actionSheet = [[objc_getClass("WCUIActionSheet") alloc] initWithTitle:@"朋友圈转发"];
+//for (NSString* str in @[@"转发给好友",@"转发到朋友圈"]){
+// [actionSheet addBtnTitle:str target:self sel:@selector(startForword:)];
+//}
+//[actionSheet showInView:self];
diff --git a/dkhelper/dkhelperDylib/wechatHeaders/WechatHeaders.h b/dkhelper/dkhelperDylib/wechatHeaders/WechatHeaders.h
index e3cc896..334c44a 100644
--- a/dkhelper/dkhelperDylib/wechatHeaders/WechatHeaders.h
+++ b/dkhelper/dkhelperDylib/wechatHeaders/WechatHeaders.h
@@ -321,6 +321,13 @@
@end
+
+@interface WCContentItem : NSObject
+@property(retain, nonatomic) NSString *linkUrl;
+@property(nonatomic) int type;
+@property(retain, nonatomic) NSMutableArray *mediaList;
+@end
+
/// 朋友圈数据
@interface WCDataItem : NSObject
@property (retain, nonatomic) NSMutableArray * likeUsers;
@@ -329,9 +336,18 @@
@property (retain, nonatomic) NSMutableArray * commentUsers;
@property (nonatomic) int commentCount;
@property(nonatomic,assign) BOOL likeFlag;
-@property(nonatomic) unsigned int createtime;
+@property(nonatomic) unsigned int createtime;
+@property(retain, nonatomic) NSString *contentDesc;
+@property(retain, nonatomic) WCContentItem *contentObj;
@end
+@interface WCNewCommitViewController : MMUIViewController
+- (id)initWithSightDraft:(id)arg1;
+@end
+@interface WCForwardViewController : WCNewCommitViewController
+- (id)initWithDataItem:(id)arg1 sessionID:(id)arg2;
+- (id)initWithDataItem:(id)arg1;
+@end
@interface SettingUtil : NSObject
@@ -457,6 +473,29 @@
- (void)setLabelText:(id)arg1;
- (void)ShowTipView:(id)arg1 Title:(id)arg2 Delay:(double)arg3;
+@end
+
+@interface WCOperateFloatView : UIView{
+ UIImageView *m_lineView;
+}
+
+@property(nonatomic) __weak UINavigationController *navigationController;
+@property(readonly, nonatomic) UIButton *m_commentBtn;
+@property(readonly, nonatomic) UIButton *m_likeBtn;
+@property(nonatomic,strong) UIButton *m_shareBtn;
+@property(nonatomic,strong)UIImageView *m_lineView2;
+@property(readonly, nonatomic) WCDataItem *m_item;
+- (void)onLikeItem:(id)arg1;
+- (void)hide;
+- (void)animationDidStopHide;
+- (void)animationDidStop;
+- (void)showWithItemData:(id)arg1 tipPoint:(struct CGPoint)arg2;
+- (id)init;
+- (double)protectWidth:(double)arg1;
+- (double)buttonWidth:(id)arg1;
+/// 朋友圈转发
+- (void)forwordTimeLine:(id)arg1;
+
@end
#endif /* WechatHeaders_h */