├── .gitignore ├── DingTalkGPSFaker.plist ├── Makefile ├── README.md ├── Tweak.xm └── control /.gitignore: -------------------------------------------------------------------------------- 1 | _ 2 | obj 3 | *.deb 4 | .theos/ 5 | .DS_Store -------------------------------------------------------------------------------- /DingTalkGPSFaker.plist: -------------------------------------------------------------------------------- 1 | { Filter = { Bundles = ( "com.laiwang.DingTalk" ); }; } 2 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | THEOS_DEVICE_IP = localhost 2 | THEOS_DEVICE_PORT = 2222 3 | ARCHS = armv7 arm64 4 | TARGET = iphone:latest:7.0 5 | 6 | include $(THEOS)/makefiles/common.mk 7 | 8 | TWEAK_NAME = DingTalkGPSFaker 9 | DingTalkGPSFaker_FILES = Tweak.xm 10 | DingTalkGPSFaker_FRAMEWORKS = CoreLocation 11 | 12 | include $(THEOS_MAKE_PATH)/tweak.mk 13 | 14 | after-install:: 15 | install.exec "killall -9 DingTalk" 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # iOS 逆向实战 - 钉钉签到远程“打卡” 2 | 3 | > 更新:此版本功能较简单,使用起来也不是特别方便,目前正在开发增强版,可支持地图选位置伪装 GPS 定位,同时支持 WIFI 打卡。现在已经实现 WIFI 打卡功能,具体请参考 [DingTalkAssistant](https://github.com/buginux/DingTalkAssistant)。 4 | 5 | 本 Tweak 可以模拟钉钉的 GPS 定位,伪装位置,实现在家也能打卡的功能。 6 | 7 | 详细内容,请参考我的博客:[iOS 逆向实战 - 钉钉签到远程“打卡”](http://www.swiftyper.com/2017/02/15/dingtalk-fake-gps/) 8 | -------------------------------------------------------------------------------- /Tweak.xm: -------------------------------------------------------------------------------- 1 | #import 2 | 3 | %hook AMapLocationManager 4 | 5 | - (void)locationManager:(id)arg1 didUpdateLocations:(id)arg2 { 6 | 7 | CLLocation *location = [[CLLocation alloc] initWithLatitude:30.56874 longitude:104.063401]; 8 | arg2 = @[location]; 9 | 10 | // NSString *message = [NSString stringWithFormat:@"arg1 -- %@, arg2 -- %@", arg1, arg2]; 11 | // UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:message delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; 12 | // [alert show]; 13 | 14 | %orig; 15 | } 16 | 17 | %end 18 | 19 | -------------------------------------------------------------------------------- /control: -------------------------------------------------------------------------------- 1 | Package: com.swiftyper.dingtalkgpsfaker 2 | Name: DingTalkGPSFaker 3 | Depends: mobilesubstrate 4 | Version: 0.0.1 5 | Architecture: iphoneos-arm 6 | Description: An awesome MobileSubstrate tweak! 7 | Maintainer: 小锅 8 | Author: 小锅 9 | Section: Tweaks 10 | --------------------------------------------------------------------------------