123下一页
返回列表 发新帖

学习通伪造位置签到

[复制链接]

54

主题

3589

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
794
好评
190
信誉
180

MT论坛新人MT论坛最佳新人MT论坛帅哥考神MT论坛活跃会员挂机大佬

发表于 2025-10-20 20:00:46 | 显示全部楼层 | 阅读模式  来自 陕西
本帖最后由 青春向上 于 2025-10-23 22:39 编辑

位置签到页面是一个网址,通过算法助手等工具hook开启网页调试,详见:一个简单的web调试逆向
刚进来就在控制台中发现开发者遗留日志,点击切换至源代码:

发现代码:
  1. jsBridge.bind('CLIENT_USER_LOCATION', function(object){
  2.    console.log("客户端返回的位置数据:"+JSON.stringify(object));
  3.    //省略
  4. })
复制代码
问ai知:“这段代码涉及到 JSBridge(JavaScript 桥接) 的概念,通常用于 前端(Web)与客户端(Native,如 iOS、Android 应用)之间的通信。”并且阅读附近代码,再经过测试,发现可以通过以下代码重新获取位置:
  1. jsBridge.postNotification('CLIENT_USER_LOCATION',{message:''});
复制代码
说明位置信息是app告诉网页的,所以可以通过修改app改变返回值,进而伪造位置。但这里我们使用js修改已获取的值。
使用开发者工具定位签到按钮,发现调用sign函数

在控制台中输入sign,点击快速跳转源码:(也可通过搜索,但此处能使用“javascript:sign();”调用,说明window对象有它,进而可以在控制台输入)

sign源码:
  1. function sign(){
  2.         var acId="xxx";
  3.         $("#zopacity_info").show();
  4.         $("#zopacity").show();
  5.         var fid=$("#fid").val();
  6.         var uid='xxx';
  7.         var latitude=$("#latitude").val();     //维度
  8.         var longitude=$("#longitude").val();   //经度
  9.         var ip ="";
  10.         var url="/pptSign/stuSignajax";
  11.         if(chongfu>0){
  12.             clientToast("不能重复签到");
  13.             return;
  14.         }else{
  15.             //var  classId="xxx";
  16.             sendData2(url);//最终调用此方法
  17.         }
  18.     }
复制代码

