mirror of
				https://github.com/Gh0stByte/Blackboard-AutoLogin-iOS.git
				synced 2025-11-04 02:16:19 +00:00 
			
		
		
		
	Initial Commit
This commit is contained in:
		
							
								
								
									
										1
									
								
								BlackBoardHVCCAutoLogin.plist
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								BlackBoardHVCCAutoLogin.plist
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
			
		||||
{ Filter = { Bundles = ( "com.blackboard.student" ); }; }
 | 
			
		||||
							
								
								
									
										43
									
								
								License.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								License.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,43 @@
 | 
			
		||||
Copyright (c) 2018 Gh0stByte
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
of this software and associated documentation files (the "Software"), to deal
 | 
			
		||||
in the Software without restriction, including without limitation the rights
 | 
			
		||||
to use, copy, modify, merge, publish, or distribute copies of the Software,
 | 
			
		||||
and to permit persons to whom the Software is furnished to do so, subject to
 | 
			
		||||
the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in all
 | 
			
		||||
copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
			
		||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
			
		||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
			
		||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 | 
			
		||||
SOFTWARE.
 | 
			
		||||
 | 
			
		||||
In addition to the above terms, you are prohibited from charging money for the
 | 
			
		||||
Software. You may not accept donations, purchases, or any other form of monetary
 | 
			
		||||
transactions for your work on or hosting Melody.
 | 
			
		||||
 | 
			
		||||
You may not modify the included list of developers and other people who have
 | 
			
		||||
contributed to the software or any donation links in the compiled tweak
 | 
			
		||||
or source code without the express approval of Gh0stByte beforehand.
 | 
			
		||||
 | 
			
		||||
You may not submit a compiled version of this Software or any other software using
 | 
			
		||||
its source code to any repository included upon the initial installation of Cydia
 | 
			
		||||
("default repositories") or commercial Cydia repository without the consent of
 | 
			
		||||
Gh0stByte. What is defined as a "commercial Cydia repository" in this license is
 | 
			
		||||
up to the descretion of Gh0stByte.
 | 
			
		||||
 | 
			
		||||
By using any of the source code of the Software in any other pieces of software,
 | 
			
		||||
you agree to the terms of this license. You must also include the original Credits
 | 
			
		||||
from the Software in that piece of software.
 | 
			
		||||
 | 
			
		||||
When distributing this tweak, you must provide notices which make it clear that
 | 
			
		||||
the Software is originally and mainly developed by Gh0stByte, you are not associated
 | 
			
		||||
with AppleBetas in any way, shape, or form. If necessary,
 | 
			
		||||
please also state that your version of the Software has been modified and may behave
 | 
			
		||||
incorrectly or differently than the original Software.
 | 
			
		||||
							
								
								
									
										10
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								Makefile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
include $(THEOS)/makefiles/common.mk
 | 
			
		||||
 | 
			
		||||
TWEAK_NAME = BlackBoardHVCCAutoLogin
 | 
			
		||||
BlackBoardHVCCAutoLogin_FILES = Tweak.xm
 | 
			
		||||
BlackBoardHVCCAutoLogin_FRAMEWORKS = UIKit
 | 
			
		||||
include $(THEOS_MAKE_PATH)/tweak.mk
 | 
			
		||||
 | 
			
		||||
after-install::
 | 
			
		||||
	install.exec "killall -9 BbStudent"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										59
									
								
								Readme.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								Readme.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,59 @@
 | 
			
		||||
# Auto-login / Auto-fill for Blackboard's iOS app (Hudson Valley Community College)
 | 
			
		||||
======
 | 
			
		||||
 | 
			
		||||
## About
 | 
			
		||||
 | 
			
		||||
This tweak will auto-fill your username and password for HVCC's single sign-on. Very helpfull if you use blackboard across multiple devices and keep having to re-login manually on your mobile.
 | 
			
		||||
 | 
			
		||||
## Media
 | 
			
		||||
 | 
			
		||||

 | 
			
		||||

 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Installation
 | 
			
		||||
 | 
			
		||||
Go to Releases and download latest deb & install with iFile, Filza, dpkg or whatever suits your fancy. 
 | 
			
		||||
  
 | 
			
		||||
OR  
 | 
			
		||||
 | 
			
		||||
