月归档:2011 年九月

BlackBerry反编译工具及使用(coddec)

BlackBerry上跑的可执行程序以cod格式存在,其开发者–RIM公司曾宣称该格式文件不可反编译.X年前牛Dr. {B0lsen}写了一个反编译.cod格式文件的工具—coddec,该工具可以从cod文件直接转换到.java文件.但是初始版本的coddec只可以反编译由jar打包生成的cod文件,而对于由JDE(BlackBerry集成开发环境)直接生成的cod却无能为力.又过了X久,有人给coddec打了patch,终于可以反编译出所有的cod.本文主要介绍coddec打补丁方法及使用.

发表在 移动开发 | 标签为 | 留下评论

Objective-C 语言

一.历史背景 Cocoa和Objective-C 是苹果公司Mac OS X 操作系统的核心。早在20世纪80年代早期,Brad Cox就发明了Objective-C ,意在将流行的、可移植的C语言与右眼的Samlltalk语言结合在一起。1985年,Steve Jobs 成立了NeXT公司,致力于开发强大且经济的工作站。NeXT 选择Unix作为器操作系统,创建了NextSTEP(使用Objective-C开发的一款强大的用具界面工具包)。在苹果公司在1996年收购NeXT之后,NeXT被重命名为Cocoa, 并得到了Macintosh编程人员的广泛认可。 二.Objective-C 简介 Objective-C 是一种面向对象C语言,设计的目的是为了进行高级的面向对象编程。面向对象的C语言被定义成堆标准C语言的小而强大的扩展集合。是对C语言的扩展但是基于SmallTalk语言,最早面向对象编程语言之一,设计面向对象的C语言是为了给C语言完全面向对象编程能力,通过一种简单直接的方法。 苹果的编译器基于GNU的编译器系列。Objective-C的语法是GNU C/C++语法的超集,并且Objective-C的编译器适用于C,C++和Objective-C的源代码。编译器识别Objective-C的代码文件时通过文件扩展名 .m ,就像它识别仅包括标准C语法的文件通过文件扩展名 .c , 同样的,编译器识别使用Objective-C 语言的 C++ 文件是通过文件扩展名 .mm 。 三.Objective-C 的特性 对象,类和消息 定义一个类 分配和初始化对象 协议 属性声明 分类和扩展 关联引用 快速枚举 启动静态行为 选择器 … 继续阅读

发表在 移动开发 | 留下评论

Sedna设计和实现介绍

Abstract Sedna是我们组前期的一个工作,关于该项目的文章、资料等内容还在进一步的整理中。本文中我们将大致的介绍一下Sedna的设计思路、实现细节以及下一步的工作,欢迎感兴趣的同学开始尝试了解该系统。 Introduction 云计算的核心在于对计算资源和存储资源的再整合与再分配。计算资源的划分和再整合通过虚拟化已经得到了比较好的解决,然而组合计算资源完成更大更困难的问题还没有得到完善的解决,这期间虽然提出了包括MapReduce在内的一系列技术方案,但是显然是不充足的。另外一个大问题就是存储资源的再整合与再分配,计算机存储能力的限制已经越来越明显,因为人们需要存储的数据越来越多。大量的分布式内存文件系统被提出来,尝试使用现有的硬件存储技术来解决大规模数据存储的问题,这其中比较典型的如Google FileSystem、Hadoop Distributed FileSystem、Dynamo、Cassandra、甚至Redis。Sedna虽然也被设计称为一种分布式的文件系统,但是它的初衷和要解决的问题与上面所述的文件系统有比较明显的区别:

发表在 科研论文 | 标签为 | 一条评论

otool详解Mach-o文件头部

1. Otool简介 Otool可以提取并显示ios下目标文件的相关信息,包括头部,加载命令,各个段,共享库,动态库等等。它拥有大量的命令选项,是一个功能强大的分析工具,当然还可以做反汇编的工具使用。   2. Mach-o基本结构 Mach-o包含三个基本区域: 头部(header structure)。 加载命令(load command)。 段(segment)。可以拥有多个段(segment),每个段可以拥有零个或多个区域(section)。每一个段(segment)都拥有一段虚拟地址映射到进程的地址空间。 链接信息。一个完整的用户级Mach-o文件的末端是链接信息。其中包含了动态加载器用来链接可执行文件或者依赖库所需使用的符号表,字符串表等等。  

