吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

领取今日签到奖励
查看: 10445|回复: 151

[iOS 原创] 基于MonkeyDev实现不越狱修改钉钉位置打卡和签到

    [复制链接]
发表于 2018-12-11 10:00 | 显示全部楼层
本帖最后由 zhufeixing 于 2018-12-13 15:16 编辑

第一步
安装MonkeyDev
详细教程可参考https://www.jianshu.com/p/8ecbafb8abc0或者https://github.com/AloneMonkey/MonkeyDev/wiki

第二步获取砸壳后的钉钉APP
获取方法:
1.如果没有越狱手机,可通过PP助手直接下载钉钉
pp.png
2.如果有越狱手机,可通过Clutch等命令对APPStore上下载的钉钉进行砸壳Clutch砸壳详细教程可参考https://www. jianshu.com/p/979fe886e28e
砸壳前越狱手机需要打开SSH通道

第三步

对砸壳后的钉钉进行hook操作
1.有了MonkeyDev就简单多了,首先打开Xcode创建一个MonkeyApp项目

xcode1.png

2.进入新建的项目,右键Show in Finder

xcode2.png

3.把通过PP助手下载的ipa包放到上面新建的dingding项目的TargetAPP目录下,(由于我没有越狱手机,此处使用的是PP助手下载的钉钉)

xcode3.png

xcode4.png
4.需要一台iPhone手机,越狱或者非越狱均可,此处使用非越狱的iPhone,运行项目,安装成功,输入账号密码登录时,钉钉会提示“你当前登录的非官方客端,已禁止该客户端的登录使用。请下载并使用官方客户端”。原因是我们创建项目是的Bundle ID与正版的钉钉的Bundle ID不一致。

xcode5.png

5.把项目的Bundle ID改为“ com.laiwang.DingTalk ”,再次运行,登录成功。

xcode6.png
xcode7.png
xcode8.png

6.运行项目是Xcode可能会提示“ The file “ XXX.app ” couldn't be opened because you don't have permission to view it. ” •解决办法:将info.plist的文件中的Executable.file中的文件修改为:$ ( PRODUCT_NAME )改完后记得clear一下再次运行就行了。         

xcode9.png

7.核心Hook操作hook代码写在哪里?我们可以hook代码写在项目的xxxDylib.m文件下,我创建的项目名为“ dingding ”,因此我写在“ dingdingDylib.m ”文件下

xcode10.png
hook的历程1.说到定位,我们肯定会想起苹果原生的CoreLocation框架,参照MonkeyDev的使用教程,我们对钉钉APP里的CoreLocation进行hook操作,定位的经纬度为深圳南山智园代码如下:

xcode11.png

真机一跑,定位变都没变,伤心的很。。。。