Clone repo and compile with theos
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Usage
 | 
			
		||||
 | 
			
		||||
### Setup Auto-fill
 | 
			
		||||
 | 
			
		||||
* Select "SUNY - Hudson Valleu Community College" from the dropdown menu
 | 
			
		||||
* Click the "Web Login"
 | 
			
		||||
* Enter your username & password and hit "OK"
 | 
			
		||||
* Click Web Login button again and give it a second. 
 | 
			
		||||
* Enjoy never having to type your username and password in again!
 | 
			
		||||
 | 
			
		||||
### Resetting your login information
 | 
			
		||||
 | 
			
		||||
* Logout if not already
 | 
			
		||||
* Press the help button
 | 
			
		||||
* Choose "Change"
 | 
			
		||||
* Fill out user & pass then "OK"
 | 
			
		||||
 | 
			
		||||
## Contributing
 | 
			
		||||
 | 
			
		||||
1. Fork it!
 | 
			
		||||
2. Create your feature branch: `git checkout -b add-my-uni`
 | 
			
		||||
3. Commit your changes: `git commit -am 'Add support for my college'`
 | 
			
		||||
4. Push to the branch: `git push origin add-my-uni`
 | 
			
		||||
5. Submit a pull request :D
 | 
			
		||||
 | 
			
		||||
## History/Changelog
 | 
			
		||||
 | 
			
		||||
#### 1.0.0 (1/16/2018)
 | 
			
		||||
* Initial Release  
 | 
			
		||||
 | 
			
		||||
## Credits
 | 
			
		||||
 | 
			
		||||
Made by [Gh0stByte](http://twitter.com/Gh0stByte)
 | 
			
		||||
 | 
			
		||||
## License
 | 
			
		||||
### Modified MIT License. READ IN FULL *BEFORE* USE
 | 
			
		||||
[License.md](../License.md)
 | 
			
		||||
							
								
								
									
										91
									
								
								Tweak.xm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								Tweak.xm
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,91 @@
 | 
			
		||||
NSString *username, *password;
 | 
			
		||||
 | 
			
		||||
// Hook into the main view controller
 | 
			
		||||
%hook BBLFTWViewController
 | 
			
		||||
 | 
			
		||||
// Hook into when the login page finishes loading
 | 
			
		||||
- (void)webViewDidFinishLoad:(UIWebView *)webView {
 | 
			
		||||
    // The javascript that we're gonna execute, which will set the username & password to what we've stored
 | 
			
		||||
    NSString *inject = [NSString stringWithFormat:@"document.getElementById('username').value = '%@';document.getElementById('password').value = '%@';", username, password];
 | 
			
		||||
    // Inject the JS
 | 
			
		||||
    [webView stringByEvaluatingJavaScriptFromString:inject];
 | 
			
		||||
 | 
			
		||||
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void)
 | 
			
		||||
    {
 | 
			
		||||
        // Submit the form by pressing the button.
 | 
			
		||||
        [webView stringByEvaluatingJavaScriptFromString:@"document.forms[\"fm1\"].submit.click();"];
 | 
			
		||||
    });
 | 
			
		||||
    %orig;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
%end
 | 
			
		||||
 | 
			
		||||
// Interface so we can call our custom method
 | 
			
		||||
@interface BBLFTWViewController : UIViewController
 | 
			
		||||
-(void)getAutofillInfo;
 | 
			
		||||
@end
 | 
			
		||||
 | 
			
		||||
// Hook into the login view controller
 | 
			
		||||
%hook BBLoginViewController
 | 
			
		||||
 | 
			
		||||
// Hook into when the login button is pressed
 | 
			
		||||
