無標題文檔

我常用的 Mac 应用(2014)

上次盘点了下我常用的 iOS 应用,那么这次就盘点下我常用的 Mac 应用吧。个人主要用 Mac 来作应用开发以及一些日常事物,所以偏向开发类的工具多一些。

注:有部分软件是收费应用,由于售价实在无法接受以及国内的情况,在这里向原作者表示惭愧,同时再尽可能的情况下我会付款的。

Home Brew

可以说没有这应用我将少活好几年,感谢他节省了我不少的时间。

Chrome、Firefox、Safari

Chrome 是日常最常用的,同时目前的形式看来调试开发也越来越方便,而 Firefox 是备选。个人感觉在 Mac 下 Firefox 的性能不如 Chrome 甚至 Safari 要好。

鼠须管

拼音输入法,强烈推荐下。不过这个应用的配置可能不适合普通用户,普通用户就推荐使用百度输入法吧。

IntelliJ IDEA 社区版

对比上面说的 Home Brew,同时还要感谢 JetBrains 这家公司。IntelliJ IDEA 从 9.0 版本一直用到目前的 13.0,对比我此前对于 IDE 的抵触实在是感到惭愧。

WebStorm / PHPStorm

爱屋及乌吧,因为使用了 IntelliJ IDEA 以后也开始尝试 JetBrains 公司的其他 IDE,发现其他两个 IDE 也非常棒。这是两个收费的 IDE,但它的确值这个价钱。

MacVim

老朋友,自然不解释。

Mou

一个 Markdown 的编辑器,免费而且足够好用。我的这篇文章就是用这个编辑器打出的,感谢作者。

SourceTree

图形化的管理 Git 项目,有多种平台可以选择。在「偷懒」不想使用控制台的情况下使用 Git 是最方便的工具了,同时它还支持 Git Flow 非常的难得。

CodeBox

收集代码片段的工具,从 App Store 上下载的。应该有比这更好的工具,请您告知。

CodeRunner

代码片段测试工具,用它同样节省了不少的时间。

Sublime Text

也是个很流行的编辑器,但个人只是将其作为备用编辑器。

Photoshop CS6

这个就不解释了。

QQ for Mac

这个也不解释了,只是吐槽下最新版本的 QQ 集成的那个截图工具让我很反感。

Twitter for Mac

用来用去还是「官方」的吧。

Xee3

花了三美金入的,绝对值这个价格的看图软件。

1Password4

密码管理工具,能够改变你使用账户的习惯。虽然是收费软件,但还是想说它也值这个价钱。

阿里旺旺 for Mac

不吐槽了,只是觉得有总比没有好吧。

EverNote、圈点

很少记录些东西,同时对同步的需求也不大,不过的确是同类软件中做得最好的。

Alfred

说了那么多,入过不提这个恐怕有点过份,强烈推荐。用过的都说好。

Caffeine

防止机子休眠的小工具

CleanMyMac 2

清除部分缓存文件和垃圾,其实个人感觉没多大用处,但好歹算是个安慰剂吧。PS,原价比较贵但是它会经常搞低价打折。

Dropbox

嗯,大名鼎鼎的同步和备份工具,在国内的线路不是很好,但总有解决办法的 :)

Keka

强烈推荐的解压缩工具,虽然图标不是很好看。

Thunder(迅雷 for Mac)

Mac 平台下的迅雷比 Windows 下的清爽多了,而且该有的功能都有。

噢,你说怎么没有视频以及其他娱乐类的应用了?不好意思,已经很久没有在本地看视频了。最后,贴下桌面(似乎也很久没更换桌面图片了):

ScreenShot

-- eof --

我常用的 iOS 应用和插件(2014)

iPhone5

2013 这一年似乎改变了很多事情:我的 iPad 最终被「领导」霸占,我的看书习惯也从 iPad 转移到了 Kindle 上面,同时我买了台 iPhone5。正好在大年初一的时候,在无聊的催化剂下,终于从 iOS6 升级到了「娘泡的 iOS7」

所以,还是要例行总结下这一年来常用的 iOS 应用软件以及部分插件,也方便我以后再次手贱。

微信、QQ

这个就不用多说了吧,几乎我认识的所有使用智能手机的同学都在使用。

Chrome、Gmail

新版本的 Chrome for Mobile 支持代理压缩访问了(知道的自然知道这功能能用来干嘛),用 Gmail 客户端是因为个人觉得这玩意比 iOS 系统自带的好太多。Gmail 在 App Store 中国区市场无法下载,不过我想你总有办法安装上去的。

