之前经常听到朋友或者新闻媒体上报道说,有的朋友的android手机中病毒了,出现了软件无法卸载的情况,对于我这样一个从事android开发程序员来说,我还不是太相信(毕竟自己还是有点菜,哈哈).今天在研究一键锁屏这个小应用的时候,发现在android系统中的确存在这样一种应用,会让你的程序无法卸载,我之前的时候只知道android系统内置的应用无法卸载的,现在却发现并不只有这种应用无法卸载,还有利用android漏洞开发的应用无法卸载. 开发这样的一个应用要从设备管理器说起,我测试的Androi…
一.前言 在逆向应用的时候,我们有时候希望能够快速定位到应用的关键方法,在之前我已经详细介绍了一个自己研发的代码动态注入工具icodetools,来进行动态注入日志信息到应用中,不了解的同学可以查看这里:icodetools动态注入代码解析,看完之后都会发现这个工具对于现在加固的应用是没有办法的,所以我们如何能够得到加固的应用的所有方法信息呢?再不用复杂的脱壳步骤也可以轻松的获取对应的方法信息.这个就是本文需要介绍的内容. 二.获取加固应用方法 在之前了解过加固应用原理的同学或者是弄过脱壳的同学…
NOW, 步 将此黑科技传授予你~ 一.普通家电控制电路板分析 普通家电,其人机接口一般由按键和指示灯组成(高端的会稍微复杂,这里不考虑) 这样交互过程,其实就是:由当前指示灯信息,按照操作流程按相应按键,来实现相应功能的过程: 注:每次按动相应的按键都会导致相应的指示灯自身的状态从0到1或者从1到0变化,这其实是一个最好的反馈 那么,我们将一个完整的过程定义为:按动某个按键(或几个,同时或依次),等待某个指示灯呈现某种状态,得到基于特定电器的固有功能(操作) 例如:你按动电热水壶的烧水按钮,此…
第一部分,通信接口的实现 标签(空格分隔): PHP 手机后台 api 通信接口 Andy PHP开发手机API时,一般返回XML或JSON数据类型的数据,除了要返回从源数据(程序本身需要的数据)外还应附上状态码,以下是一段封装后的数据,它使用JSON格式展现: { code: 200, message: "Success", data: [ { username: "安明哲", password: "123456", level: "…
程序员每天都会使用到git的一系列命令.其中用git log命令可以查看提交历史记录: 今天Jerry给大家推荐一款视觉效果非常酷炫的工具,名叫Gource,是一个能够将git代码仓库的提交历史以动画的方式显示出来的黑科技. 先看一些动画效果的截图吧. Gource会从指定的github仓库创建那一刻开始(大家看我下面截图的2017年2月4日就是我github仓库的创建时间),以视频的方式显示每次提交的明细.每次提交增加或删除的文件会以不同颜色的小圆圈代表,文件名也能显示出来. 如何使用?到ht…
一.访问隐藏的API方式进行静态的默认安装和卸载 1.系统安装程序 android自带了一个安装程序—/system/app/PackageInstaller.apk.大多数情况下,我们手机上安装应用都是通过这个apk来安装 的.代码使用也非常简单: /* 安装apk */ public static void installApk(Context context, String fileName) { Intent intent = new Intent(); intent.setAction…
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.exception.site/essay/how-to-use-gitter-on-your-website-quickly 一.前言 小哈从很早以前就有写博文的习惯,不过那个时候,也没咋认真地写,倒是挺喜欢倒腾,从最初在 CSDN 写博客,写了得有 100 多篇后,那时,CSDN 开始加入了恶心的广告,体验开始…
有没有这样几款软件,在你每次一换新手机的时候就会立刻重新安装下来,感觉自己已经完全离不开它们?今天就来给大家分享几个非常好用的APP. 一.小羊搜搜 在生活中人人都有自己的爱好,无论你是喜欢影视.小说又或者是漫画.音乐甚至查看文学资料学习东西,用的又是什么工具查看的呢? [小羊搜搜]结合了上述所说的几大内容,无论是有你想要的影视资源.小说.漫画.音乐或者海量文库,都能在这里查找到资料,你想要的都有. 二.GIF制作软件 我们经常在一些社交聊天软件上与人斗图,但是很多情况下找到的表情包都太过单调,…
本文内容参考微软工程师Nate McMaster的博文.NET Core 2.1 Global Tools 用过npm开发都知道,npm包都可以以全局的方式安装,例如安装一个http-server服务,可以使用npm i http-server -g来将http-server包安装到全局环境.安装完之后,就可以通过cmd或者powershell运行全局工具http-server命令,来使用静态托管服务.dotnet tool 就是一个类似npm全局工具的新特性,在.net core2.1正式加入…
聊聊H5与JS近几年的黑科技 自ajax技术的诞生,编程界兴起了一股WEB开发热,facebook,Twitter等众多大佬级企业都在网页应用上大放异彩,这十年我们见证了前端技术的崛起.这期间产生了众多脱离了浏览器的JS和H5开发的黑科技.移动端的react native,cordova,native.js:PC端的Node.js,NW.js:当然还有前端本身的众多框架,vue.js,jquery.js,bootstrap等等. 所以JS不再是一门单纯的浏览器脚本,作为一个前端开发者如果跟不上前…
在.NET Core 1.0.0 RC2即将正式发布之际,我也应应景,针对RC2 Preview版本编写一个史上最简单的MVC应用.由于VS 2015目前尚不支持,VS Code的智能感知尚欠火候,所以我们直接采用最原始的记事本来编写这个MVC应用.[源代码从这里下载] 目录步骤一.安装最新的.NET Core SDK步骤二.定义源代码和配置        定义NuGet.xml        定义Project.json        定义入口程序        定义初始化类型       …
[导读]TensorFlow 在 2015 年年底一出现就受到了极大的关注,经过一年多的发展,已经成为了在机器学习.深度学习项目中最受欢迎的框架之一.自发布以来,TensorFlow 不断在完善并增加新功能,直到在这次大会上发布了稳定版本的 TensorFlow V1.0.这次是谷歌第一次举办的TensorFlow开发者和爱好者大会,我们从主题演讲.有趣应用.技术生态.移动端和嵌入式应用多方面总结这次大会上的Submit,希望能对TensorFlow开发者有所帮助. TensorFlow:面向大…
目录 一.功能规划 二.最底层基础实现 (1)Picker界面和功能实现 (2)不同类型的选择器基础实现 三.数据源层 (1)时间日期 (2)多级同步分类,如:城市 (3)多级异步分类,如:城市 四.最终的调用层 回到本初,看到多年前写的一段移动端App内嵌入的H5兼容处理代码,有段专门兼容处理输入框类型的代码: 针对Android 5.0.1,5.0.2 time类型的输入框统统改成text类型(当年的记忆犹新:这两个版本有些手机上的弹框居然只有重置和取消两个按钮,被客户叼了一顿); 不管是I…
英雄无敌三简介(Heroes of Might and Magic III) 英3是1999年由New World Computing在Windows平台上开发的回合制策略魔幻游戏,其出版商是3DO.是一款经典的战棋类游戏,也是我接触最早和玩的时间最多的一款游戏.官方的最新资料片版本是<<死亡阴影:The Shadow Of Death>>,程序最高版本是3.2. 英雄无敌三现有非官方Mod介绍 一,神之苏醒(Wake Of God),老毛子(GrayFAce)作品,首款非官方Mo…
周二面了腾讯,之前只投了TST内推,貌似就是TST面试了 其中有一个问题,"如何产生一个不能被继承的类",这道题我反反复复只想到,将父类的构造函数私有,让子类不能调用,最后归结出一个单例模式,但面试官说,单例模式作为此题的解答不够灵活,后来面试官提示说,可以用友元+虚继承,可以完美实现这样一个类 当然那时我还不太明白,友元与虚继承我都极少接触过,只是知道有这些东西,回头搜了一下"不能被继承的类"的做法,具体如下: 1,声明一个类,CNoHeritance,构造函数为…
12 月 30 日,迪士尼研发出的一款爬墙机器人曝光了一段有趣的视频.从视频里可看出这个机器人碰到墙壁时迅速地作出反应爬了上去. 据了解,这个爬墙机器人名叫 VertiGo,由迪士尼研究中心和苏黎世联邦理工学院联合开发.VertiGo 类似于一个飞行汽车机器人,通过轮子和中间的两个螺旋桨来适应不同的路面以及墙壁. 从视频中我们不难看出 VertiGo 的构造很简单,神似于市面上的一些玩具无人机.而且从物理的角度讲,VertiGo 爬墙机器人应得益于中间的两个螺旋桨产生的助推力.记得早前国内曾有人…
安卓系统比起ios系统最大的缺点,相信大家都知道,就是系统安全问题.这篇博客就秀一波“黑科技”. 读取用户短信 Android应用能读取用户手机上的短信,相信已经不是什么新鲜事,比如我们收到的短信验证码,一些app马上就能自动获取并填上验证码,省去我们手动填写验证码.原理就是通过Android的ContentProvider组件间接访问系统的短信数据库,获取所有短信内容.下面来演示一下. 布局很简单,如下: 代码如下: public class MainActivity extends Acti…
一.发现黑科技的起因  今天在微信公众号看到一篇技术博文,想用印象笔记收藏,所以发送了文章链接到pc上.然后习惯性地打开控制台,看看源码,想了解下最近微信用了什么新技术.  呵呵,以下勾起了我侦探的欲望.页面加载后的异常点就是只加载了一个js,如下图所示:  我很诧异,为什么已经开启了Disable cache,js只加载了一个,而且体积这么小.接着,我按住Ctrl+O进行资源文件查找,发现我被"忽悠"了.其实根本就不止一个js文件.  脑袋里灵光一闪,不会是用localStorage…
  UITableView是我们最常用的控件了,今天我就来介绍一些关于UITableView的黑科技和一些注意的地方. 1.修改左滑删除按钮的高度   左滑删除这是iOS最先发明的,之后安卓开始模仿.有时候我们需要对他进行自定义,比如添加图片啊,修改字体和大小啊,其实这个可以很简单. - (void)layoutSubviews { [super layoutSubviews]; for (UIView *subview in self.subviews) { if ([subview isKi…
#pong .spoiler{cursor:none;display:inline-block;line-height:1.5;}sup{cursor:help;color:#3BA03B;} Pong! 模仿了Steam论坛的 [spoiler] 标签之后利用这里的代码实现的一个小游戏,由CSS驱动. [spoiler]▐[spoiler] ●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoiler]●[/spoiler][spoil…
用 Go 编写一个简单的 WebSocket 推送服务 本文中代码可以在 github.com/alfred-zhong/wserver 获取. 背景 最近拿到需求要在网页上展示报警信息.以往报警信息都是通过短信,微信和 App 推送给用户的,现在要让登录用户在网页端也能实时接收到报警推送. 依稀记得以前工作的时候遇到过类似的需求.因为以前的浏览器标准比较陈旧,并且那时用 Java 较多,所以那时候解决这个问题就用了 Comet4J.具体的原理就是长轮询,长链接.但现在毕竟 html5 流行开来…
微软黑科技强力注入,.NET C#全面支持人工智能,AI编程领域开始C#.Py--百花齐放 就像武侠小说中,一个普通人突然得到绝世高手的几十年内力注入,招式还没学,一身内力有点方 Introducing ML.NET: Cross-platform, Proven and Open Source Machine Learning Framework https://blogs.msdn.microsoft.com/dotnet/2018/05/07/introducing-ml-net-cros…
ICMP后门 前言 第一篇:Python3实现ICMP远控后门(上) 第二篇:Python3实现ICMP远控后门(上)_补充篇 在上两篇文章中,详细讲解了ICMP协议,同时实现了一个具备完整功能的ping工具,完整的代码发布在https://github.com/qiyeboy/LuLunZi/blob/master/NetWork/ping.py中.本次讲的是嗅探,为什么要讲嗅探呢?和ICMP后门有什么关系呢?本篇的干货有点多... 第一节 ICMP后门结构 设计的ICMP后门采用的是典型的C…
参考美团文档:https://tech.meituan.com/2017/04/21/mt-leaf.html Twitter-Snowflake算法产生的背景相当简单,为了满足Twitter每秒上万条消息的请求,每条消息都必须分配一条唯一的id,这些id还需要一些大致的顺序(方便客户端排序),并且在分布式系统中不同机器产生的id必须不同. 性能测试数据: Snowflake算法核心 把时间戳,工作机器id,序列号组合在一起. 41-bit的时间可以表示(1L<<41)/(1000L*3600…
JAVA WEB快速入门系列之前的相关文章如下:(文章全部本人[梦在旅途原创],文中内容可能部份图片.代码参照网上资源) 第一篇:JAVA WEB快速入门之环境搭建 第二篇:JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构.调试.部署 第三篇:JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP.IOC) 第四篇:JAVA WEB快速入门之从编写一个基于SpringMVC框架的网站了解Maven.SpringMVC.Spri…
先分析复杂度,给的数据是1e5的,那么我们至少需要一个nlogn的算法才可以.由于答案是一个数字,首先想到是二分法(一般答案是一个数字都可以通过二分法来完成) 下面是思路: 1.可以完成题目的条件是,每道题需要使用黑科技的次数一定要小于总的分钟数,计算每道题需要黑科技的次数这里要用到向上取证9/5=2,这里写了一个cal函数,比较方便实现,用强制转换ceil函数啥的有点麻烦,当然这个貌似是只能完成正整数的转换. 2.然后用二分查找,正常的二分查找是可以找到mid满足条件,且是唯一的mid.此题在…
本节使用的Android Studio版本是3.0.1 首先,我们先编写一个apk,后面用这个apk来进行逆向.用Android Studio创建一个新的Android项目,命名为Jhm,一路Next直到Finish. 一  修改UI界面 打开app\src\main\res\layout 目录下的activity_main.xml, ①拖动一个TextView到界面,修改ID属性为textView_JHM,text属性为“激活码”. ②拖动一个Plain Text接受输入的激活码,修改ID属性…
1.单行写一个评级组件 "★★★★★☆☆☆☆☆".slice(5 - rate, 10 - rate);定义一个变量rate是1到5的值,然后执行上面代码,看图 才发现插件什么的都弱爆了 来源:来自知乎用户蜗牛老湿的回答 2.如何装逼用代码骂别人SB (!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]] 了解为什么请移步:一行能装逼的JavaScript代码 3.如何用代码优雅的证明自己N…
学习目标:从零编写一个vivi驱动程序,并测试: 一. vivi驱动应用程序调用过程 上节对xawtv对vivi程序调用欧城进行了详细分析,可总结为以下流程: 二.仿照vivi.c编写myvivi.c驱动程序 #include <linux/module.h> #include <linux/delay.h> #include <linux/errno.h> #include <linux/fs.h> #include <linux/kernel.h&…
周二面了腾讯,之前只投了TST内推,貌似就是TST面试了 其中有一个问题,“如何产生一个不能被继承的类”,这道题我反反复复只想到,将父类的构造函数私有,让子类不能调用,最后归结出一个单例模式,但面试官说,单例模式作为此题的解答不够灵活,后来面试官提示说,可以用友元+虚继承,可以完美实现这样一个类 当然那时我还不太明白,友元与虚继承我都极少接触过,只是知道有这些东西,回头搜了一下“不能被继承的类”的做法,具体如下: 1,声明一个类,CNoHeritance,构造函数为private,并声明友元类C…