-(void)loginBtnTapped {
 | 
			
		||||
    // Grab your username and password from the userdefaults
 | 
			
		||||
    username = [[NSUserDefaults standardUserDefaults] objectForKey:@"USERNAME"];
 | 
			
		||||
    password = [[NSUserDefaults standardUserDefaults] objectForKey:@"PASSWORD"];
 | 
			
		||||
    // If you don't have an username & password setup
 | 
			
		||||
    if(!(username && password) || ([username isEqualToString:@""] || [password isEqualToString:@""])) {
 | 
			
		||||
        // Setup your username & password
 | 
			
		||||
        [self getAutofillInfo];
 | 
			
		||||
    } else { 
 | 
			
		||||
        // Otherwise, load up the webview
 | 
			
		||||
        %orig;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Hook into when the help button is tapped
 | 
			
		||||
-(void)helpBtnTapped {
 | 
			
		||||
    // Ask the user if they want to change their information
 | 
			
		||||
    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Auto-Login" message:@"Would you like to change your login information?" preferredStyle:UIAlertControllerStyleAlert];
 | 
			
		||||
    UIAlertAction *confirmAction = [UIAlertAction actionWithTitle:@"Change" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
 | 
			
		||||
        // If so, setup their username and pass
 | 
			
		||||
        [self getAutofillInfo];
 | 
			
		||||
    }];
 | 
			
		||||
    [alertController addAction:confirmAction];
 | 
			
		||||
    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
 | 
			
		||||
        // Otherwise, use the normal function for the help button
 | 
			
		||||
        %orig;
 | 
			
		||||
    }];
 | 
			
		||||
    [alertController addAction:cancelAction];
 | 
			
		||||
    // Present the alert
 | 
			
		||||
    [self presentViewController:alertController animated:YES completion:nil];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// New function to get the login info
 | 
			
		||||
%new
 | 
			
		||||
-(void)getAutofillInfo {
 | 
			
		||||
    // Ask the user to enter their input
 | 
			
		||||
    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Auto-Login" message:@"Enter your username & password\n(Note: Information stored plaintext in the standard app defaults. To change the information, press the help button)" preferredStyle:UIAlertControllerStyleAlert];
 | 
			
		||||
    [alertController addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
 | 
			
		||||
        textField.placeholder = @"Username";
 | 
			
		||||
    }];
 | 
			
		||||
    [alertController addTextFieldWithConfigurationHandler:^(UITextField * _Nonnull textField) {
 | 
			
		||||
        textField.placeholder = @"Password";
 | 
			
		||||
        textField.secureTextEntry = YES;
 | 
			
		||||
    }];
 | 
			
		||||
    UIAlertAction *confirmAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
 | 
			
		||||
        //Store the information
 | 
			
		||||
       [[NSUserDefaults standardUserDefaults] setObject:[[alertController textFields][0] text] forKey:@"USERNAME"];
 | 
			
		||||
       [[NSUserDefaults standardUserDefaults] setObject:[[alertController textFields][1] text] forKey:@"PASSWORD"];
 | 
			
		||||
       [[NSUserDefaults standardUserDefaults] synchronize];
 | 
			
		||||
 | 
			
		||||
   }];
 | 
			
		||||
    [alertController addAction:confirmAction];
 | 
			
		||||
    UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
 | 
			
		||||
    }];
 | 
			
		||||
    [alertController addAction:cancelAction];
 | 
			
		||||
    // Show the alert
 | 
			
		||||
    [self presentViewController:alertController animated:YES completion:nil];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
%end
 | 
			
		||||
							
								
								
									
										11
									
								
								control
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								control
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
			
		||||
Package: ga.gh0stbyte.blackboardhvcc
 | 
			
		||||
Name: BlackBoard AutoLogin (HVCC)
 | 
			
		||||
Depends: mobilesubstrate
 | 
			
		||||
Version: 1.0.0
 | 
			
		||||
Architecture: iphoneos-arm
 | 
			
		||||
Description: Auto HVCC SSO login
 | 
			
		||||
  Allows you to login to HVCC through
 | 
			
		||||
  the blackboard app automatically
 | 
			
		||||
Maintainer: Gh0stByte<gh0stbyte01@gmail.com>
 | 
			
		||||
Author: Gh0stByte<gh0stbyte01@gmail.com>
 | 
			
		||||
Section: Tweaks
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								media/IMG_5010.PNG
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								media/IMG_5010.PNG
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 102 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								media/IMG_5011.PNG
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								media/IMG_5011.PNG
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 64 KiB  | 
							
								
								
									
										
											BIN
										
									
								
								packages/ga.gh0stbyte.blackboardhvcc_1.0.0_iphoneos-arm.deb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packages/ga.gh0stbyte.blackboardhvcc_1.0.0_iphoneos-arm.deb
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user