IceskYsl@1sters!

程序员…

Archive for the ‘无心呢喃 | Buzz’ Category

今天在GoogleTalk上朋友发来消息,说有人撰写文章指出我以前开发的一款更换手机壁纸的应用(嵌入了admob和google的广告)中存在偷窃用户隐私数据行为时,我简直不敢相信这是真的;当看到新闻的详细内容时,我更是被震惊了。以下是那段转载文章的原话:

“拉斯维加斯黑帽大会上,Lookout 的安全人员指出,一个伪装成Android手机壁纸应用的偷窃个人信息程序已经被下载了百万次,它会收集您的个人资料,并将其发送到一个来自中国深圳的神秘网站imnet.us中。安全人员(Kevin MaHaffey)估计这款程序是由正常的壁纸应用修改而来,黑客将其上传到Android Market,希望装饰自己手机的用户因此而中招。泄漏的数据包括浏览历史记录,短信,手机的SIM卡号码,用户识别号,语音邮件,甚至是密码,他警告称每个人都应该警惕来自手机上的威胁。”

在看完这条消息后,我立马检查了所有代码,防止这款应用在我不知情的情况下,被他人加入恶意代码,但我一无所获。

现就相关事宜申明如下:

一、我开发的所有程序都没有侵犯到用户的隐私。

在这个应用中,申请的全部权限为:

<uses-permission android:name=”android.permission.INTERNET” />
<uses-permission android:name=”android.permission.ACCESS_NETWORK_STATE” />
<uses-permission android:name=”android.permission.WRITE_EXTERNAL_STORAGE” />
<uses-permission android:name=”android.permission.SET_WALLPAPER” />
<uses-permission android:name=”android.permission.READ_PHONE_STATE” />
<uses-permission android:name=”android.permission.ACCESS_COARSE_LOCATION” />

懂点Android技术的都知道,这些权限都是为了让该软件的功能,能够正常工作所必须的权限(连接网络,获取网络状态,下载壁纸时读写SD卡,设置壁纸,读取手机状态)和Admob的广告精准推送所需要的权限(位置信息,读取手机状态)。
至于获取用户浏览历史记录、短信、语音邮件密码的这些明显侵犯用户隐私的行为,完全是子虚乌有。一方面并没要申请相关的权限;另一方面我还真不知道怎样获取这些敏感信息。另外,admob的精准广告服务中可能是会针对用户的地理位置等信息推送更准确的广告服务。
关于这款应用能获取的设备标识号是用来区分设备的唯一性,免去用户注册的麻烦,而能给用户提供收藏图片的功能;而诸如获取手机屏幕大小是为了能够智能适配合适的图片。在这些设备信息中,请问哪一条会侵犯到用户的隐私。
另外说我可以获取浏览历史信息,这简直就是个天大的笑话。如果懂一点程序的就会知道,要获取浏览器信息必须在程序里申请com.android.browser.permission.READ_HISTORY_BOOKMARKS权限。我的程序完全没有获取到权限,怎么能够获取到历史信息,真是笑话!!!

二、Android手机的权限管理,在任何没有刷过第三方rom的手机上是很严格的。
Android手机的权限管理,在任何没有刷过第三方rom的手机上是很严格的,在没有相关权限的情况下,要获取那些信息,是完全不可能的。就算是被刷过Rom的手机,也只有具有该ROM制作人的加密签名的程序,才能完成一些不安全的操作。
我所需要的权限在用户安装的时候会很明确的告诉用户,下面我就给大家展示一下我应用申请的权限和另外一个著名的壁纸的应用background和一款管理短信的应用申请的权限。

我的软件需要的权限:

看看background(另外一款壁纸的应用)申请的权限:

Handcent SMS申请的权限:

短信有短信的权限,联系人有联系人的权限,我都没要申请,请问我如何获取相关的信息。

三、应用主要面向外国用户,但绝对没有获取那些高敏感度的隐私信息!

