IDA Pro逆向实战之Crackme(简单篇)

今天手闲的很,没事就拿出了以前没解决的逆向题来做一下,具体的源程序在附件里,废话少说,直接上菜:

0.   源程序运行效果(输入不对的,直接退出):

  1. Exeinfo PE 查壳:

    看到是无壳的小程序,看来练手一定会很容易!!!那接下来直接载入到IDA中看看程序执行逻辑吧!

  2. IDA Pro 查看程序执行逻辑

这里截的是一张白图,不过对于分析程序流程已经足够了,顺便解释下图里的红线是False分支执行的,绿线是True分支执行的,大致看下这里的分支不是很多,所以这个程序逆起来应该不是很复杂!

3.  神奇的IDA F5 直接看源码吧

我晕啊,这里的辛辛苦苦编辑的高清图片,最后只能是上面这个样子,讲究这看吧,分析出了关键函数,下面是男人就跟进来吧!

4.  点击关键函数,进入验证段代码,还是直接看反编译源码吧

看到这里手都痒了,赶紧用C语言写个反向算法,把他的关键字符串逆回去!

5.  C 语言编写的的简单逆向算法

执行结果:

填进去看看结果呐!

6.  最后的胜利!

最后,这么搓的小程序都不好意思拿出手,但还是希望大家多多讨论。

(原创文章,作者:ByteWay)这里是我自己的论坛,欢迎大家来逛:http://itpark.sinaapp.com/thread-index-fid-4-tid-121.htm

IDA Pro逆向实战之Crackme(简单篇)

时间: 2024-10-20 21:34:26

IDA Pro逆向实战之Crackme(简单篇)的相关文章

安卓动态调试七种武器之孔雀翎 – Ida Pro

安卓动态调试七种武器之孔雀翎 – Ida Pro 作者:蒸米@阿里聚安全 0x00 序 随着移动安全越来越火,各种调试工具也都层出不穷,但因为环境和需求的不同,并没有工具是万能的.另外工具是死的,人是活的,如果能搞懂工具的原理再结合上自身的经验,你也可以创造出属于自己的调试武器.因此,笔者将会在这一系列文章中分享一些自己经常用或原创的调试工具以及手段,希望能对国内移动安全的研究起到一些催化剂的作用. 目录如下: 安卓动态调试七种武器之长生剑 - Smali Instrumentation 安卓动

《IDA Pro代码破解揭秘》中文版

内容简介<IDA Pro代码破解揭秘>阐述了IDA Pro逆向工程代码破解的精髓,细致而全面地讲述了如何利用IDA Pro挖掘并分析软件中的漏洞.同时也展示了如何对病毒.蠕虫和木马程序的源代码进行分析,从而达到破解的目的.<IDA Pro代码破解揭秘>注重实践,有大量图示和示例代码供参考使用,可读性和可操作性极强.<IDA Pro代码破解揭秘>适合从事逆向工程和计算机安全工作的程序员阅读.编辑推荐<IDA Pro代码破解揭秘>:如果你想掌握IDA Pro,如

IDA Pro使用技巧

DA Pro基本简介 IDA加载完程序后,3个立即可见的窗口分别为IDA-View,Named,和消息输出窗口(output Window). IDA图形视图会有执行流,Yes箭头默认为绿色,No箭头默认为红色,蓝色表示默认下一个执行块. 在寄存器窗口中显示着每个寄存器当前的值和对应在反汇编窗口中的内存地址.函数在进入时都会保存堆栈地址EBP和ESP,退出函数时恢复. 选择菜单Debugger下的Start process(也可以按F9键)来开始调试.调试会让程序在电脑中执行,所以IDA会提示注

《IDA Pro 权威指南》学习

在学习0day时,发现ida的知识没有跟上,所以此处进行相关IDA的基础学习. X86汇编语法: AT&T:%前缀,&文字常量前缀 Intel语法:源操作数位于右边,目的操作数位于左边.使用Interl语法. 反汇编: 线性扫描反汇编:GUN,WinDbg,OBJdump 递归下降: 最典型 IDA Pro 1.顺序流指令 2.条件分支指令 3.无条件分支指令 4.函数调用指令 5.返回指令 二 逆向与反汇编工具 摘要工具: nm:声明的函数与全局变量名称 ldd:所需动态库 objdum

[iOS逆向实战 之三]函数之基本类型(int)参数传递

个人原创,转帖请注明来源:cnblogs.com/jailbreaker 在这[iOS逆向实战 之一]中讲到函数调用的参数传递通过r0-r3来实现,这篇帖子我们来验证下.先看一个4个参数的函数代码: main方法简单调用compute方法,先看main的汇编代码: 明显可以看出,参数值1,2,3,4分别传递给r0-r3,然后通过b调用函数 compute,接着看下compute的汇编代码: 最后一行 是返回到 调用者的下一行,之前帖子已经学过了,前面面3条代注释如下: add r0, r1  

01-从零开始用IDA做逆向

0x01.IDA是什么 交互式反汇编器专业版(Interactive Disassembler Professional)简称为IDA.IDA Pro是一款支持交互.可编程的.扩展插件.支持多种处理器的逆向工程利器. 0x02.为什么要用IDA Pro? 为什么要用IDA?因为OD是一个只能调试32位程序的调试器.而IDA Pro可以调试32位.64位的程序.除了可以静态反汇编程序,还支持作为调试器对程序调试. 中国人逆向喜欢用OllyDbg:https://ti.360.net/blog/ar

02-从零开始用IDA做逆向-进制的基础知识、搜索功能的使用

02-从零开始用IDA做逆向 0x01.进制的概念 计算机中的进制概念是初学者必须知道的基础知识,学习逆向或者构造漏洞利用的时候会接触到这层面知识.二进制,十进制和十六进制的基本概念如下: BINARY(二进制数):由两个数字0和1组成. DECIMAL(十进制数):数字由10位数字(从0到9)组成 HEXADECIMAL(十六进制数字):所有数字都用0到F(从0到9,再加上A,B,C,D,E和F )的字符组成,总共有16个字符.其中:A = 10,B = 11,C = 12,D = 13,E

32位汇编第五讲,逆向实战干货,(OD)快速定位扫雷内存.

32位第五讲,逆向实战干货,快速定位扫雷内存. 首先,在逆向之前,大家先对OD有一个认识. 一丶OD的使用 标号1: 反汇编窗口 (显示代码的地址,二进制指令,汇编代码,注释) 标号2: 寄存器窗口(显示通用寄存器,段寄存器,以及浮点协处理器,32位中还有多媒体寄存器) 标号3: 信息窗口 (这个主要是显示当你运行到的程序的位置处的信息) 标号4: 数据窗口   (内存中的数据,可以在这里查看内存) 标号5:堆栈窗口 (查看栈中的内容,以及变量的内容) 标号6,标号7,标号8 ,属于工具窗口,不

MAC使用IDA PRO远程调试LINUX程序

1 背景 在学习Linux系统上的一些漏洞知识的时候,往往需要进行“实地测试”,但是在Linux系统上进行调试并不太方便,因为LINUX自带的GDB调试工具真的不太人性化,即使有GDBTUI之类的“伪图形界面调试器”,也跟IDA PRO之类的调试器相差甚远.这里又遇到另一个问题了——LINUX平台的IDA PRO不太好找. 综上,对于初学者而言最佳方案就是使用IDA PRO的远程调试功能! 2 环境配置 本文主要说明在MAC系统上如何通过IDA PRO对linux程序进行远程调试(如果宿主机为W