程序开发

程序开发

xposed修改imei

myxf 发表了文章 • 0 个评论 • 31 次浏览 • 2018-09-14 10:30 • 来自相关话题

xposed修改imei
HookMethod(TelephonyManager.class.getName(),lpparam.classLoader,"getDeviceId","123");
XposedHelpers.findField(android.os.Build.class, "SERIAL").set(null, "123");
 
 public void HookMethod(String className,ClassLoader classLoader,String method, final Object result)
    {
        findAndHookMethod(className, classLoader, method, new XC_MethodHook() {
            @Override
            protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                param.setResult(result);
            }
        });
    }





  查看全部
xposed修改imei
HookMethod(TelephonyManager.class.getName(),lpparam.classLoader,"getDeviceId","123");
XposedHelpers.findField(android.os.Build.class, "SERIAL").set(null, "123");
 
 public void HookMethod(String className,ClassLoader classLoader,String method, final Object result)
    {
        findAndHookMethod(className, classLoader, method, new XC_MethodHook() {
            @Override
            protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                param.setResult(result);
            }
        });
    }

微信截图_20180914103021.png

 

发现一个诡异的问题 求解

jiangkaifang 回复了问题 • 3 人关注 • 1 个回复 • 2727 次浏览 • 2015-12-21 11:28 • 来自相关话题

关于微信运动数据获取的研究

myxf 发表了文章 • 6 个评论 • 8139 次浏览 • 2015-12-14 15:30 • 来自相关话题

最近因公司需求,要做一个微信里的html5应用,要求读取微信运动的步数数据,做数据分析与排行,个人中心、邀请好友pk和排行榜都好做,关键在于如何读取微信运行中的步数数据,研究了一下微信开放平台并没有相关的接口。

这样看来就只有自己想办法获取了,首先对微信客户端进行抓包,发现微信运动的界面是原生的,数据也是加密后的直接放弃解码,那究竟要怎么获取呢?

继续研究发现个人主页是可以分享给好友的,而分享出来的东西是一个url连接,打开是一个网页,这个就可以搞了,网页中的东东你不可能加密了吧,于是乎抓包获取地址:https://hw.weixin.qq.com/steprank/step/personal?openid=o95gOt4sls1KHY6KWvpTrFSqfCpU&fromShare=1&from=singlemessage&isappinstalled=0&pass_ticket=uIsL7ZQo5K8DBxRkgpuGmHXUk5%2BEf8b2C8%2B68Zi1eQY%3D

精简一下:https://hw.weixin.qq.com/steprank/step/personal?openid=o95gOt4sls1KHY6KWvpTrFSqfCpU 也可访问,源码中有想要的每日步数、最高纪录和总步数,在pc浏览器中直接打开是不行的需要微信登录,于是使用pc端的微信客户端打开链接:https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7fa037cc7dfabad5&redirect_uri=http%3A%2F%2Fhw.weixin.qq.com%2Fsteprank%2Foauth%3Freturnurl%3Dhttp%253A%252F%252Fhw.weixin.qq.com%252Fsteprank%252Fstep%252Fpersonal%253Fopenid%253Do95gOt4sls1KHY6KWvpTrFSqfCpU%2526fromShare%253D1%2526from%253Dsinglemessage%2526isappinstalled%253D0%2526pass_ticket2%253DuIsL7ZQo5K8DBxRkgpuGmHXUk5%25252BEf8b2C8%25252B68Zi1eQY%25253D%26env%3D&response_type=code&scope=snsapi_base&state=8n8o-EO5FdgVe433j_4vPg&connect_redirect=1#wechat_redirect
可以正常访问,这里我们需要获取微信返回的code值,拿到这个数据就可以在pc版的浏览器中访问了,那究竟怎么获取的呢?

