├── README.md
├── a10.png
└── alipaylog
├── .theos
├── _
│ ├── DEBIAN
│ │ └── control
│ └── Library
│ │ └── MobileSubstrate
│ │ └── DynamicLibraries
│ │ ├── alipaylog.dylib
│ │ └── alipaylog.plist
├── build_session
├── fakeroot
├── last_package
├── obj
│ └── debug
│ │ ├── .stamp
│ │ ├── alipaylog.dylib
│ │ ├── arm64
│ │ ├── APListData.m.92570829.o
│ │ ├── H5WebViewController.m.92570829.o
│ │ ├── Tweak.xm.92570829.o
│ │ └── alipaylog.dylib
│ │ └── armv7
│ │ ├── APListData.m.96d50747.o
│ │ ├── H5WebViewController.m.96d50747.o
│ │ ├── Tweak.xm.96d50747.o
│ │ └── alipaylog.dylib
└── packages
│ └── com.yourcompany.alipaylog-0.0.1
├── APListData.h
├── APListData.m
├── AUToast.h
├── H5WebViewController.h
├── H5WebViewController.m
├── Makefile
├── PSDJsBridge.h
├── Tweak.xm
├── alipaylog.plist
├── control
└── packages
└── com.yourcompany.alipaylog_0.0.1-119+debug_iphoneos-arm.deb
/README.md:
--------------------------------------------------------------------------------
1 |
2 | #越狱插件
3 | #iOS支付宝蚂蚁森林能量收取助手
4 |
5 |
6 | ### 分析文章博客
7 |
8 | http://blog.csdn.net/kissing_huo/article/details/78548942
9 |
10 | 感觉csdn的排版markdwon要好看点吧 吾爱的和预览有点偏差
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/a10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hackxhj/alipayForestTweak/a60e3dee8aefa5bab11b27235a8ca3e7571fe8a1/a10.png
--------------------------------------------------------------------------------
/alipaylog/.theos/_/DEBIAN/control:
--------------------------------------------------------------------------------
1 | Package: com.yourcompany.alipaylog
2 | Name: alipaylog
3 | Depends: mobilesubstrate
4 | Architecture: iphoneos-arm
5 | Description: An awesome MobileSubstrate tweak!
6 | Maintainer: cardlan_yuhuajun
7 | Author: cardlan_yuhuajun
8 | Section: Tweaks
9 | Version: 0.0.1-119+debug
10 | Installed-Size: 264
11 |
--------------------------------------------------------------------------------
/alipaylog/.theos/_/Library/MobileSubstrate/DynamicLibraries/alipaylog.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hackxhj/alipayForestTweak/a60e3dee8aefa5bab11b27235a8ca3e7571fe8a1/alipaylog/.theos/_/Library/MobileSubstrate/DynamicLibraries/alipaylog.dylib
--------------------------------------------------------------------------------
/alipaylog/.theos/_/Library/MobileSubstrate/DynamicLibraries/alipaylog.plist:
--------------------------------------------------------------------------------
1 | { Filter = { Bundles = ( "com.alipay.iphoneclient" ); }; }
2 |
--------------------------------------------------------------------------------
/alipaylog/.theos/build_session:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hackxhj/alipayForestTweak/a60e3dee8aefa5bab11b27235a8ca3e7571fe8a1/alipaylog/.theos/build_session
--------------------------------------------------------------------------------
/alipaylog/.theos/fakeroot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hackxhj/alipayForestTweak/a60e3dee8aefa5bab11b27235a8ca3e7571fe8a1/alipaylog/.theos/fakeroot
--------------------------------------------------------------------------------
/alipaylog/.theos/last_package:
--------------------------------------------------------------------------------
1 | ./packages/com.yourcompany.alipaylog_0.0.1-119+debug_iphoneos-arm.deb
2 |
--------------------------------------------------------------------------------
/alipaylog/.theos/obj/debug/.stamp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hackxhj/alipayForestTweak/a60e3dee8aefa5bab11b27235a8ca3e7571fe8a1/alipaylog/.theos/obj/debug/.stamp
--------------------------------------------------------------------------------
/alipaylog/.theos/obj/debug/alipaylog.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hackxhj/alipayForestTweak/a60e3dee8aefa5bab11b27235a8ca3e7571fe8a1/alipaylog/.theos/obj/debug/alipaylog.dylib
--------------------------------------------------------------------------------
/alipaylog/.theos/obj/debug/arm64/APListData.m.92570829.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hackxhj/alipayForestTweak/a60e3dee8aefa5bab11b27235a8ca3e7571fe8a1/alipaylog/.theos/obj/debug/arm64/APListData.m.92570829.o
--------------------------------------------------------------------------------
/alipaylog/.theos/obj/debug/arm64/H5WebViewController.m.92570829.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hackxhj/alipayForestTweak/a60e3dee8aefa5bab11b27235a8ca3e7571fe8a1/alipaylog/.theos/obj/debug/arm64/H5WebViewController.m.92570829.o
--------------------------------------------------------------------------------
/alipaylog/.theos/obj/debug/arm64/Tweak.xm.92570829.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hackxhj/alipayForestTweak/a60e3dee8aefa5bab11b27235a8ca3e7571fe8a1/alipaylog/.theos/obj/debug/arm64/Tweak.xm.92570829.o
--------------------------------------------------------------------------------
/alipaylog/.theos/obj/debug/arm64/alipaylog.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hackxhj/alipayForestTweak/a60e3dee8aefa5bab11b27235a8ca3e7571fe8a1/alipaylog/.theos/obj/debug/arm64/alipaylog.dylib
--------------------------------------------------------------------------------
/alipaylog/.theos/obj/debug/armv7/APListData.m.96d50747.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hackxhj/alipayForestTweak/a60e3dee8aefa5bab11b27235a8ca3e7571fe8a1/alipaylog/.theos/obj/debug/armv7/APListData.m.96d50747.o
--------------------------------------------------------------------------------
/alipaylog/.theos/obj/debug/armv7/H5WebViewController.m.96d50747.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hackxhj/alipayForestTweak/a60e3dee8aefa5bab11b27235a8ca3e7571fe8a1/alipaylog/.theos/obj/debug/armv7/H5WebViewController.m.96d50747.o
--------------------------------------------------------------------------------
/alipaylog/.theos/obj/debug/armv7/Tweak.xm.96d50747.o:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hackxhj/alipayForestTweak/a60e3dee8aefa5bab11b27235a8ca3e7571fe8a1/alipaylog/.theos/obj/debug/armv7/Tweak.xm.96d50747.o
--------------------------------------------------------------------------------
/alipaylog/.theos/obj/debug/armv7/alipaylog.dylib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hackxhj/alipayForestTweak/a60e3dee8aefa5bab11b27235a8ca3e7571fe8a1/alipaylog/.theos/obj/debug/armv7/alipaylog.dylib
--------------------------------------------------------------------------------
/alipaylog/.theos/packages/com.yourcompany.alipaylog-0.0.1:
--------------------------------------------------------------------------------
1 | 119
--------------------------------------------------------------------------------
/alipaylog/APListData.h:
--------------------------------------------------------------------------------
1 | //
2 | // APListData.h
3 | // GameTodayNews
4 | //
5 | // Created by cardlan_yuhuajun on 2017/11/14.
6 | // Copyright © 2017年 hua. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface APListData : NSObject
12 |
13 | +(id)sharedInstance;
14 | @property(nonatomic,strong)id jsBridge;
15 | @property(nonatomic,strong)id topFriends;
16 | @property(atomic,strong)NSMutableDictionary *topBubblesDic;
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/alipaylog/APListData.m:
--------------------------------------------------------------------------------
1 | //
2 | // APListData.m
3 | // GameTodayNews
4 | //
5 | // Created by cardlan_yuhuajun on 2017/11/14.
6 | // Copyright © 2017年 hua. All rights reserved.
7 | //
8 |
9 | #import "APListData.h"
10 |
11 | @implementation APListData
12 | @synthesize jsBridge;
13 | @synthesize topFriends;
14 | @synthesize topBubblesDic;
15 |
16 | static APListData *apList=nil;
17 | +(id)sharedInstance
18 | {
19 | static dispatch_once_t onceToken;
20 | dispatch_once(&onceToken, ^{
21 | apList=[[self alloc]init];
22 |
23 | });
24 | return apList;
25 | }
26 |
27 | + (instancetype)allocWithZone:(struct _NSZone *)zone
28 | {
29 | static dispatch_once_t onceToken;
30 | dispatch_once(&onceToken, ^{
31 | apList = [super allocWithZone:zone];
32 | });
33 | return apList;
34 | }
35 |
36 | /*-(NSMutableDictionary*)topBubblesDic
37 | {
38 | if(!_topBubblesDic){
39 | _topBubblesDic=[NSMutableDictionary dictionaryWithCapacity:10];
40 | }
41 | return _topBubblesDic;
42 | }
43 |
44 | -(void)setTopBubblesDic:(NSMutableDictionary *)topBubblesDic{
45 |
46 | _topBubblesDic=topBubblesDic;
47 | if(_topBubblesDic!=topBubblesDic)
48 | {
49 | [_topBubblesDic release];
50 | _topBubblesDic=[topBubblesDic retain];
51 | }
52 |
53 | }*/
54 | @end
55 |
--------------------------------------------------------------------------------
/alipaylog/AUToast.h:
--------------------------------------------------------------------------------
1 | //
2 | // Generated by class-dump 3.5 (64 bit).
3 | //
4 | // class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard.
5 | //
6 |
7 |
8 | @class NSString, NSTimer, UIImageView, UILabel;
9 |
10 | @interface AUToast : UIView
11 | {
12 | int _iconType;
13 | UIView *_iconView;
14 | UILabel *_textLabel;
15 | NSString *_progressPrefixText;
16 | int _suppressCount;
17 | double _second;
18 | double _xOffset;
19 | double _yOffset;
20 | NSTimer *_timer;
21 | UIView *_backgoundView;
22 | NSString *_voiceOverText;
23 |
24 | UIImageView *_backgroundImageView;
25 | NSString *_logTag;
26 | }
27 |
28 |
29 | + (id)presentModalToastWithin:(id)arg1 withIcon:(int)arg2 text:(id)arg3 duration:(double)arg4 delay:(double)arg5 logTag:(id)arg6 completion:(id)arg7;
30 | + (id)presentModalToastWithin:(id)arg1 withIcon:(int)arg2 text:(id)arg3 duration:(double)arg4 logTag:(id)arg5 completion:(id)arg6;
31 | + (id)presentModelToastWithin:(id)arg1 text:(id)arg2 logTag:(id)arg3;
32 | + (id)presentToastWithin:(id)arg1 withIcon:(int)arg2 text:(id)arg3 duration:(double)arg4 delay:(double)arg5 logTag:(id)arg6 completion:(id)arg7;
33 | + (id)presentToastWithin:(id)arg1 withIcon:(int)arg2 text:(id)arg3 duration:(double)arg4 logTag:(id)arg5 completion:(id)arg6;
34 |
35 | + (id)presentToastWithin:(id)arg1 withIcon:(int)arg2 text:(id)arg3 duration:(double)arg4 logTag:(id)arg5;
36 | + (id)presentToastWithin:(id)arg1 withIcon:(int)arg2 text:(id)arg3 logTag:(id)arg4;
37 | + (id)presentToastWithin:(id)arg1 text:(id)arg2 logTag:(id)arg3;
38 | + (id)presentToastWithText:(id)arg1 logTag:(id)arg2;
39 | @property(copy, nonatomic) NSString *logTag; // @synthesize logTag=_logTag;
40 | @property(retain, nonatomic) UIImageView *backgroundImageView; // @synthesize backgroundImageView=_backgroundImageView;
41 | @property(nonatomic) int suppressCount; // @synthesize suppressCount=_suppressCount;
42 | @property(retain, nonatomic) NSString *voiceOverText; // @synthesize voiceOverText=_voiceOverText;
43 | @property(retain, nonatomic) UIView *backgoundView; // @synthesize backgoundView=_backgoundView;
44 | @property(retain, nonatomic) NSTimer *timer; // @synthesize timer=_timer;
45 | @property(nonatomic) double yOffset; // @synthesize yOffset=_yOffset;
46 | @property(nonatomic) double xOffset; // @synthesize xOffset=_xOffset;
47 | @property(nonatomic) double second; // @synthesize second=_second;
48 |
49 | - (void)setSocialTipToastStyle;
50 | - (void)setProgressText:(float)arg1;
51 | - (void)setProgressPrefix:(id)arg1;
52 | - (void)dismissToast;
53 | - (void)updateAllToastDisplay;
54 | - (void)suppressRelatedToasts:(_Bool)arg1;
55 | - (void)popFromStack;
56 | - (void)pushToStack;
57 | - (_Bool)relatedToToast:(id)arg1;
58 | - (void)showDelayedToast;
59 | - (void)playiingVoiceOverText;
60 | - (void)showToast;
61 | - (void)addToastIconView;
62 | - (id)initWithText:(id)arg1 toastType:(int)arg2;
63 |
64 | @end
65 |
66 |
--------------------------------------------------------------------------------
/alipaylog/H5WebViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // Generated by class-dump 3.5 (64 bit).
3 | //
4 | // class-dump is Copyright (C) 1997-1998, 2000-2001, 2004-2013 by Steve Nygard.
5 | //
6 |
7 |
8 | #import
9 | #import
10 | #import "APListData.h"
11 | #import "PSDJsBridge.h"
12 |
13 | @interface H5WebViewController : UIViewController
14 | {
15 |
16 | }
17 |
18 | +(NSString*)getNumberRandom:(int)count;
19 | +(void)getTopUserBubbles:(id)mbrige userId:(NSString*)userID;
20 | +(void)collectBubbles:(id)mbrige bubbleId:(NSString*)bID userId :(NSString*)userID;
21 | +(void)collectTopBub;
22 | @property(readonly, nonatomic) UIWebView *h5WebView;
23 | @property(readonly, nonatomic) UIWebView *webView;
24 | @property(retain, nonatomic) UILabel *webviewDomainLabel;
25 | @end
26 |
27 |
--------------------------------------------------------------------------------
/alipaylog/H5WebViewController.m:
--------------------------------------------------------------------------------
1 |
2 | #import "H5WebViewController.h"
3 |
4 | @interface H5WebViewController ()
5 |
6 | @end
7 |
8 | @implementation H5WebViewController
9 |
10 |
11 | +(NSString*)getNumberRandom:(int)count
12 | {
13 | NSString *strRandom = @"";
14 |
15 | for(int i=0; i
2 | #import
3 | #import "H5WebViewController.h"
4 | #import "APListData.h"
5 | #import "PSDJsBridge.h"
6 | #import "AUToast.h"
7 |
8 | %hook PSDJsBridge
9 | + (id)bridge4Page:(id)arg1 contentView:(id)arg2 webViewDelegate:(id)arg3 { %log; id r = %orig; HBLogDebug(@" = %@", r); return r; }
10 | + (id)bridge4Page:(id)arg1 contentView:(id)arg2 pageParam:(id)arg3 { %log; id r = %orig; HBLogDebug(@" = %@", r); return r; }
11 | + (void)enableLogging { %log; %orig; }
12 | - (void)setIsTimeout:(_Bool )isTimeout { %log; %orig; }
13 | - (_Bool )isTimeout { %log; _Bool r = %orig; HBLogDebug(@" = %d", r); return r; }
14 | - (void)setIsFailToLoad:(_Bool )isFailToLoad { %log; %orig; }
15 | - (_Bool )isFailToLoad { %log; _Bool r = %orig; HBLogDebug(@" = %d", r); return r; }
16 | - (void)setLoadFinishedDate:(NSDate *)loadFinishedDate { %log; %orig; }
17 | - (NSDate *)loadFinishedDate { %log; NSDate * r = %orig; HBLogDebug(@" = %@", r); return r; }
18 | - (void)setIsBridgeReady:(_Bool )isBridgeReady { %log; %orig; }
19 | - (_Bool )isBridgeReady { %log; _Bool r = %orig; HBLogDebug(@" = %d", r); return r; }
20 |
21 |
22 | - (void)setStartupMessageQueue:(NSMutableArray *)startupMessageQueue { %log; %orig; }
23 | - (NSMutableArray *)startupMessageQueue { %log; NSMutableArray * r = %orig; HBLogDebug(@" = %@", r); return r; }
24 | - (void)setResponseCallbacks:(NSMutableDictionary *)responseCallbacks { %log; %orig; }
25 | - (NSMutableDictionary *)responseCallbacks { %log; NSMutableDictionary * r = %orig; HBLogDebug(@" = %@", r); return r; }
26 |
27 | - (void)setUniqueId:(int )uniqueId { %log; %orig; }
28 | - (int )uniqueId { %log; int r = %orig; HBLogDebug(@" = %d", r); return r; }
29 | - (void)wkLoadFinisd { %log; %orig; }
30 | - (void)webView:(id)arg1 runJavaScriptTextInputPanelWithPrompt:(id)arg2 defaultText:(id)arg3 initiatedByFrame:(id)arg4 completionHandler:(id)arg5 { %log; %orig; }
31 | - (void)webView:(id)arg1 runJavaScriptConfirmPanelWithMessage:(id)arg2 initiatedByFrame:(id)arg3 completionHandler:(id)arg4 { %log; %orig; }
32 | - (void)webView:(id)arg1 runJavaScriptAlertPanelWithMessage:(id)arg2 initiatedByFrame:(id)arg3 completionHandler:(id)arg4 { %log; %orig; }
33 | - (id)getPanelTitleWithType:(int)arg1 webView:(id)arg2 { %log; id r = %orig; HBLogDebug(@" = %@", r); return r; }
34 | - (id)javaScriptPanelTitleWithWebView:(id)arg1 { %log; id r = %orig; HBLogDebug(@" = %@", r); return r; }
35 | - (void)addDelayTask:(id)arg1 { %log; %orig; }
36 | - (_Bool)isCurrentVCVisible { %log; _Bool r = %orig; HBLogDebug(@" = %d", r); return r; }
37 | - (_Bool)isCurrentVCAnimationFinished { %log; _Bool r = %orig; HBLogDebug(@" = %d", r); return r; }
38 | - (void)webViewDidClose:(id)arg1 { %log; %orig; }
39 | - (id)webView:(id)arg1 createWebViewWithConfiguration:(id)arg2 forNavigationAction:(id)arg3 windowFeatures:(id)arg4 { %log; id r = %orig; HBLogDebug(@" = %@", r); return r; }
40 | - (void)webViewWebContentProcessDidTerminate:(id)arg1 { %log; %orig; }
41 | - (void)webView:(id)arg1 didReceiveAuthenticationChallenge:(id)arg2 completionHandler:(id)arg3 { %log; %orig; }
42 | - (void)webView:(id)arg1 didFailNavigation:(id)arg2 withError:(id)arg3 { %log; %orig; }
43 | - (void)webView:(id)arg1 didFinishNavigation:(id)arg2 { %log; %orig; }
44 | - (void)webView:(id)arg1 didCommitNavigation:(id)arg2 { %log; %orig; }
45 | - (void)webView:(id)arg1 didFailProvisionalNavigation:(id)arg2 withError:(id)arg3 { %log; %orig; }
46 | - (void)webView:(id)arg1 didReceiveServerRedirectForProvisionalNavigation:(id)arg2 { %log; %orig; }
47 | - (void)webView:(id)arg1 didStartProvisionalNavigation:(id)arg2 { %log; %orig; }
48 | - (void)webView:(id)arg1 decidePolicyForNavigationResponse:(id)arg2 decisionHandler:(id)arg3 { %log; %orig; }
49 | - (void)webView:(id)arg1 decidePolicyForNavigationAction:(id)arg2 decisionHandler:(id)arg3 { %log; %orig; }
50 | - (void)reset { %log; %orig; }
51 | - (void)doLoadJSBridgeFileWithDynamicInjectJsCodeSnippets:(id)arg1 { %log; %orig; }
52 | - (void)loadJSBridgeFileWithDynamicInjectJsCodeSnippets:(id)arg1 { %log; %orig; }
53 | - (void)loadJS:(id)arg1 { %log; %orig; }
54 | - (void)callJsApi:(id)arg1 url:(id)arg2 data:(id)arg3 responseCallback:(id)arg4 { %log; %orig; }
55 | - (void)callHandler:(id)arg1 data:(id)arg2 responseCallback:(id)arg3 { %log; %orig; }
56 | - (void)callHandler:(id)arg1 data:(id)arg2 { %log; %orig; }
57 | - (void)callHandler:(id)arg1 { %log; %orig; }
58 | - (void)send:(id)arg1 responseCallback:(id)arg2 { %log; %orig; }
59 | - (void)send:(id)arg1 { %log; %orig; }
60 | - (void)webView:(id)arg1 didCreateJavaScriptContext:(id)arg2 { %log; %orig; }
61 | - (void)webView:(id)arg1 didFailLoadWithError:(id)arg2 { %log; %orig; }
62 | - (void)webViewDidFinishLoad:(id)arg1 { %log; %orig; }
63 | - (void)updateBridgeReadyStatus:(id)arg1 { %log; %orig; }
64 | - (void)webViewDidStartLoad:(id)arg1 { %log; %orig; }
65 | - (_Bool)webView:(id)arg1 shouldStartLoadWithRequest:(id)arg2 navigationType:(long long)arg3 { %log; _Bool r = %orig; HBLogDebug(@" = %d", r); return r; }
66 | - (void)flushResponseCallbacks { %log; %orig; }
67 | - (void)loadFinished { %log; %orig; }
68 | - (void)_log:(id)arg1 json:(id)arg2 { %log; %orig; }
69 | - (id)_deserializeMessageJSON:(id)arg1 { %log; id r = %orig; HBLogDebug(@" = %@", r); return r; }
70 | - (id)_serializeMessage:(id)arg1 { %log; id r = %orig; HBLogDebug(@" = %@", r); return r; }
71 | - (id)transformResponseData:(id)arg1
72 | {
73 | %log;
74 | id r = %orig;
75 | HBLogDebug(@" = %@", r);
76 | APListData *jdata=[APListData sharedInstance];
77 | jdata.jsBridge=self;
78 |
79 |
80 | if(arg1!=nil&&[arg1 isKindOfClass:[NSDictionary class]])
81 | {
82 | //获取top10的用户ID
83 | NSDictionary *dic=arg1;
84 | id topListvalue=[dic objectForKey:@"friendRanking"];
85 | if(topListvalue){
86 | jdata.topFriends=topListvalue;
87 | }
88 | //获取用户的能量的ID
89 | id userbubbles=[dic objectForKey:@"bubbles"];
90 | if(userbubbles){
91 | if(![userbubbles isKindOfClass:[NSArray class]]||[userbubbles count]<=0)
92 | return r;
93 |
94 | NSLog(@"发现能量了---------%@",userbubbles);
95 |
96 | NSDictionary *dicbulles=[userbubbles objectAtIndex:0];
97 | NSString *userID=[dicbulles objectForKey:@"userId"];
98 |
99 | [jdata.topBubblesDic setObject:userbubbles forKey:userID];
100 |
101 | }
102 | }
103 |
104 |
105 |
106 | return r;
107 | }
108 |
109 | - (void)_doFlushMessageQueue:(id)arg1 url:(id)arg2
110 | {
111 |
112 | %log;
113 |
114 | %orig;
115 | }
116 | - (void)_flushMessageQueue { %log; %orig; }
117 | - (void)_flushMessageQueueWithMessage:(id)arg1 url:(id)arg2 { %log; %orig; }
118 | - (void)_doFlushH5ReportMessageQueue:(id)arg1 url:(id)arg2 { %log; %orig; }
119 | - (void)_flushH5ReportMessageQueue { %log; %orig; }
120 | - (void)_doFlushMonitorMessageQueue:(id)arg1 url:(id)arg2 { %log; %orig; }
121 | - (void)_flushMonitorMessageQueue { %log; %orig; }
122 | - (void)_dispatchMessage:(id)arg1 { %log; %orig; }
123 | - (void)_queueMessage:(id)arg1 { %log; %orig; }
124 | - (void)_sendData:(id)arg1 responseCallback:(id)arg2 handlerName:(id)arg3 { %log; %orig; }
125 | - (void)doSendData:(id)arg1 responseCallback:(id)arg2 handlerName:(id)arg3 { %log; %orig; }
126 | - (void)observeValueForKeyPath:(id)arg1 ofObject:(id)arg2 change:(id)arg3 context:(void *)arg4 { %log; %orig; }
127 | - (void)dealloc { %log; %orig; }
128 | - (id)init { %log; id r = %orig; HBLogDebug(@" = %@", r); return r; }
129 | - (NSString *)debugDescription { %log; NSString * r = %orig; HBLogDebug(@" = %@", r); return r; }
130 | - (NSString *)description { %log; NSString * r = %orig; HBLogDebug(@" = %@", r); return r; }
131 | - (unsigned long long )hash { %log; unsigned long long r = %orig; HBLogDebug(@" = %llu", r); return r; }
132 | - (Class )superclass { %log; Class r = %orig; HBLogDebug(@" = %@", r); return r; }
133 | %end
134 |
135 |
136 | %hook H5RPCCaller
137 | - (void)callRPC:(id)arg1 completeBlock:(id)arg2
138 | {
139 | %log;
140 |
141 | %orig;
142 | }
143 | %end
144 |
145 | %hook H5WebViewController
146 | - (void)viewDidLoad
147 | {
148 | %orig;
149 | APListData *jdata=[APListData sharedInstance];
150 | jdata.topBubblesDic=[NSMutableDictionary dictionaryWithCapacity:10];
151 |
152 |
153 | }
154 | - (void)viewDidAppear:(_Bool)arg1
155 | {
156 | %orig;
157 | UILabel *showlb=[self webviewDomainLabel];
158 |
159 | if ([showlb.text rangeOfString:@"60000002.h5app.alipay.com"].location != NSNotFound) {
160 | UIButton *btnAdd=[[UIButton alloc]initWithFrame:CGRectMake([UIScreen mainScreen].bounds.size.width-80, 150, 80, 40)];
161 | [btnAdd setTitle:@"一键收取" forState:UIControlStateNormal];
162 | btnAdd.titleLabel.font = [UIFont systemFontOfSize: 15.0];
163 | [btnAdd addTarget:self action:@selector(clickBtn) forControlEvents:UIControlEventTouchUpInside];
164 | [btnAdd setBackgroundColor:[UIColor orangeColor]];
165 |
166 | UIButton *btnTest=[[UIButton alloc]initWithFrame:CGRectMake([UIScreen mainScreen].bounds.size.width-80, 210, 80, 40)];
167 | [btnTest setTitle:@"Test" forState:UIControlStateNormal];
168 | btnTest.titleLabel.font = [UIFont systemFontOfSize: 15.0];
169 | //[btnTest addTarget:self action:@selector(collectTopBub) forControlEvents:UIControlEventTouchUpInside];
170 | [btnTest setBackgroundColor:[UIColor orangeColor]];
171 |
172 | UIWebView *show=[self h5WebView];
173 | [show addSubview:btnAdd];
174 | // [show addSubview:btnTest];
175 | }
176 |
177 |
178 | }
179 |
180 |
181 | %new
182 | - (void)clickBtn
183 | {
184 | AUToast *progressView=[%c(AUToast) presentToastWithText:@"收取能量中" logTag:@"1"];
185 | UIWebView *show=[self h5WebView];
186 | APListData *jdata=[APListData sharedInstance];
187 | NSLog(@"一键收取 click:%@---%@",jdata.jsBridge,[jdata.topFriends class]);
188 | int count=1;
189 | for(NSDictionary *key in jdata.topFriends)
190 | {
191 |
192 | NSDictionary *dic2=key;
193 | NSString *userID=[dic2 objectForKey:@"userId"];
194 | [H5WebViewController getTopUserBubbles:jdata.jsBridge userId:userID];
195 | NSLog(@"这是第%d波用户获取能量",count);
196 | count++;
197 | [NSThread sleepForTimeInterval:0.1];
198 | }
199 | //等最后一波的回掉结果
200 | dispatch_async(dispatch_get_global_queue(0, 0), ^{
201 |
202 | [NSThread sleepForTimeInterval:0.4];
203 | dispatch_async(dispatch_get_main_queue(), ^{
204 | [H5WebViewController collectTopBub];
205 | [progressView dismissToast];
206 |
207 | AUToast *showSucessView=[%c(AUToast) presentModelToastWithin:show text:@"前10的用户全部收取成功,自行刷新页面" logTag:@"2"];
208 | dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
209 | [showSucessView dismissToast];
210 | });
211 | });
212 |
213 | });
214 |
215 |
216 | }
217 |
218 |
219 |
220 |
221 | %end
222 |
--------------------------------------------------------------------------------
/alipaylog/alipaylog.plist:
--------------------------------------------------------------------------------
1 | { Filter = { Bundles = ( "com.alipay.iphoneclient" ); }; }
2 |
--------------------------------------------------------------------------------
/alipaylog/control:
--------------------------------------------------------------------------------
1 | Package: com.yourcompany.alipaylog
2 | Name: alipaylog
3 | Depends: mobilesubstrate
4 | Version: 0.0.1
5 | Architecture: iphoneos-arm
6 | Description: An awesome MobileSubstrate tweak!
7 | Maintainer: cardlan_yuhuajun
8 | Author: cardlan_yuhuajun
9 | Section: Tweaks
10 |
--------------------------------------------------------------------------------
/alipaylog/packages/com.yourcompany.alipaylog_0.0.1-119+debug_iphoneos-arm.deb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hackxhj/alipayForestTweak/a60e3dee8aefa5bab11b27235a8ca3e7571fe8a1/alipaylog/packages/com.yourcompany.alipaylog_0.0.1-119+debug_iphoneos-arm.deb
--------------------------------------------------------------------------------