该应用主要面向外国用户(国内由于网络原因无法正常使用),连接服务器端能够获取到精确适配终端的图片,这是一款非常有用,也深受用户喜爱的应用。它确实拥有数量众多(几百万)的用户,但绝对没有获取那些高敏感度的隐私信息!我每天都收到很多用户的反馈邮件告诉我这个软件多么棒,给他们带来多少乐趣!

四、我本人始终与业界同仁一道,希望建立诚实守信、和谐共生的Android产业生态系统。

随着Android开放性操作平台手机的广泛使用,其应用软件开发市场正呈现蓬勃发展景象。对于提醒用户警惕来自手机上的威胁,我本人向来都是强烈支持的!本人一直始终与业界同仁一道,一直为共建诚实守信、和谐共生的Android产业生态系统而努力,将力量专注于用户需求和技术创新,创造更被用户喜欢的软解,并致力于推动手机应用软件产业持续健康发展。

在此,本人郑重申明,该应用没有获取任何诸如浏览历史记录,短信,语音邮件密码等这种高敏感度的信息,并和国外的原作者取得联系,让其修正自己的言论并发布公开道歉,同时对于这种不负责任的言论和评价观点,对我及与我相关的应用进行不负责任的报道造成的影响给予补偿,我将保留追究其法律责任的权利。

ps:

如果您有其他的疑问或者问题,欢迎你在我sina微博客(http://t.sina.com.cn/iceskysl)或者sohu微博(http://t.sohu.com/iceskysl)给我沟通!

update:

写完申明后,去看消息出处看到其竟然做了修改,我早料到其会做相关的行为,所有早些时候截了屏幕如下:

而现在的文章被修改为:

看我用鼠标标识的地方,对关键信息进行了修改,感兴趣的人可以去 http://mobile.venturebeat.com/2010/07/28/android-wallpaper-app-that-steals-your-data-was-downloaded-by-millions/ 查看原文,对于这种标题党用子虚乌有的事情炒作,等消息传播后再修改自己的内容算什么行为!而对国内部分媒体在传播时不但不对真实性进行验证,还添油加醋,歪曲意思的报道,我非常无奈(看到有人还说可以获取信用卡信息,还加密传输,我实在无语)。

按照我个人的感觉,他们应该紧接着要开始拿这个事件来炒作自己的产品了,我个人懒得去关注,如果有人发现有人借此炒作自己的产品,请帮忙分析分析,看看到底是什么人用这样手法。

再次update!!!

通过email和mylookout的人取得联系,说明我取得诸如设备号,手机屏幕大小是为了更智能的给设备适配图片,而获取部分的sim卡号是后来用户反馈说自己换了手机还想使用之前的收藏记录才使用的,这些信息只在该应用中使用,并没提供给任何第三方!

同时让其确认venturebeat上文章中说到的获取浏览器历史,短信息,密码等高敏感性信息是否是他们说的还是写文章的人自己写的(Lots of my users send me the email ask me why I collect their text message and voicemail passward, I just want to make sure whether you and your ceo said that  I collected browsing history,text message ,voicemail passward during the meeting.)。

其cto给我回复说他们没有说过我的应用获取过诸如text messages or browsing history这些信息( We never stated that the wallpaper applications gathered users text messages or browsing history.),是媒体在撰写和传播的时候错误报道了(A member of the press misreported our research and he has since corrected it. )。

我非常无语~

2010年8月4日第二次次update!

多谢这些天很多朋友的关心,我很好,谢谢!这些天和google android组,lookout公司和venturebeat的作者,以及国内外很多媒体,博客们,记者们都有很多的接触。

1. google就前段时间将应用暂停和我一起分析了这个应用,今天发来调查的结果:

Our investigation has concluded that there’s no obvious malicious code in your apps, though the implementation accesses data that it doesn’t need to.  We’ve restored your apps (and they’ll be available on Market again once you publish them), and are looking forward to seeing them updated to use ANDROID_ID.  We are likely to make a statement about this issue this week–I’ll let you know.

我早就说过,我配合调查,我把代码提供给他们,google也做出了公正的评判,另外也给我提了一些建议(ANDROID_ID)。

2. 当时写这篇报道的venturebeat记者Dean Takahashi发来了mail,为自己犯的错误道歉,并道歉该事带来的恶劣影响,会再写一篇文章澄清这个事情以消除影响。

3. 那个安全公司lookout的人写邮件来要于我一起“ We wanted to coordinate with you to prevent further misunderstandings. ”。

4.好几个不认识的国外记者很负责任,发邮件和gt和我交流询问事情的真相,并帮我喊冤,谢谢这些有职业精神的记者们。

这个事情到这差不多就结束了,其中看到很多假丑恶,也看到很多真善美!谢谢所有帮助过我的人(很多很多,就不一一列举)。

参加“Orange开发者日“活动


参加了7月6日在法电参加“Orange开发者日“活动,此次活动的重点是寻找Android应用程序,分享Android应用开发的经验,参与活动的有Orange AppShop的总部和北京的成员、联通应用商城的负责人员、摩托罗拉应用商店的负责人员、和参加活动的应用开发者。我在会上有个主题,主要介绍了优亿市场(eoemarket)这个产品,于会的差不多有200多人,认识一些很熟悉但未见面的老朋友。参加了会后的商务一对一,orange的工作人员对我们的产品提了不少好的建议。

为了不忘却的Google记忆

北京时间2010年凌晨3点半,还没睡,看到Google Buzz里有人喊“还没睡的赶紧来见证这一刻,一辈子只有这么一次”,得知Google宣布了最终的决定,退出大陆市场,转战香港,这其实不像老美能想的出来的招,哪位高人指点过Google?
网上充裕着无数的论调和舆论,早就不能相信所谓的媒体和舆论,我们有着自己的思维和判断力,也无需辩论是非,也别抱着任何期盼!多了一份麻木,学会淡定,再淡定!
其实我很少用Google.cn,我生活在互联网,我的互联网没有国界~为了不忘却这个特殊的纪念日,我还是呢喃一篇,不要忘却Google的记忆!

1sters.com域名成功转出到Godaddy

终于收到邮件:

Congratulations! The transfer request for the following domain name(s) has been completed:
1STERS.COM

历尽很多次的交涉,希望和失望,气愤和感慨,我的域名1sters.com终于转出到Godaddy了,终于有了一个满意的结果。
期间发生了很多事情,大致提几个,域名开始是在万网的一个三级代理(之前网上认识的一个朋友)注册的,而他是在一个很不正规的,不靠谱的二级代理商注册的;后来我这个朋友不怎么上网,我差点续费无门丢失域名,还好联系到要到了他的三级代理的帐号,才一直在那个二级代理那边续费一直使用到今天。
但是越来越觉得不安全(从代理那边可以做任何事情),于是一直想转出,查了N多资料后得到的结论是:万网不是一个好说话的主,转出手续复杂的很。像我这个在代理注册的还得线转回万网,才可以办理转出手续,转出手续中包括邮寄N多证明材料,无语。
过程很复杂,我从开始操作得时候记录过一个Doc文档,内容很精彩,但是比较杂乱,等我有空了整理出来,这里说几个关节点:
1. 万网要求我必须将找注册得那个代理商将域名转回到万网我自己得ID上才可以办理转出;
2. 代理商以这个为理由,要收我200块钱手续费(BS一下),被我以正规理由否决后,立马提价到400,hoho,不欢而散(我肯定会说要投诉他)。
3.两边踢皮球,我没抱太大希望,一边寻找好得域名重新注册,一方面看是否又其他途径解决问题;
4.然后发现很多人提到可以去ICAAN投诉万网,于是按照网上得投诉范本,投诉了一次;
5.然后就被其他事忙忘了,自然我也注册了新得域名(ysler.com)备用;
6.N天后收到那个代理商转来得邮件,惊奇得发现投诉起作用了,ICAAN找了万网麻烦,万网就去找那个代理商得麻烦,以为代理商投诉得,自然最后就找到了我;
7.万网要我和代理商协调转回到万网,再给我办转出,协调结果,代理商坚持要我给100元手续费,再次被我否决,再次不欢而散;
8.我给万网和代理商发了邮件,阐述问题,并告诉他们如果在这样踢皮球得话,我会一直去ICCAN投诉(后来没时间投诉了,呵呵)
9.过了几天,邮件貌似生效了,万网一个客服给我邮件,发来了转移密码(我也没邮件身份证明材料等);
10.喜,感觉去Godaddy办理转入(之前办理过一次,被万网拒绝转出了),然后给万网发邮件,说我得转出申请已经提交,尽快给我通过。
11.收到万网回复,说已经通过,13后将生效,然后等到14号发现还没成功,给Godaddy得support一封邮件,问问是咋回事;
12.不得不说,Godaddy得服务号很多,立即帮我查了原因,并告诉我现在需要5-7天得时间才能转过去;
13.再等,今天16号终于收到Godaddy的转出成功通知邮件,这个域名我终于放心了。

故事的梗概就是这样,期间很多次的交涉很有意思的,以后再分享,这里得出几个结论:
1.万网的很多手续都是人为设置的障碍;
2.万网很惧ICAAN的;
3.万网的服务质量提高了不少,但是还需要摆好心态,把自己的口碑做上去,现在的口碑很差了;
4.代理商的诸多的手续费之类的坚决不低头,不合理的就不给;
5.交涉过程需要做好功课,做到有理有据

android版本的客户端发布了

WP终于发布了android的客户端,以后可以随时发表博客了。
这个客户端还真不赖。

我记得从我06念开始工作时,当时公司里面就在测所谓的3G产品,一直到我08念离开第一家公司的时候,还是再喊3G牌照发放。

然后又过了多久后,3G终于发放,3个运营商,1家1张;

然后有过了不记得多少时间,用了一个杭州的3G联通的卡,在G1手机上,没感觉啥时3G,只是相同资费,多点流量的感觉。

然后再过了记不清多少时间,我自己在深圳电信营业厅买了一个电信3G无线上网卡,为啥选电信,也是大致比较了下3家,无疑这款不分漫游,不限流量按时间计费的无线网卡适合我的需求,只是电信的无线数据终端贵的离谱(好像也是市场价),淘宝了一个华为EC1261的,便宜不少,顺风送的,很快,第二天早上就送到了。

插卡,连USB,测试,很顺利,本来比较担心mac下支持的不好,还好只碰到了“找不到设备”,Google一把,又乱找了一通,找到一个设置的地方,新建一个连接,号码#777,密码用户名card(都默认填写好了),点击连接就连上了。

关了wifi,测试速度,比我预想的要好,参考图:

下了一个100M的东西,花了7分多,速度在200K之上,还比较稳定,如下

99% [============> ] 95,496,072 252K/s eta(英国中部时
100%[============>] 95,545,644 252K/s in 7m 23s

2010-02-02 10:26:17 (211 KB/s) – 已保存 “Tailing-Aaron.mov” [95545644/95545644])

然后在测试下我本地wifi(电信4M带宽)速度,惨不忍睹,如下

正在保存至: “Tailing-Aaron.mov.2”

0% [ ] 409,534 126K/s eta(英国中部时

0% [ ] 429,526 124K/s eta(英国中部时

0% [ ] 456,658 124K/s eta(英国中部时

竟然不如无线上网卡的速度~

用上无线上网卡,应该算进入3G时代了。

PS:
唯一不满意的地方就是这个无线网卡的设备有点大,我mac就2USB,被他占了一个后,另外一个耶盖住一点点,鼠标的USB插不进去了,难道还要买个USB分线器,冏~

深圳电信耍流氓,劫持浏览器

今天无意发现在浏览器的左下角经常出现一个页面无法打开的提示,如下
The webpage at http://121.15.207.133:4022/logo.jpg?p=undefined|778|1276|24|800|1280might be temporarily down or it may have moved permanently to a new web address.

看其样式是请求了一个121.15.207.133上的一个logo图片,然后传入了几个参数,但是这个图片的服务器貌似除了电问题,导致请求不到。
无缘无故的,咋会去请求这个玩意呢,查了吓这个IP归属,属于:

ip138.com IP查询(搜索IP地址的地理位置)
您查询的IP:121.15.207.133
本站主数据:广东省深圳市 电信
参考数据一:广东省深圳市 电信
参考数据二:广东省深圳市 电信

是深圳电信的,Google下这个IP地址,发现有人(不多)也提到了这个问题,顺藤摸瓜找到月光的一篇2007年文章《中国电信又开始耍流氓啦》,描述的差不多是同样的情况。
不晓得邪恶的电信又在监控啥数据,明天警告一下去。

友链没了,需要链接的请留言

数据导出的时候只顾导出文章和评论,没注意到友情联系,加上有一些链接已经失效了,也就不想回去找了,需要链接的朋友给我留言,看到后我会添加的。

blog迁移完,继续写

前段时间原来用的slicehost的VPS不想用了,其速度越来越慢,特别是SSH的时候超级慢,导致我每次SSH都是煎熬,终于下定决心抛弃。
后来购买了linode,说实在的,linode比slicehost要好用,特别是数据migrate的时候,真是一件幸福的事情,本来linode的VPS早就买了,只是这些天从北京到深圳,一直有很多事情在折腾,也没来得及将之前的blog内容恢复。
昨天夜里看到闲逛到一个朋友的地盘,其记录了4年的广州生活,旅游,点点滴滴,很不错,今天得闲就把自己的blog恢复了~
还好,数据我全部都备份了,导入导出还算顺利,折腾了一会PHP,倒是顺利,这个blog还是主要记录我的技术话题,生活blog内容不在这里写很多。
回头看下,我这个blog貌似从2007年5月就开始写了,到现在也差不多2年多了~

有个需求,给定一个数组,然后给出一个变量,需要在这个数组中找到和这个变量得值最接近得那个元素,开始用find或者select都不是很合适,最后找到inject,很好得解决了这个需求,现在记录下:
首先看下inject这个函数

enum.inject(initial) {| memo, obj | block } => obj
enum.inject {| memo, obj | block } => obj
Combines the elements of enum by applying the block to an accumulator value (memo) and each element in turn. At each step, memo is set to the value returned by the block. The first form lets you supply an initial value for memo. The second form uses the first element of the collection as a the initial value (and skips that element while iterating).

# Sum some numbers
(5..10).inject {|sum, n| sum + n } #=> 45
# Multiply some numbers
(5..10).inject(1) {|product, n| product * n } #=> 151200

# find the longest word
longest = %w{ cat sheep bear }.inject do |memo,word|
memo.length > word.length ? memo : word
end
longest #=> "sheep"

# find the length of the longest word
longest = %w{ cat sheep bear }.inject(0) do |memo,word|
memo >= word.length ? memo : word.length
end
longest #=> 5

然后根据我得需求,写出一个函数如下:

# find the min abs size
def self.select_h(h)
if ALL_FORMATS.include?(h)
return h
else
ok_size = ALL_FORMATS.inject do |i,j|
(i-h).abs < (j-h).abs ? i : j
end
return ok_size
end
end

首先看是否包含这个变量,如果又,直接返回,如果没有就inject来取一个最合适得。

Page::页面

Calendar::日历

September 2010
M T W T F S S
« Aug    
 12345
6789101112
13141516171819
20212223242526
27282930  

RSSTwitter: iceskysl