Fantastical

付费的日历应用,我还是要强烈推荐下。新版本的设计风格也完全转变为 iOS7 的风格,但使用起来丝毫没有不习惯的地方。

Instagram、InstaWeather

不多说,连续使用了好几年的照片应用。我的 Instagram 地址是 http://instagram.com/feelinglucky

搜狗地图、百度地图、高德地图

这几个地图应用各有优缺点。从我个人的使用经验来说,百度地图的交互更习惯些、搜狗地图的实时路况很及时,由于 iOS 系统在大陆使用的是高德地图,所以同时也安装上了高德地图。

网易新闻

新闻类的应用我就看网易的,习惯上往往就是瞟一眼标题然后就看评论了。

知乎

2013 年刷微博的时间少了,刷 知乎 的时间多了。

Quora

英文版的「知乎」(其实「知乎」是它的 CopyCat ),里面的质量比「知乎」还要高,同时当作英文阅读是非常好的选择。

Currency

强烈推荐的汇率转换工具,交互和风格我都很喜欢。

WeicoPro

新浪微博客户端,但是升级到新版本以后就感觉没以前的精致了,但不管怎么样至少比官方的要好。2013 年看来,微博的热度似乎已经逐渐退去,微信的朋友圈后来跟上了。

DoodleJump

唯一一个装在 iPhone 里的游戏,适合我这样的无游戏细胞的人。

快的打车

坦白讲它的广告推送挺让我反感的,但偶尔需要用的时候还是能帮得上忙。至于为何不用「滴滴打车」,那是因为其图标比「快的打车」还要丑。

Tweebot

非常好用的 Twitter 客户端,但是升级到 Tweetbot3 的时候还需要重新购买,这点作者有点不厚道。

Instapaper、Readabilty

简单的讲,喜欢 Readabilty 的界面风格,而同时喜欢 Instapaper 的转换效果(同时还能推送到 Kindle),因此两个就一起用了。

Digg

使用的频率没有 Quora 高,自从 Google Reader 关闭了以后,就转向使用 Digg Reader 了。

豆瓣阅读

因为有 Kindle 了,所以阅读的事情都在 Kindle 上进行了。至于为何还保留,那是因为里面还有余额,同时部分原装的小文其实闲暇的时候看看也不错。

豆瓣电影

看影评的时候用

有道词典

用到频率不多,几乎是免费里面最好用的了吧。

土豆

好吧,装这个只是为了每周看一次「火影忍者」。

淘宝、支付宝

因为使用 Mac 同时发现手机上支付更方便,因此现在养成的习惯就是将物品扔到购物车里,然后再使用手机支付。这里要吐槽下支付宝的客户端,每次改版都要适应下,真心觉得很困扰。

随手记

记账类的应用,算起今年已经使用第三年了,同步数据功能很好用。

--

同时对比 2013 年的列表,纪念下对于我而言那些已经你「死去」的应用。

Reeder

仅仅用这个应用来纪念死去的 Google Reader,没有其他原因。

GoodReader & Kindle for iOS

因为有了 Kindle,所以很少在手机上阅读书籍类的文字了,因此这些应用也就束之高阁了。

Echofon

虽然是老牌的 Twitter 客户端,但是 Tweebot 更好用。

--

越狱插件

我的 iPhone 越狱了,主要原因就是想安装下面的一些插件。

AdBlocker

去除部分广告,不过似乎效果不是很明显?

AskToCall

拨打电话之前确认下,防止误拨。

百度输入法

因为习惯的问题,其实 iOS7 的九宫格输入法已经很好了。

BrowserChooser

能设置默认浏览器跳转,我将它设置成了 Chrome 浏览器,同时似乎它和 Gmail 配合得很好。

f.lux

屏幕色温调整,适合我这种那手机来阅读的人。

Photo Info

查看照片的 exif 信息,和系统集成得很完美,作者还是国人强烈推荐。

NoSpot iOS 7

个人不是很喜欢 Spotlight for iOS ,因为有隐私方面的问题,同时用得也很少,所以就用这个插件将它关闭了。

-- eof --

Android 的 apk 包的反编译和破解初步

_注:此信息仅仅是作为技术研究使用,请勿用作非法用途。同时本团队的应用已经针对破
解有了对应的措施,并保留追求责任的权利。_

