美文网首页
微信 iOS端逆向--更改朋友圈定位<一>

微信 iOS端逆向--更改朋友圈定位<一>

作者: 洧中苇_4187 | 来源:发表于2020-04-15 09:49 被阅读0次

1.通过输入一个地点名称,定位到该位置附近,发一条朋友圈,显示该地理位置.

2.输入一个经纬度坐标,内部转换为城市名称,朋友圈显示该位置信息.

本文所需工具:hopper ,class-dump后的微信头文件,MonkeyDev,Xcode,解密后的微信iPA包,话不多说直接开干.

1>xcode运行微信工程到手机,点击微信到发朋友圈的界面,查看对应控制器的名称 "WCNewCommitViewController"

发朋友圈对应的控制器

2>在对应的头文件里查看属性和方法,找到一个眼前一亮"- (void)onLocationCellClicked" ----点击获取位置的方法,hopper解析出来的MACH-O文件中查看一番,

-(void)onLocationCellClicked方法实现

3>点击获取位置,会将一个控制器入栈,而这个控制器(WCTimelinePOIPickerViewController)就是选择地理位置的控制器,去里面看看有什么方法是用来定位的,我的思路就是直接搜索"location" ,定位到几个信息

//WCTimelinePOIPickerViewController的方法

"- (void)getAddressByLocation:(struct CLLocationCoordinate2D)arg1;

- (void)addCityItem:(id)arg1;

- (void)onRetrieveLocationError:(int)arg1;

- (void)onRetrieveLocationTimeOut:(id)arg1;

- (void)onRetrieveLocationOK:(id)arg1;

"

//LocationRetriever里面的一些方法

"- (void)onGPSLocationChanged:(id)arg1 withTag:(unsigned long long)arg2;

- (void)onGPSLocationError:(int)arg1 withTag:(unsigned long long)arg2;

- (void)onGPSLBSLocationChanged:(id)arg1 withTag:(unsigned long long)arg2;

- (void)onGPSLBSLocationError:(int)arg1 withTag:(unsigned long long)arg2;

"

剩下的就是在工程里实现该方法,打上对应断点,查看位置信息,

点击显示位置时调用的方法

过掉这个断点,

看函数调用栈,方法调用

5>尝试修改一下这两个方法的CLLocation的经纬度坐标,可以随意定位国内的任意位置测试

测试结果

这个方法适用于修改国内的定位坐标,只支持中文城市输入.

转换坐标,输入经纬度,转换成对应位置,结果如下

ojbk

相关文章

网友评论

      本文标题:微信 iOS端逆向--更改朋友圈定位<一>

      本文链接:https://www.haomeiwen.com/subject/rckqvhtx.html