
逆向分析
文章平均质量分 78
stackoverlow
这个作者很懒,什么都没留下…
展开
-
第三篇:逆向之快速排序
下面是这次逆向分析的C源代码,优化选项是O2,不过严重怀疑O2和无优化是不是没区别对于这种小程序来说。。。 #include #include #include #define MAX 100 #define SWAP(x,y,t) ((t)=(x),(x)=(y),(y)=(t)) void QuickSort(int p[],int start,int end) {原创 2012-05-06 17:02:11 · 619 阅读 · 0 评论 -
C++反汇编与逆向分析技术揭秘小笔记
题记:分析能力很大程度体现在分析效率上,语法细节乃至数据代码间的复杂性不应该成为主要困难 所谓逆向分析,不应该只是单纯的逆向代码,真正目标应该是逆向出代码作者的思维、意图 即透过代码分析意图 第二章: 编译器一旦发现代码中有浮点计算,则初始化浮点寄存器 汉字编码方式有些特殊,ascii和unicode都有与之匹配的编码格式,所以即使汉字使用2个字节,在char型字符串中任然原创 2012-06-29 20:23:07 · 3253 阅读 · 0 评论 -
第九篇:逆向之hanoi塔
没耐心逆复杂的了,就搞搞这个递归的 版本:Release 优化选项:O2 调试工具:OD 源码: //Hanoi塔(递归版本) #include #include #define Tower1 1 #define Tower2 2 #define Tower3 3 void towers_of_hanoi(int, int, int, int); int mai原创 2012-05-06 17:13:26 · 567 阅读 · 0 评论 -
第八篇:逆向之KMP算法
版本:Release 优化选项:O2 调试工具:OD 源码: #include #include #include #define MAX_SIZE 100 char fail[MAX_SIZE]; void failure(char* pat) { int n=strlen(pat); int i,j; fail[0]=-1; for(j原创 2012-05-06 17:11:04 · 807 阅读 · 0 评论 -
第七篇:逆向之循环数组队列
由于最近看了点除法优化的东西,这里就特意逆一个用取模比较多的程序吧,权当熟悉 版本:Release 优化选项:O2 调试工具:OD 源码: #include #include #define FALSE 0 #define TRUE 1 #define MAX_SIZE 6 int capacity=MAX_SIZE; enum {EXIT,ADD,DEL,SH原创 2012-05-06 17:10:29 · 887 阅读 · 0 评论 -
第一篇:逆向之hash算法
此算法为hash中比较简单的线性探测法,代码优化选项OD(无) 顺便说句,这些算法实现大多会拿我在学数据结构的时候自己实现的或者书上的,所以风格编码肯定不能和百度到的那些比,权当练练手,不过物尽其用吧,也不枉费当时特意把这些代码保存下来,嘿嘿 以下为C的算法代码: //线性探测 #include #include #include #include #define原创 2012-05-06 16:51:33 · 4442 阅读 · 0 评论 -
第二篇:逆向之选择排序
这次是直接在维基复制来的代码,就单分析排序的函数 // selection sort function module in C void selectionSort(int data[], int count) { int i, j, min, temp; for (i = 0; i < count - 1; i++) {原创 2012-05-06 16:59:10 · 1479 阅读 · 0 评论 -
第六篇:逆向分析之LSD基数排序
版本:Release 优化选项:O2 调试工具:OD 源码: //LSD基数排序(桶排序,模拟队列实现) #include #include #include #define MAX_SIZE 11 //PS:set nodes number void listsort(int a[],int link[],int n,int first); int di原创 2012-05-06 17:09:26 · 908 阅读 · 0 评论 -
第五篇:逆向之二路归并排序
版本:Release 优化选项:O2 调试工具:OD 源码: //二路归并排序(递归实现) #include #include #include #define MAX_SIZE 10 void merge(int init[],int mergesort[],int left,int mid,int right) { int i=left,j=mid+1;原创 2012-05-06 17:07:08 · 818 阅读 · 0 评论 -
第四篇:逆向之堆排序
版本:Release 优化选项:O2 调试工具:OD 源码: //堆排序 #include #include #include #define MAX_SIZE 10 #define SWAP(x,y,t) ((t)=(x),(x)=(y),(y)=(t)) void adjust(int a[],int rootn,int n)//调整堆 { in原创 2012-05-06 17:05:48 · 918 阅读 · 0 评论 -
gdb调试器自定义命令
用惯了OD,感觉gdb实在是不够用,好在gdb提供宏命令编程,令gdb有无限的可能另外gdbtui可以启动gdb的文本UI模式,可以让gdb看起来稍微有点像图形化调试器了~目录下.gdbinit 配置: # Init parameters,ms style for asm set output-radix 0x10 #set disassembly-flavor intel define g原创 2013-08-13 23:40:46 · 1324 阅读 · 0 评论