摘要: 1.smbutilsmbutil [-hv] command [-options] [args]描述:smbutil用来控制SMB requester 以及执行不同的命令命令和可选项是: help command : lookup [-w host] [-t node_type] [-e] name 将name转变为IP地址。NetBIOS名称服务可以通过 -w选项直接指定(直译不是很懂),NetBIOS名字类型可以被指定通过-t,名人情况是lookup文件servers. For a complete list of name type please see "http://s.. 阅读全文
posted @ 2013-01-05 09:29 I_O_S 阅读(1281) 评论(0) 推荐(0) 编辑
摘要: 7.1为什么要动态链接用动态链接的原因是因为静态链接有这样那样的问题。对比二者我们可以总结出静态链接的俩大缺点,和动态链接的两大优点:(1)静态链接浪费内存和磁盘空间静态链接会把所有链接到的库装载入内存,而却这些库装载入内存后只能给进程自己使用,不能共享给别的程序进程使用。用书中的例子说,1个程序需要用100MB的内存,那么100个程序就要用100MB,对空间的浪费很严重。(2)程序的更新和升级书中的原话就是,程序中有任何模块更新,整个程序都需要更新重新链接,十分麻烦。因此与此对立的就是动态链接库的优点:(1)当然是节省空间,同样的库只需存在一份副本即可(2)便于升级,便于编写插件,便于跨平台 阅读全文
posted @ 2013-01-03 22:24 I_O_S 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 1.程序如何被操作系统装载到内存中运行?(1)覆盖装入这种方法基本被淘汰了,但书上说它体现的思想有借鉴意义。再嵌入式内存受限条件下,特别是诸如DSP等,或与有用武之地。(什么是DSP?????)覆盖的大概原理就是加入程序有AB俩个模块。AB可以共享一块内存区域,当用到A时把A调用进来覆盖掉B,或B的某部分。当需要B时同理。(2)页映射这个大家应该再熟悉不过了。就是把程序分成页之后,程序中的页和内存总的页存在对应关系。(谁对应谁无所谓)。用到谁的时候就把谁给调用进来。至于把谁替换出去,就要看操作系统的选择的算法了。比如FO(first in first out~~)2.从操作系统看可执行文件的装 阅读全文
posted @ 2013-01-03 22:22 I_O_S 阅读(314) 评论(0) 推荐(1) 编辑
摘要: 今天学习了iphone hack handbook 的How Code Signing Enforcement Works这一章。感觉还是比较难得。但是难也要学习,那我就干脆尽量翻译下吧。当可执行代码被装载的时候,内核会检查她是否包含代码签名标志。这个标志是LC_CODE_SIGNATURE。内核代码会寻找并解析她,再XNU的bsd/kern/mach_loader.c中,我们会找到相关的功能函数parse_machfile函数。parse_machfile( struct vnode *vp, vm_map_t map, thread_t thread, struct mach_heade. 阅读全文
posted @ 2012-12-27 23:25 I_O_S 阅读(562) 评论(0) 推荐(0) 编辑
摘要: 最近在学习NSThread的应用,既然学习了NSThread就免不了学习CFRunLoop。今天便学习了给Loop添加timer的方法。直接贴代码。#import <CoreFoundation/CoreFoundation.h>//#import "AppDelegate.h"static void _timer(CFRunLoopTimerRef timer __unused, void *info){ // CFRunLoopSourceSignal(info); (*(int *)(info))++; NSLog(@"%d",*(in 阅读全文
posted @ 2012-11-22 23:19 I_O_S 阅读(909) 评论(0) 推荐(0) 编辑