
调试
ani_di
喜欢收集有趣的面试题;python程序员。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Unix调试利器之——内存断点
内存断点又称为“数据断点”,貌似vs是从2008才开始有的,gdb出现得比较早。 gdb的内存断点又称之为Watchpoint,它可以监视: 某个变量的值某个地址所指向的数据。例如, `*(int *)0x12345678'会监视它指向的4字节数据。任一复杂的表达式,比如 `a*b + c/d'。 设置watchpoint的命令是watch,格式是 watch [-l|-locat转载 2012-02-17 15:16:27 · 849 阅读 · 0 评论 -
ObjC逆向工程
ObjC逆向工程 最近做iOS逆向的人是越来越多,什么公司火什么技术就越有人研究。想当年微软牛的时候,也被人翻个底朝天。 这里只是分享一下个人心得。逆向ObjC写的代码,下面几个东西一定要必备。 class-dump 查看类定义必备神器。ObjC也是一种比较动态的语言,一般来说动态语言的代码都比较容易分析,因为方法、类等信息都是字符串。如果有虚拟机,代码都有人能反编译出来(当然,这一原创 2013-09-28 21:31:50 · 1698 阅读 · 0 评论 -
Objective-C 函数参数汇编分析
作者:ani_di 版权所有,转载务必保留此链接 http://blog.youkuaiyun.com/ani_di Objective-C 函数参数汇编分析 环境 Mac OS X 10.7.5,Xcode 4.3.2,64-bit,Debug,lldb 先看三个简单的方法 -(void)print { NSLog(@"0"); } -(void)print:(NSStr原创 2013-05-21 11:51:02 · 4261 阅读 · 0 评论 -
Mac OS X 命令行调试工具
Tool Documentation Summary gdb manual page, Debugging with GDB Command line debugger dtrace manual page Dynamic, comprehensive and sophi原创 2012-08-21 11:01:34 · 5122 阅读 · 0 评论 -
反调试技术
原文链接:http://www.cnblogs.com/killmyday/archive/2011/05/31/2063891.html 在调试一些病毒程序的时候,可能会碰到一些反调试技术,也就是说,被调试的程序可以检测到自己是否被调试器附加了,如果探知自己正在被调试,肯定是有人试图反汇编啦之类的方法破解自己。为了了解如何破解反调试技术,首先我们来看看反调试技术。转载 2012-08-11 17:54:41 · 1088 阅读 · 0 评论 -
OllyDbg调试iTools
【本文仅限技术交流,无其他目的】 调试版本 iTools 2012 Bata (0523) 1. 初次使用时,发现iTools会把我的OllyDbg关闭,IDA也不能幸免,看来它已经做了反调试的工作了。通过Process Explorer观察,发现他会每隔几秒钟启动一个线程,初步怀疑是这个线程引起的。 在IDA中搜索一下TerminateProcess的引用,在附近发现了Proce原创 2012-08-09 21:52:22 · 1297 阅读 · 0 评论 -
简易C/C++日志
C/C++没有标准的日志库,很多人使用printf直接代替。但它有个缺点,就是不能对输出信息进行分级控制。使用log4cpp等似乎太重量级了。这里我给一个我自己经常使用的几个简单的日志函数 #include #if defined(DEBUG) #define debug(...) {fprintf(stderr, __VA_ARGS__); fflush(stderr);} #else原创 2012-03-27 09:54:58 · 960 阅读 · 0 评论 -
Unix调试利器之——gdb jump
在调试时有时不小心跳过了某个函数,又不想重新运行一遍。简便的方法是直接把PC寄存器的值设到前面位置。但是,通常情况下,我们不知道其PC的位置。这时我们需要j(jump)命令。 jump 行号 jump 位置 行号可以是:1.数字;2.(+/-)偏移;3.文件名:行号; 位置可以是:1.函数名;2.文件名:函数名;3.*内存地址; jump命令类似于C语言的goto,是比较强硬的跳原创 2012-02-22 10:05:13 · 5923 阅读 · 0 评论 -
Unix调试利器之——lsof
lsof全称为"list open file"(列出打开文件)。除了调试程序外,我们也可以来解决一些日常问题,比如删文件时提示正在被使用;把设备时无法弹出等。 现列出几个比较常用的操作 列出所有打开的文件 # lsof 数量会有点多,自己慢慢grep 找到谁的使用某个文件 # lsof /path/file 这个在查找具体文件时有用 递归查找某个目录原创 2012-02-17 15:01:11 · 773 阅读 · 0 评论 -
解决 CGBitmapContextCreate: unsupported parameter combination 错误
苹果再一次调皮了。 - (void)drawRect:(CGRect)dirtyRect { CGRect bounds = [self bounds]; CGContextRef context = UIGraphicsGetCurrentContext(); CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB();原创 2013-12-07 17:22:43 · 13876 阅读 · 0 评论