很简单修改一下返回url:redirect_uri url解密后:http://hw.weixin.qq.com/steprank/oauth?returnurl=http%3A%2F%2Fhw.weixin.qq.com%2Fsteprank%2Fstep%2Fpersonal%3Fopenid%3Do95gOt4sls1KHY6KWvpTrFSqfCpU%26fromShare%3D1%26from%3Dsinglemessage%26isappinstalled%3D0%26pass_ticket2%3DuIsL7ZQo5K8DBxRkgpuGmHXUk5%252BEf8b2C8%252B68Zi1eQY%253D&env=  returnurl就是微信登录验证后返回的地址,这里我们需要对url进行一点修改,首先微信登录的返回url必须在后台绑定也就是hw.weixin.qq.com这个域名是不能变的,但我们可以修改hosts文件重定向到我们本机上来,然后修改urlhttp://hw.weixin.qq.com/get.php?returnurl=http%3A%2F%2Fhw.weixin.qq.com%2Fsteprank%2Fstep%2Fpersonal%3Fopenid%3Do95gOt4sls1KHY6KWvpTrFSqfCpU%26fromShare%3D1%26from%3Dsinglemessage%26isappinstalled%3D0%26pass_ticket2%3DuIsL7ZQo5K8DBxRkgpuGmHXUk5%252BEf8b2C8%252B68Zi1eQY%253D&env=
 
写一个get.php获取返回个get参数,然后再通过微信客户端访问就可以输出微信返回的登录参数,再将修改的hosts文件注释,加上得到的返回参数访问http://hw.weixin.qq.com/steprank/oauth 就可以获得服务器输出的两个cookie hwstepranksk和pass_ticket 有了这两个cooke就可以通过浏览器正常访问:https://hw.weixin.qq.com/steprank/step/personal?openid=o95gOt4sls1KHY6KWvpTrFSqfCpU 获取步数了openid这个参数就是用户的id如果为空就读取自己本身的,可只能读取自己可不行,那其他用户的openid要怎么获取呢?

很简单了,当朋友通过微信运动主页分享给你的时候就会携带有当前用户openid的url,现在的问题是怎么自动读取到这个信息呢?

第一个想到的就是聊天记录,可惜分析了微信客户端数据库后发现数据库也是加密的,那要怎么样才能获取到这个url数据呢?于是乎想到了微信网页版,于是分析了微信网页版的源码,发现是socket通讯协议,当检查到有新消息后会触发js进行处理,如果能拦截到回调的js就好办了,当时就行通过brup拦截包修改指定的js文件:https://res.wx.qq.com/zh_CN/htmledition/v2/js/webwxApp28a2f7.js 在回调的function中加入自己的js代码,可这个方案还是太麻烦,有什么更好地方案吗?答案当然是有,还是修改hosts文件啦,将res.wx.qq.com调用的资源文件全部下载到自己的服务器上,然后修改webwxApp28a2f7.js 加上自己的代码,然后将res.wx.qq.com 定向到自己的服务器上,由于是https协议端口是443所以自己的服务器也必须是https,申请一个ssl即可,这样打开wx.qq.com 正常登录信息也可以正常回调也就会触发我们写的代码

webwxApp28a2f7.js 查找 calcMsgDisplayTime 增加一行代码输出url





这样有新消息的时候就会触发alert 输出url信息,只要在这里判断url中是否包含:https://hw.weixin.qq.com/steprank/step/personal 就截取出openid 然后构造一个iframe或者script 就可以将openid传回处理,有了openid就可以获取该用户的步数信息了。
 
总结的步奏是:
1.申请一个新的微信号;
2.使用新微信号通过微信pc客户端获取cookie值hwstepranksk和pass_ticket;
3.凡事参加活动的用户必须加这个微信号为好友,并将自己的微信运动主页分享到这个微信号中,只分享一次即可;
4.通过微信版微信获取分享的openid传到数据库中记录
5.写个php程序通过curl 附加cookie 轮询数据库中的openid主页获取微信步数
6.有了微信步数的数据就可以进行许多活动了。
 










  查看全部
最近因公司需求,要做一个微信里的html5应用,要求读取微信运动的步数数据,做数据分析与排行,个人中心、邀请好友pk和排行榜都好做,关键在于如何读取微信运行中的步数数据,研究了一下微信开放平台并没有相关的接口。

这样看来就只有自己想办法获取了,首先对微信客户端进行抓包,发现微信运动的界面是原生的,数据也是加密后的直接放弃解码,那究竟要怎么获取呢?

