最后的算法应该是这种:
public int[] changeBit(int input)// 仅输入操作数即得到结果
算法:
用按位与操作
public class ChangeBit {
private static int[] ints = new int[13]
/**
* 初始化
*/
public ChangeBit() {
// initInts[0] = Integer.parseInt("1111111111110", 2)
// initInts[1] = Integer.parseInt("1111111111101", 2)
// initInts[2] = Integer.parseInt("1111111111011", 2)
// initInts[3] = Integer.parseInt("1111111110111", 2)
// initInts[5] = Integer.parseInt("1111111011111", 2)
// ......
// 下面的循环代替以上,实现了初始化,但以上看起来直观些
char[] full = {'1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1', '1'}
for (int i = 0i <13i++) {
char[] temp = full.clone()
temp[i] = '0'
ints[i] = Integer.parseInt(String.valueOf(temp), 2)
}
}
/**
* 主方法
*/
public static void main(String[] args) {
new ChangeBit().doBit(13)// 输入
}
/**
* 算法
*/
public static void doBit(int input) {
for (int i = 0i <13i++) {
int result = input &ints[i]// 关键
if (result != input) {
System.out.println(result)// 输出
}
}
}
}
如果存在效率问题,会是初始化部分,因为涉及字符数组和字符串操作。
一旦new一次后,连续使用n次doBit方法(比特位操作),几乎就不存在效率问题了。
是acm上的题吗?time out?
第一级:神人,天资过人而又是技术狂热者同时还拥有过人的商业头脑,高瞻远瞩,技术过人,大器也。如丁磊,求伯君。第二级:高人,有天赋,技术过人但没有过人的商业头脑,通常此类人不是顶尖黑客就是技术总监之流。
第三级:牛人,技术精湛,熟悉行业知识,敢于创新,有自己的公司和软件产品。
第四级:工头,技术精湛,有领导团队的能力,此类人大公司项目经理居多。
第五级:技术工人,技术精湛,熟悉行业知识但领导能力欠加,此类人大多为系分人员或资深程序员,基本上桀骜不逊,自视清高,不愿于一般技术人员为伍,在论坛上基本以高手面目出现。
第六级:熟练工人,技术有广度无深度,喜欢钻研但浅尝辄止。此类人大多为老程序员,其中一部分喜欢利用工具去查找网上有漏洞的服务器,干点坏事以获取成绩感。如果心情好,在论坛上他们会回答菜鸟的大部分问题。此级别为软件业苦力的重要组成部分。
第七级:工人,某些技术较熟练但缺乏深度和广度,此类人大多为程序员级别,经常在论坛上提问偶尔也回答菜鸟的问题。为软件产业苦力的主要组成部分。
第八级:菜鸟,入门时间不长,在论坛上会反复提问很初级的问题,有一种唐僧的精神。虽然招人烦但基本很可爱。只要认真钻研,一两年后就能升级到上一层。
第九级:大忽悠,利用中国教育的弊病,顶着一顶高学历的帽子,在小公司里混个软件部经理,设计不行,代码不行,只会胡乱支配下属,拍领导马屁,在领导面前胡吹海侃,把自己打扮成技术高手的模样。把勾心斗角的办公室文化引入技术部门,实在龌龊!
第十级:驴或傻X,会写SELECT语句就说自己精通ORALCE,连寄存器有几种都不知道就说自己懂汇编,建议全部送到日本当IT产业工人,挣了日本人的钱还严重打击日本的软件业!
木马利用短信感觉受害者通信录中好友.利用"看你做的好事","看你做的龌龊事"等语句诱导用户安装.
开始分析木马,首先查看其Manifest文件.从其申请短信/联系/联网的权限来看已经可以基本确认这是一款短信拦截马,貌似没啥新意不过可以从中发现一些以前没有的细节.感觉这个木马还是挺用心的。
首先是installLocation属性的设置.
设置这个属性的目的是不让木马 app 被安装到 sdcard 中.因为如果 app 被安装 sdcard 中而非手机内置存储的话会失去以下特性导致木马的功能不健全
第二个有意思的点 excludeFromRecents 是在 activity 标签中设置的.
这样设置的目的是不让木马 app 现在在最近程序列表中减少被普通用户发现的概率.类似处理还有将此 Activity 在代码中 disable
第三个特点是随机字符串包名
要抓取几个样本后发现,包名是随机的字符串,但是代码特助以及签名都是一样的.应该是通过程序自动生成的,猜测目的是躲避一些杀软.
继续观察程序入口点: 1.主Activity,用户点一次后将会被禁用
功能老几样:
sevice 的主要功能是
其他入口点: 2.开机广播 3.网络切换广播 4.短信相关广播 ,总计4处可以触发拦截马行为.
短信广播接收器和观察者的代码就不贴了,发出的邮件是这样的:
那么这个木马是肿么存储邮箱帐号木马的了,发现这些个短信马都喜欢用163.
这款木马选择对邮箱帐号密码使用 des 加密.破解这个也很简单现在有三个途径:
大概两天不到的时间已经有上千受害者中招,部分数据如下:
通信录
短信记录
总结木马功能:
在这些用 SMTP 上传受害者信息的短信木马中,有些木马作者比较 low 就直接硬编码在 java 代码中,有些会选择像上述的加密,也有往底层迁移
木马传播途径:
1.伪基站钓鱼定向群发
2.受害者感染通信录好友
木马使用者手机号码:
15168430384
13894651855
13660414800
13430222795
已验证为黑卡,未实名认证.
传播站点:
118.193.170.149:2100
118.193.157.132:1123
http://www.shunlilao.com/hyl/xiangni.apk
http://wusha66.net/erw2fs.apk
主要来自香港的 VPS.