sendData2源码:
  1. function sendData2(url){
  2.         var activePrimaryId="xxx";
  3.         //判断这个设备是否已经签到过了
  4.         var lskey = "pptactive"+activePrimaryId;
  5.         var lsvalue = window.localStorage[lskey];
  6.         if(lsvalue){
  7.             clientToast("同一设备不允许重复签到!");
  8.     jsBridge.postNotification('CLIENT_EXIT_LEVEL', {}) ;   //返回,退出网页
  9.             return;
  10.         }
  11.         var addressP=$("#paramAddress").val();  //请求需要的数据
  12.         var latitude=$("#latitude").val();
  13.         var longitude=$("#longitude").val();
  14.         var fid=$("#fid").val();

  15.                 if(res=="success"||res=="success2"){
  16.                     //签到成功,计入localStorage
  17.                     var lskey = "pptactive"+activePrimaryId;
  18.                     //window.localStorage[lskey] = 1;
  19.                     if(!window.localStorage[lskey]){
  20.                         window.localStorage[lskey] = new Date().Format("yyyy-MM-dd HH:mm:ss")+"  "+name2+"   "+'292679477'+"  "+activePrimaryId;
  21.                     }
  22. <blockquote> var params =xxxx   //一堆参数,包含姓名、位置名、经纬度、设备id等
复制代码
省略了许多代码,大概功能是:
1,查找localStorage判断是否已签到,避免换账号帮签。这是本地验证,还有通过设备id进行服务器验证。
2,获取一些数据,包含姓名、位置名、经纬度、设备id等,用于发送签到请求。
但它没有重新从app中获取位置信息,信息通过下列代码获取:
  1. var addressP=$("#paramAddress").val();  //请求需要的数据
  2. var latitude=$("#latitude").val();
  3. var longitude=$("#longitude").val();
  4. var fid=$("#fid").val();
复制代码
那伪造位置就简单了,直接使用js修改即可。
  1. $("#latitude").val('xxx');
  2. $("#longitude").val('xxx');
  3. $("#paramAddress").html('xxx');
  4. sign()//立即签到
复制代码
deviceCode从app中获取,在dex中添加随机id,详见“最终教程.txt”

简单使用postman伪造一个,返回success即成功。

经纬度用于判断是否位于签到地点

address、name只是显示



最后分享一个专门适配学习通app的纯js代码:
https://wds.ecsxs.com/231985.js

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

18

主题

297

回帖

1203

积分

高中生

Rank: 4

金币
531
好评
1
信誉
100

MT论坛新人考神MT论坛帅哥

发表于 2025-10-20 20:03:32 | 显示全部楼层  来自 广东
沙发
已有1人评分金币 理由
青春向上 + 1 沙发当赏。

查看全部评分 总评分:金币 +1 

回复

使用道具 举报

123

主题

3513

回帖

1万

积分

博士生

●一只菜鸡●

Rank: 7Rank: 7Rank: 7

金币
3512
好评
85
信誉
122

考神MT论坛新人MT论坛最佳新人MT论坛帅哥MT论坛活跃会员

发表于 2025-10-20 20:03:43 来自手机  | 显示全部楼层  来自 辽宁
很好,但是休想骗我逃课
已有1人评分金币 理由
青春向上 + 1 你是住论坛吗[笑哭]

查看全部评分 总评分:金币 +1 

回复

使用道具 举报

54

主题

3589

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
794
好评
190
信誉
180

MT论坛新人MT论坛最佳新人MT论坛帅哥考神MT论坛活跃会员挂机大佬

发表于 2025-10-20 20:10:48 来自手机  | 显示全部楼层  来自 陕西
挽梦遗酒 发表于 2025-10-20 20:03
很好,但是休想骗我逃课

前不久有两人问如何虚拟定位学习通,于是我拖现在发出来。没啥用,我同学直接给舍友备用机让帮签。所以会技术可以省下一台手机钱
回复

使用道具 举报

93

主题

6097

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
1276
好评
6
信誉
106
发表于 2025-10-20 20:57:50 来自手机  | 显示全部楼层  来自 福建
谢谢分享。
回复

使用道具 举报

8

主题

1550

回帖

4702

积分

大学生

Rank: 5Rank: 5

金币
3250
好评
2
信誉
98
发表于 2025-10-20 21:14:00 来自手机  | 显示全部楼层  来自 中国
谢谢分享
回复

使用道具 举报

1

主题

1626

回帖

4177

积分

大学生

Rank: 5Rank: 5

金币
614
好评
0
信誉
100
发表于 2025-10-20 21:38:38 来自手机  | 显示全部楼层  来自 广西
感谢分享思路
回复

使用道具 举报

67

主题

7588

回帖

2万

积分

博士后

Rank: 8Rank: 8

金币
12031
好评
28
信誉
86

考神MT论坛帅哥MT论坛活跃会员

发表于 2025-10-21 10:27:23 | 显示全部楼层  来自 贵州
感谢分享
回复

使用道具 举报

2

主题

92

回帖

302

积分

初中生

Rank: 3Rank: 3

金币
249
好评
0
信誉
100
发表于 2025-10-21 20:24:24 来自手机  | 显示全部楼层  来自 欧洲
打完仗了才发枪
回复

使用道具 举报

54

主题

3589

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
794
好评
190
信誉
180

MT论坛新人MT论坛最佳新人MT论坛帅哥考神MT论坛活跃会员挂机大佬

发表于 2025-10-21 20:58:34 来自手机  | 显示全部楼层  来自 陕西
typec 发表于 2025-10-21 20:24
打完仗了才发枪

那你为什么不自己造枪?
回复

使用道具 举报

3

主题

7083

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
1533
好评
0
信誉
103

MT论坛新人考神MT论坛帅哥MT论坛最佳新人

发表于 2025-10-21 22:08:22 来自手机  | 显示全部楼层  来自 广西
感谢楼主分享
回复

使用道具 举报

1

主题

1万

回帖

3万

积分

博士后

Rank: 8Rank: 8

金币
9013
好评
4
信誉
1302

考神MT论坛帅哥MT论坛新人

发表于 2025-10-23 19:18:53 来自手机  | 显示全部楼层  来自 广西
学习学习谢谢分享
回复

使用道具 举报

15

主题

5346

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
6286
好评
0
信誉
106
发表于 2025-10-27 21:13:10 来自手机  | 显示全部楼层  来自 广东
感谢分享
回复

使用道具 举报

3

主题

56

回帖

247

积分

小学生

Rank: 2

金币
170
好评
0
信誉
98
发表于 2025-10-31 22:09:09 来自手机  | 显示全部楼层  来自 广东
大佬在其他贴上看到你能不能帮忙看看这个软件怎么跳过登录啊 运行商倒闭进不去
小飞机网盘,下载不限速、一键转存无上限、在线播放无损音视频。复制这段内容打开「小飞机网盘」APP即可获取
链接:https://share.feijipan.com/s/rrYGvlHP

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

36

主题

1871

回帖

6537

积分

硕士生

LINGYUE

Rank: 6Rank: 6

金币
3195
好评
45
信誉
105

考神MT论坛最佳新人MT论坛帅哥MT论坛新人

QQ
发表于 2025-12-30 01:46:44 来自手机  | 显示全部楼层  来自 江西
大佬,学习通的考试版本检测可以解决吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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