前些日子看到公司的应用被破解同时在论坛里流出,所以了解了下 Android 相应的应用破解原理以及过程。

首先,下载相应解开 apk 的工具包:

https://code.google.com/p/android-apktool/

下载完了以后得到个 jar 包,我们运行

java -jar apktool.jar

就可以得到它的用法。我这边直接解压缩相应的 apk 包:

java -jar apktool.jar decode origin-v1.0.apk

解压完毕以后,在本地目录就可以看到多出来个文件夹,里面包含了 apk 的原始资源等数据。

https://friable.rocks/_/2013_11_28/1385608157@640.png

其中,最重要的就是 smali 目录,它对应的是原始 Android 项目的 src 目录,也就是 Java 源文件。不过 smali 有点类似「Java 的汇编」,详细有关 smali 的信息可以在这里得到:

https://code.google.com/p/smali/

下面,比如我们已经知道原来应用注册的位置,例如 Activity 的入口,那么我们就从这里开始切入。

https://friable.rocks/_/2013_11_28/1385608119.png

我们很容易得就能得到相应的激活注册模块的方法在哪里,例如下面的 parseActive 方法就是判断 JSONObject 是否包含了注册信息。

.method public static parseActive(Lorg/json/JSONObject;)Lcn/dxy/android/medicinehelper/api/model/Active;

从大体的阅读源码来看,这个方法主要的功能就是解析服务器返回的 JSON 信息,然后根据返回判断是否注册。那么,我的思路就是修改方法,无论服务器返回什么都返回已经注册。

https://friable.rocks/_/2013_11_28/1385608183.png

看程序代码段中,有段为

.line 35
const-string v3, "active"

invoke-static {p0, v3, v4}, Lcn/dxy/sso/util/AppUtil;->getJsonBooleanValue(Lorg/json/JSONObject;Ljava/lang/String;Z)Z

move-result v1

.line 36
.local v1, active:Z
if-nez v1, :cond_0

.line 37
invoke-static {p0}, Lcn/dxy/sso/entity/ErrorType;->constructErrorBody(Lorg/json/JSONObject;)Lcn/dxy/sso/entity/ErrorType;

move-result-object v2

其中,有个语句 if-nez v1, :cond_0 很关键,因为这个语句下面就是错误信息了(v1 的值是 JSONOBject 过来的 activte 字段的内容)。那么可以判断,这个 if 就是主要判断语句,写成伪代码也就是

if (!active) {
    showError();
    return;
}

// Activited

所以我将这个判断的内容始终改成 true,查询 smali 的语法,简单的修改如下

if-eqz v1, :cond_0

也就是做了个相反的判断,虽然这样子正常的激活码就无法注册,但根据逻辑只要输入格式对应的激活码都可以激活了。

修改完成了以后我们需要重新打包成 apk 文件,这里还是要用到上述的 apktool 工具,做个相反的操作即可:

java -jar apktool.jar build <origin-v1.0-dir> new-v1.0.apk

注意,这时通过 apktool 生成的 apk 文件是没有经过签名的,直接 adb install 是无法
安装的,会报 INSTALL_PARSE_FAILED_NO_CERTIFICATES 错误。

因此,我们需要将其前面以后再安装,这里有 Google 相应的文档阐述如何签名 apk 包:


https://developer.android.com/tools/publishing/app-signing.html

当然使用了自定义前面的 apk 包以后您就无法安装和升级官方的 apk 包了。

https://friable.rocks/_/2013_11_28/1385608067@640.png

完成上述步骤了以后,我们安装打开已经经过修改的应用,发现随便输入任何激活码就可以完成本地激活了。

- eof -

我的照片

嗨!我叫「明城」,八零后、码农、宁波佬,现居杭州。除了这里,同时也欢迎您关注我的 GitHubTwitterInstagram 等。

这个 Blog 原先的名字叫 Gracecode.com 、现在叫 「無標題文檔」 。 要知道作为码农取名是件很难的事情,所以不想在取名这事情上太费心思。

作为八零后,自认为还仅存点点可能不怎么被理解的幽默感,以及对平淡生活的追求和向往。 为了避免不必要的麻烦,声明本站所输出的内容以及观点仅代表个人,不代表自己所服务公司或组织的任何立场。

如果您想联系我,可以发我邮件 `echo bWluZ2NoZW5nQG91dGxvb2suY29tCg== | base64 -d`

分类

搜索

文章