继续研究发现个人主页是可以分享给好友的,而分享出来的东西是一个url连接,打开是一个网页,这个就可以搞了,网页中的东东你不可能加密了吧,于是乎抓包获取地址:https://hw.weixin.qq.com/steprank/step/personal?openid=o95gOt4sls1KHY6KWvpTrFSqfCpU&fromShare=1&from=singlemessage&isappinstalled=0&pass_ticket=uIsL7ZQo5K8DBxRkgpuGmHXUk5%2BEf8b2C8%2B68Zi1eQY%3D

精简一下:https://hw.weixin.qq.com/steprank/step/personal?openid=o95gOt4sls1KHY6KWvpTrFSqfCpU 也可访问,源码中有想要的每日步数、最高纪录和总步数,在pc浏览器中直接打开是不行的需要微信登录,于是使用pc端的微信客户端打开链接:https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx7fa037cc7dfabad5&redirect_uri=http%3A%2F%2Fhw.weixin.qq.com%2Fsteprank%2Foauth%3Freturnurl%3Dhttp%253A%252F%252Fhw.weixin.qq.com%252Fsteprank%252Fstep%252Fpersonal%253Fopenid%253Do95gOt4sls1KHY6KWvpTrFSqfCpU%2526fromShare%253D1%2526from%253Dsinglemessage%2526isappinstalled%253D0%2526pass_ticket2%253DuIsL7ZQo5K8DBxRkgpuGmHXUk5%25252BEf8b2C8%25252B68Zi1eQY%25253D%26env%3D&response_type=code&scope=snsapi_base&state=8n8o-EO5FdgVe433j_4vPg&connect_redirect=1#wechat_redirect
可以正常访问,这里我们需要获取微信返回的code值,拿到这个数据就可以在pc版的浏览器中访问了,那究竟怎么获取的呢?

很简单修改一下返回url:redirect_uri url解密后:http://hw.weixin.qq.com/steprank/oauth?returnurl=http%3A%2F%2Fhw.weixin.qq.com%2Fsteprank%2Fstep%2Fpersonal%3Fopenid%3Do95gOt4sls1KHY6KWvpTrFSqfCpU%26fromShare%3D1%26from%3Dsinglemessage%26isappinstalled%3D0%26pass_ticket2%3DuIsL7ZQo5K8DBxRkgpuGmHXUk5%252BEf8b2C8%252B68Zi1eQY%253D&env=  returnurl就是微信登录验证后返回的地址,这里我们需要对url进行一点修改,首先微信登录的返回url必须在后台绑定也就是hw.weixin.qq.com这个域名是不能变的,但我们可以修改hosts文件重定向到我们本机上来,然后修改urlhttp://hw.weixin.qq.com/get.php?returnurl=http%3A%2F%2Fhw.weixin.qq.com%2Fsteprank%2Fstep%2Fpersonal%3Fopenid%3Do95gOt4sls1KHY6KWvpTrFSqfCpU%26fromShare%3D1%26from%3Dsinglemessage%26isappinstalled%3D0%26pass_ticket2%3DuIsL7ZQo5K8DBxRkgpuGmHXUk5%252BEf8b2C8%252B68Zi1eQY%253D&env=
 
写一个get.php获取返回个get参数,然后再通过微信客户端访问就可以输出微信返回的登录参数,再将修改的hosts文件注释,加上得到的返回参数访问http://hw.weixin.qq.com/steprank/oauth 就可以获得服务器输出的两个cookie hwstepranksk和pass_ticket 有了这两个cooke就可以通过浏览器正常访问:https://hw.weixin.qq.com/steprank/step/personal?openid=o95gOt4sls1KHY6KWvpTrFSqfCpU 获取步数了openid这个参数就是用户的id如果为空就读取自己本身的,可只能读取自己可不行,那其他用户的openid要怎么获取呢?

很简单了,当朋友通过微信运动主页分享给你的时候就会携带有当前用户openid的url,现在的问题是怎么自动读取到这个信息呢?

第一个想到的就是聊天记录,可惜分析了微信客户端数据库后发现数据库也是加密的,那要怎么样才能获取到这个url数据呢?于是乎想到了微信网页版,于是分析了微信网页版的源码,发现是socket通讯协议,当检查到有新消息后会触发js进行处理,如果能拦截到回调的js就好办了,当时就行通过brup拦截包修改指定的js文件:https://res.wx.qq.com/zh_CN/htmledition/v2/js/webwxApp28a2f7.js 在回调的function中加入自己的js代码,可这个方案还是太麻烦,有什么更好地方案吗?答案当然是有,还是修改hosts文件啦,将res.wx.qq.com调用的资源文件全部下载到自己的服务器上,然后修改webwxApp28a2f7.js 加上自己的代码,然后将res.wx.qq.com 定向到自己的服务器上,由于是https协议端口是443所以自己的服务器也必须是https,申请一个ssl即可,这样打开wx.qq.com 正常登录信息也可以正常回调也就会触发我们写的代码

webwxApp28a2f7.js 查找 calcMsgDisplayTime 增加一行代码输出url
QQ截图20151214152311.png


这样有新消息的时候就会触发alert 输出url信息,只要在这里判断url中是否包含:https://hw.weixin.qq.com/steprank/step/personal 就截取出openid 然后构造一个iframe或者script 就可以将openid传回处理,有了openid就可以获取该用户的步数信息了。
 
总结的步奏是:
1.申请一个新的微信号;
2.使用新微信号通过微信pc客户端获取cookie值hwstepranksk和pass_ticket;
3.凡事参加活动的用户必须加这个微信号为好友,并将自己的微信运动主页分享到这个微信号中,只分享一次即可;
4.通过微信版微信获取分享的openid传到数据库中记录
5.写个php程序通过curl 附加cookie 轮询数据库中的openid主页获取微信步数
6.有了微信步数的数据就可以进行许多活动了。
 

QQ截图20151214153011.png


QQ截图20151214153335.png

 

php Yaf框架持续更新

myxf 发表了文章 • 0 个评论 • 1944 次浏览 • 2015-12-10 17:18 • 来自相关话题

自己整理、完善的yaf框架,使用smarty模板引擎,修改了models层,增加许多扩展类比如邮件、上传等https://git.oschina.net/mayoushang/yaf
自己整理、完善的yaf框架,使用smarty模板引擎,修改了models层,增加许多扩展类比如邮件、上传等https://git.oschina.net/mayoushang/yaf

易语言编译的isapi扩展,有需要源码的留言

myxf 发表了文章 • 1 个评论 • 1865 次浏览 • 2015-12-10 17:15 • 来自相关话题

易语言编译的isapi扩展Myxf-Safe V1.2
 
可防盗链,防get、post、cookie方式注入,防止webshell的上传,新增加友好提示。
 
文件只有两个,Myxf-Safe.dll和配置文件Myxf-Safe.dll.ini,支持IIS6和IIS7效果如下:
 
http://www.bilnn.com/?id=3%20and%201=1





 
友好提示效果:





 
防盗链效果:





 
程序配置很简单,只需要加载Myxf-Safe.dll 配置一下Myxf-Safe.dll.ini 即可,防护记录会实时记录到logs目录下的域名文件夹里
 
注意插件目录不能有中文字符,目录应有读取的权限,Myxf-Safe.dll需要执行权限,logs目录需要有写入权限 
插件下载地址见附件: 查看全部
易语言编译的isapi扩展Myxf-Safe V1.2
 
可防盗链,防get、post、cookie方式注入,防止webshell的上传,新增加友好提示。
 
文件只有两个,Myxf-Safe.dll和配置文件Myxf-Safe.dll.ini,支持IIS6和IIS7效果如下:
 
http://www.bilnn.com/?id=3%20and%201=1

QQ截图20151210170821.png

 
友好提示效果:

123.png

 
防盗链效果:

456.png

 
程序配置很简单,只需要加载Myxf-Safe.dll 配置一下Myxf-Safe.dll.ini 即可,防护记录会实时记录到logs目录下的域名文件夹里
 
注意插件目录不能有中文字符,目录应有读取的权限,Myxf-Safe.dll需要执行权限,logs目录需要有写入权限 
插件下载地址见附件:

发现一个诡异的问题 求解

回复

jiangkaifang 回复了问题 • 3 人关注 • 1 个回复 • 2727 次浏览 • 2015-12-21 11:28 • 来自相关话题

  程序开发