2.如果那么简单就没有这篇教程啦哈哈。。,我们可以利用class dump出所有钉钉ipa的所有头文件,从里面找出一点蛛丝马迹。(class-dump安装及获取app头文件教程https://www.jianshu.com/p/d0ebed2d937a?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation)

xcode12.png

xcode13.png

通过class dump出来的头文件,发现钉钉使用的是高德地图,搜索发现,高德地图是禁止虚拟定位的。查找了几个博客,发现高德地图中有这样一个方法:- ( BOOL ) detectRiskOfFakeLocation返回YES,就检测虚拟定位,NO就不检测,因此我们可以对使用了这个方法的所有类进行hook操作。(搜索出来,一共三个类)

xcode14.png

真机跑起来,哈哈,结果照样凉凉!再去高德地图的api搜索看看这个方法,是不是方法有什么需要注意的。于是我搜索了detectRiskOfFakeLocation这个方法。

xcode15.png
于是我们把上面的六个全hook了,代码如下:
xcode16.png
xcode17.png

全部代码如下:

[Objective-C] 纯文本查看 复制代码
CHDeclareClass ( CLLocation ) 

CHOptimizedMethod0 ( self , CLLocationCoordinate2D , CLLocation , coordinate ) { 
  return CLLocationCoordinate2DMake ( 22.5955580000 , 114.0056150000 ); 
} 

CHConstructor { 
    CHLoadLateClass ( CLLocation );
    CHClassHook ( 0 , CLLocation , coordinate ); 
} 

CHDeclareClass ( AMapGeoFenceManager ); 

CHMethod ( 0 , BOOL , AMapGeoFenceManager , detectRiskOfFakeLocation ) { 
  return NO ; 
} 

CHMethod ( 0 , BOOL , AMapGeoFenceManager , pausesLocationUpdatesAutomatically ) { 
  return NO ; 
} 

CHConstructor{ 
    CHLoadLateClass ( AMapGeoFenceManager ); 
    CHClassHook ( 0 , AMapGeoFenceManager , detectRiskOfFakeLocation ); 
    CHClassHook ( 0 , AMapGeoFenceManager , pausesLocationUpdatesAutomatically ); 
} 

CHDeclareClass ( AMapLocationManager ); 

CHMethod ( 0 , BOOL , AMapLocationManager , detectRiskOfFakeLocation ) { 
  return NO ; 
}

CHMethod ( 0 , BOOL , AMapLocationManager , pausesLocationUpdatesAutomatically ) { 
  return NO ; 
} 

CHConstructor{ 
    CHLoadLateClass ( AMapLocationManager ); 
    CHClassHook ( 0 , AMapLocationManager , detectRiskOfFakeLocation ); 
    CHClassHook ( 0 , AMapLocationManager , pausesLocationUpdatesAutomatically ); 
} 

CHDeclareClass ( DTALocationManager ); 

CHMethod ( 0 , BOOL , DTALocationManager , detectRiskOfFakeLocation ) { 
  return NO ; 
} 

CHMethod ( 0 , BOOL , DTALocationManager , dt_pausesLocationUpdatesAutomatically ) { 
  return NO ; 
} 

CHConstructor{ 
    CHLoadLateClass ( DTALocationManager );
    CHClassHook ( 0 , DTALocationManager , detectRiskOfFakeLocation ); 
    CHClassHook ( 0 , DTALocationManager , dt_pausesLocationUpdatesAutomatically ); 
} 


真机跑一跑,打卡签到的位置都是代码写死的经纬度!复制代码的小伙伴不要忘记导入#import <CoreLocation/CoreLocation.h>框架,不然Xcode会报错哦,大家可以根据打卡地点修改经纬度。

xcode18.png

期待得到小伙伴们的好评和喜欢

后续=>非越狱手机钉钉搭建修改经纬度的UI界面  
https://www.52pojie.cn/forum.php?mod=viewthread&tid=838180&extra=page%3D1%26filter%3DtyPEID%26typeid%3D195

免费评分

参与人数 35吾爱币 +34 热心值 +32 收起 理由
echowxsy + 1 感谢楼主分享~正按照教程实现
哦然后呢 + 1 我很赞同!
fmmhero + 1 + 1 热心回复!
hitpan + 1 + 1 谢谢@Thanks!
wxl2578 + 1 + 1 BundleID怎么通过证书认证的?
空不了 + 1 + 1 热心回复!
wenfanzheng + 1 + 1 谢谢@Thanks!
kakudesu + 1 + 1 热心回复!
sunline + 1 + 1 热心回复!
曾Jing最美 + 1 + 1 谢谢@Thanks!
不忘初心哟 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
莽撞人 + 1 + 1 热心回复!
Vip_712 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
lg00518 + 1 + 1 谢谢@Thanks!
qq2619577 + 1 + 1 我很赞同! 谢谢楼主 的技术分享感谢感谢 学到东西了
siuhoapdou + 1 + 1 谢谢@Thanks!
cpk1ng + 1 + 1 BundleID 不能用重复的, 打卡时 SecurityGuardSDK 验证不过
cming + 1 + 1 谢谢@Thanks!
牧童 + 1 + 1 谢谢@Thanks!
Tim-52Pojie + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
hack_wangyu + 1 + 1 热心回复!
cx2880429 + 1 我很赞同!
pingsky + 1 + 1 666666
chaosgod + 1 测试了,卡在了改BundleId,证书报错,无法run
sunnylds7 + 1 + 1 热心回复!
总理 + 1 + 1 小哥哥 求成品
固执与偏见 + 1 + 1 很多安装教程都是基于Mac的 windows 不适用 麻烦更新下widows 安装教程
SoHuDrgon + 1 + 1 我很赞同!
Lyyyyyy + 1 + 1 吾爱人才是真滴多
Oyoungc + 1 + 1 我很赞同!
归路碧迢迢 + 1 + 1 用心讨论,共获提升!
xinkui + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Nihility + 1 + 1 不会Object-C的可以 照着教程搞吗 大佬
AAAma + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
YXingXing + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-12-11 10:31 | 显示全部楼层
Programmer 发表于 2018-12-11 10:24
这个新版钉钉还能用?这都是过时的代码了吧,早有人开源过

我刚试了最新版本的,貌似还是用高德地图,可以用

点评

nb回头试试  发表于 2018-12-11 21:10
发表于 2018-12-11 17:30 | 显示全部楼层
发表于 2018-12-11 10:14 | 显示全部楼层
感谢分享原创知识和教程虽然看不懂,但是只看操作就很厉害
发表于 2018-12-11 10:13 | 显示全部楼层
能不能出个安卓的呀?买不起iphone
发表于 2018-12-11 10:14 | 显示全部楼层
不错不错,就是需要懂开发才行
 楼主| 发表于 2018-12-11 10:16 | 显示全部楼层
renpeng009 发表于 2018-12-11 10:13
能不能出个安卓的呀?买不起iphone

没有搞安卓开发哈哈
发表于 2018-12-11 10:24 | 显示全部楼层
这个新版钉钉还能用?这都是过时的代码了吧,早有人开源过
发表于 2018-12-11 10:25 | 显示全部楼层
很好的技术贴,谢谢分享,以后妈妈再也不用担心我迟到了
发表于 2018-12-11 10:31 | 显示全部楼层
感谢发布原创作品
发表于 2018-12-11 10:31 | 显示全部楼层
有点蒙蔽,能帮忙搞个嘛
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则


免责声明:
吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Service@52PoJie.Cn

快速回复 收藏帖子 返回列表 搜索

RSS订阅|手机版|小黑屋|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2019-1-24 04:27

Powered by Discuz!

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表