发表在 科研论文 | 留下评论

iPhone代码解混淆

一、准备工具 1、otool 安装在iPhone手机上,用于读取二进制可执行文件的头部信息。也可以用其他工具代替,如:linux下objdump 2、gdb 安装在iPhone手机上,gdb的强大功能就不用说了,本案例中使用gdb从内存中读取程序二进制代码 3、grep 安装在iPhone上,功能就不说了 4、ps 安装在iPhone上,功能也不说了 3、openssh 安装在iPhone手机上,用于实现主机与iPhone之间进行通信 4、putty 安装在Windows主机上,方便主机与iPhone之间进行通信 5、winscp 安装在Windows主机上,方便主机与iPhone之间进行数据拷贝 6、UltraEdit 安装在Windows主机上,用于修改和分析二进制可执行文件文件

发表在 移动开发 | 留下评论

云计算中消耗power的源头

数据中心、云计算的功耗问题是现在研究的热点,这里主要讲述能耗消耗在哪些部分、各部分跟总能耗之间的关系等。 在衡量数据中心能耗有效性等问题时,有两个主要的衡量标准:Power Usage Effectiveness (PUE)和Data Center Infrastructure  Efficiency(DCiE)。PUE是现在衡量数据中心、云计算能耗有效性的标准,PUE是指消耗的全部能耗跟用于IT设备(servers, storage, and network )能耗比。现在是两个标准的计算公式:            

发表在 科研论文 | 一条评论

iPhone应用程序的签名机制

iPhone应用程序在运行之前,都必须经过iOS的签名验证。所谓签名验证,是iOS保证应用程序不会损坏、不被修改的一种手段。同时,程序中的签名也包含了开发者信息,这可以追踪程序的来源,并在一定程度上保证程序的质量。 如果一个iDevice没有越狱,那么它只能安装app store上的程序,这就是通过签名机制来保证的。相反,一个经过越狱的设备,iOS中的签名认证机制被Dev Team(破解iOS的某个团队?)从内核中分离出来,这就是为什么越狱设备可以安装非苹果认证程序。 但是现在出现一个问题,正式发布的程序中不仅包含一个签名证书,还有一个用来保证程序完整性的SHA1 。也就是说,如果你修改了程序的二进制代码(修改资源文件不会影响这个值),那么新程序将与其所携带的SHA1 不匹配,导致的结果是程序刚启动即被杀死。一些组织试图从内核中去掉哈希验证过程,但是这个值被内核中多个部分引用,所以,要完全去除难度很大。

发表在 移动开发 | 标签为 | 2 条评论

[转载] 暗时间

如果你有一台计算机,你装了一个系统之后就整天把它搁置在那里,你觉得这台计算机被实际使用了吗?没有。因为CPU整天运行的就是空闲进程。运行空闲进程也是一天,运行大数据量计算的程序也是一天,对于CPU来说同样的一天,价值却是完全不一样的。 大脑也是如此。 善于利用思维时间的人,可以无形中比别人多出很多时间,从而实际意义上能比别人多活很多年。我们经常听说“心理年龄”这个词,思考得多的人,往往心理年龄更大。有人用10年才能领悟一个道理,因为他们是被动领悟——只有在现实撞到他脸上的时候才感到疼,疼完了之后还是不记得时时提醒自己,结果很快时过境迁抛之脑后,等到第二次遇到同一个坑的时候早忘了曾经跌过跟头了,像这样的效率,除非天天摔坑里,否则遗忘的效率总是大过吃亏长的记性。善于利用思维时间的人则能够在重要的事情上时时主动提醒自己,将临时的记忆变成硬编码的行为习惯。

发表在 其他 | 标签为 , | 留下评论

WordPress 个性评论自定义头像设置和使用

wordpress互访的时候大家评论都留下了很多个性的自定义头像,这是这么实现的呢? 首先:进入自己的wordpress 后台——设置——讨论,接着找到‘头像’那部分做如下图修改;

发表在 其他 | 留下评论

使用latex,gnuplot完成论文的一些tips

在Linux或者Mac下写论文不可避免的要使用到latex、gnuplot等工具。这些工具的使用对一篇论文的好坏也有非常大的关系,这里记录一些基础的tips,以供日后写论文时使用。 Latex模板及其使用

发表在 科研论文 | 标签为 , , | 5 条评论