查看反汇编主要的思路在于将流程,处理,算法区分开来。1 函数调用:原C代码:int sum(int, int);int main(){ int c = sum(1, 2); printf("c=%d", c); return 0;}int sum(int a, int b){ ...
分类:
其他好文 时间:
2015-01-05 12:39:56
阅读次数:
282
u-boot-2010-06
顶层目录下的config.mk文件主要完成如下功能的配置:
1、确定生成可执行文件过程中需要的各种工具,如编译器(arm-linux-gcc)、连接器(arm-linux-ld)、反汇编器(arm-linux-objdump)等
2、确定CPU、板相关的配置文件,存在于各个目录下的config.mk
3、确定编译、链接、转换等过程的操作选项
4、根据步骤3确定的编译连接选项生成需要的文件...
分类:
其他好文 时间:
2015-01-04 15:21:06
阅读次数:
176
3.Arm机器码
首先汇编程序转化为机器码,才能在机器内运行。
首先我们对上面的裸机的代码中生的.elf文件进行反汇编:
start.elf: file format elf32-littlearm Disassembly of section .text: 50008000 :
.text
.gl...
分类:
其他好文 时间:
2015-01-03 17:08:49
阅读次数:
441
最近看《加密与解密》这本书,他的第一个例子是用查找字符串的方式完成的,但是现在很多软件无法用这种方法完成。作为一位菜鸟,想研究一下利用API断点的方式完成反编译。就用了这个最简单的序列号保护程序作为练手工具了。首先打开Ollydbg打开要破解的软件,添加API断点。当然之前已经运行过软件了,大致知道...
分类:
其他好文 时间:
2014-12-23 01:28:25
阅读次数:
189
一、前言
本文是逆向分析CM4系列的最后一篇,我会将该游戏的序列号验证机制分析完毕,进而编写出注册码生成器。
二、分析第二个验证循环
延续上一篇文章的内容,来到如下代码处:
图1
上述代码并没有特别需要注意的地方,只是知道了接下来的循环需要执行4次。下面就是重要的验证部分:
图2
这是注...
分类:
其他好文 时间:
2014-12-18 09:16:13
阅读次数:
176
一、前言
在上一篇文章的最后,我已经找出了关键的CALL语句,那么这篇文章我就带领大家来一步一步地分析这个CALL。我会将我的思路完整地展现给大家,因此分析过程可能略显冗长,我会分为两篇文章进行讨论。在整个分析过程中,我也会把我所遇到的瓶颈展示出来,毕竟我在实际分析时,也并不是一帆风顺的,遇到瓶颈属于正常情况,关键是在于应该怎么解决。考虑到绝大部分读者手中应该是没有CM4这款游戏...
分类:
其他好文 时间:
2014-12-18 09:16:10
阅读次数:
226
在cmd输入javap显示,前提你电脑的java环境要配置好 用法:?javap?<options>?<classes>
其中,?可能的选项包括:
??-help??--help??-?????????输出此用法消息
??-version????????????...
分类:
编程语言 时间:
2014-12-16 21:11:24
阅读次数:
324
个人原创,转帖请注明来源:cnblogs.com/jailbreaker先看2段代码:第一段代码main里面没有任何语句,第2段代码是返回0值,这2段代码的反汇编是一样的,看下图:一共 2行汇编代码,第2行 bx lr 代表返回到main调用之后的语句,而第一行 movs是 mov的扩展,最后字母s...
分类:
移动开发 时间:
2014-12-14 17:07:52
阅读次数:
150
C/C++中在栈上开辟内存是最常见的,而且只要是在栈上开辟内存都要是固定的,而C99中有种用法相当奇葩int *p = ((int[]){ [0] = 1, [15] = 10 });在栈上分配这么一个空间,其反汇编结果如下: 1 int *p = ((int[]){ [0] = 1, ...
分类:
其他好文 时间:
2014-12-09 21:11:34
阅读次数:
174