
调试
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 · 837 阅读 · 0 评论 -
ObjC逆向工程
ObjC逆向工程最近做iOS逆向的人是越来越多,什么公司火什么技术就越有人研究。想当年微软牛的时候,也被人翻个底朝天。这里只是分享一下个人心得。逆向ObjC写的代码,下面几个东西一定要必备。class-dump 查看类定义必备神器。ObjC也是一种比较动态的语言,一般来说动态语言的代码都比较容易分析,因为方法、类等信息都是字符串。如果有虚拟机,代码都有人能反编译出来(当然,这一原创 2013-09-28 21:31:50 · 1673 阅读 · 0 评论 -
Objective-C 函数参数汇编分析
作者:ani_di 版权所有,转载务必保留此链接 http://blog.youkuaiyun.com/ani_diObjective-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 · 4237 阅读 · 0 评论 -
Mac OS X 命令行调试工具
ToolDocumentationSummarygdbmanual page, Debugging with GDBCommand line debuggerdtracemanual pageDynamic, comprehensive and sophi原创 2012-08-21 11:01:34 · 4993 阅读 · 0 评论 -
反调试技术
原文链接:http://www.cnblogs.com/killmyday/archive/2011/05/31/2063891.html在调试一些病毒程序的时候,可能会碰到一些反调试技术,也就是说,被调试的程序可以检测到自己是否被调试器附加了,如果探知自己正在被调试,肯定是有人试图反汇编啦之类的方法破解自己。为了了解如何破解反调试技术,首先我们来看看反调试技术。转载 2012-08-11 17:54:41 · 1066 阅读 · 0 评论 -
OllyDbg调试iTools
【本文仅限技术交流,无其他目的】调试版本 iTools 2012 Bata (0523) 1. 初次使用时,发现iTools会把我的OllyDbg关闭,IDA也不能幸免,看来它已经做了反调试的工作了。通过Process Explorer观察,发现他会每隔几秒钟启动一个线程,初步怀疑是这个线程引起的。在IDA中搜索一下TerminateProcess的引用,在附近发现了Proce原创 2012-08-09 21:52:22 · 1283 阅读 · 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 · 938 阅读 · 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 · 5894 阅读 · 0 评论 -
Unix调试利器之——lsof
lsof全称为"list open file"(列出打开文件)。除了调试程序外,我们也可以来解决一些日常问题,比如删文件时提示正在被使用;把设备时无法弹出等。现列出几个比较常用的操作列出所有打开的文件# lsof数量会有点多,自己慢慢grep找到谁的使用某个文件# lsof /path/file这个在查找具体文件时有用递归查找某个目录原创 2012-02-17 15:01:11 · 754 阅读 · 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 · 13845 阅读 · 0 评论