I'm back

许久没更新博客了,装修房子这事儿实在是太忙了,比上班还累,劳神劳心费时间。不多废话,Let's see the checkpoint and milestones:

生活

新房,装修

工作

L1签证办好了,可以出差美帝了,可以有本事带老婆出国生小孩了。读小学时候总是有听说那些移民美国的中国人,读大学了还羡慕那些去美国读书在美国上班的别人家的孩子。Right now,我这也算是具备申请绿卡的第一步条件了,却没有了太多的想法,杭州的工作生活也挺好的,最重要的是家人都还在中国呢

业余

给三个github上的repo贡献了代码,一个10000多星的(fastlane),一......

新琴首秀之《梦中的婚礼》MARIAGE D'AMOUR

在乌云提交一个漏洞成功并注册成为白帽子

厂商确认了,并且给评价等级为中,给了rank10。

从去年我想开始注册乌云帐号开始,终于自己有能力提交一个简单的漏洞了,YES!

参加ArchSummit2015有感

作为一个才上班一年多的新人,可以和公司的高级领导,architect,principalSE一起参加架构师峰会,深感荣幸,感谢一下我司MSTR出的门票钱和我的leader对我的信任。

简介

为期两天的会终于结束了,内容非常丰富,很多很多有价值的分享,听都听不过来,时间上略紧,两天结束了,人也有些疲劳。

这次代表公司来参加这个会议,我最大的收获就是这个词:微服务

微服务

微服务这个概念:AWS,JavaChampion,青云,七牛等等都重点提到了若干次。并且很多创业公司都在使用docker(或者其他虚拟化,资源隔离)来做自己的微服务,土豪公司都花钱从aws买各种微服务。

请自行goo......

iOS逆向工程学习日记3--实践

Results:

学会了使用反汇编工具hopper,找了一些个程序,试了试,有的二进制文件还是比较容易分析的,有的比较难,我暂时还不会。我搞定的成果如下:

Mac OS X,迅雷,VIP离线下载权限

Mac OS X,iExplorer,免注册

iOS,搜狐视频,跳过所有广告,解除美剧下载限制

update:

iOS PPTV,乐视视频,可以观看VIP影片

 

Key:

改掉几个函数的返回值就好了,类似isRegister这个函数或者isVIP这样的函数,看看逻辑,分析分析代码流程,再把关键位置的汇编代码改掉,即可。

x86汇编指令,mov eax, 0x1,把数......

iOS逆向-学习日记2-Mac OS X上的工具

这一次,主要是按照别人的教程,把Mac上逆向工程有关的工具挨个试了个遍。先说几个重点的:Charles,Reveal,TheOS,IDA,Hopper。其中Charles,Reveal,IDA和Hopper都是收费的,且都有demo版本可以下载适用,TheOS是免费。

简介四个收费工具

Charles用于分析网络流量,模拟器,mac os x,device都可以搞定各种get post connect,header cookie分门别类一目了然。价格不贵。

Reveal主攻iOS UI,模拟器和device都行,对于越狱的设备可在cydia里装个插件,然后查看并且临时修改UI,利器。

IDA和Hopper,算作一类了,主要功能是二进制文件到汇编代码,和进一步的汇编代码到C语言代码。我亲自使用过后,着实感觉到工具的强大,十分的强大。再加上工具里各种代码块和控制流的显示,就算我只是一个逆向工程的外行,也知道这样的信息会带来多么恐怖的分析成果。IDA是各个平台的产品都有,价格上千美刀了。Hopper是只有Mac平台上的,价格几百块的样子。据学习过逆向工程的同事说,IDA还是很强大很流行的。

这四个工具的使用难度,Charles比较简单,Reveal略复杂一点。反汇编工具就超级复杂了。不过都有UI,自己可以一个个试着玩玩。

详细介绍Theos越狱开发工具

接下来说说花了我很多时间用来实践的Theos吧。一个跨平台的development kit,用于开发编译iOS软件的,without Xcode。越狱后的iOS所用的插件,Cydia上的那些工具,大都基于Theos开发的。

Python爬糗百热门20条并邮件分发+wxPython简易GUI+py2app转成可执行文件

学了一阵子Python,拿来做个什么有意思的东西呢?爬糗百好了,爬到的内容,邮件分发出去。

然后又啃了两天的wxpython,做了个简易的邮件管理界面,可以在这里增加或者删除邮件,并且一键爬虫发送。

最后,索性封装成APP吧,又试了一把py2app,简单好用。

由于是让用户自行添加和删除邮箱,所以程序一定要兼顾到各种情况:比如输入的邮箱格式不合法,输入的邮箱里包含中文字符,分隔符不对,删除了全部邮箱然后又要发邮件等问题。

Python @property装饰器

廖老师的博客链接如下,一开始没看懂,搜罗了一大堆,有点感觉了

点击打开链接

其实@property装饰器就是把class的方法变成属性,见下面这个class,它有两个私有属性。

通过第一个@property和第二个@score.setter,我们可以像访问属性一样来调用类里面的方法,例如:

s=Student(“David”,99)

s.score = 100

至于用这种装饰器的原因,我想,就是为了简洁吧,直接用属性赋值的方式,执行了方法。Python 肯定是个懒人发明的。

class Student(object):

def __init__(......

Python装饰器有趣实例探究

廖老师的教程实在太高深,没弄懂,点击打开链接

def deco_functionNeedDoc(func):
    if func.__doc__ == None :
        print func, "has no __doc__, it's a bad habit."
    else:
        print func, ':', func.__doc__, '.'
    return func
@deco_functionNeedDoc
def f():
    print 'f() Do something'
@deco_functionNeedDoc
def g():
    'I have a __doc__'
    print 'g() Do something'
f()
g()
print f
print g</pre>

这段代码打印结果如下:

<function f at 0x0238F930> has no**doc**, it&#8217;s a bad habit.

<function g at 0x0238F8B0> : I have a **doc** .f() Do somethingg() Do something

<function f at 0x0238F930>

<function g at 0x0238F8B0>

当时我就晕菜了,想了很久,原来在@装饰器函数的时候就会调用装饰器,装饰器函数return func,而func就是传进去的参数f。这个时候把代码改改。

That Cloud Services of CI

When we find some open source projects on github( e.g. ruby-cucumber). We can found some green icon to display the status of the project on the README.md file. Like these:

x

, it looks very attractive to me. Especially the build passing status and the code coverage. Even I’m not working for the CI in our company, I’m still interested in it.

When push some code to my code base, then automatically building the code, running tests, and showing the build status & code coverage real-time on the readme page, That’s COOL! When I look into more, the travis-ci.org and the coveralls.io are free for open source project on github.

Let me have a try.

Since recently I’m learning python. First, I created a helloworldpython project on my github.

The Travis-CI

it supports most popular languages. After signing in it with github account, open the service for my helloworld project. After the authentication for travis-ci, it will add an service for the project, we can found that on the setting of the project: