ida动态调试笔记

目标文件:阿里安全挑战赛的第二题 点击打开链接

使用环境:ida6.8点击打开链接,adt bundle点击打开链接

首先打开avd安卓模拟器,界面如下:

在dos下运行adb命令,查看当前连接的设备:

  1. adb devices

得到结果如下:

上图显示了本机连接的安卓模拟设备。

然后用adb命令安装上面的阿里测试文件:

  1. adb install 阿里测试路径/文件名


出现上述提示,标识文件安装成功


上图中红色区域是刚刚安装的程序

接下来把ida下面的调试服务器上传到安卓模拟器当中

就是上图中那个android_server文件,使用如下命令上传:

  1. adb push C:\吾爱破解安卓工具箱v1.0fix\Rolan\bin\debug\IDA_Pro\dbgsrv\android_server data\local\tmp\mydbserv\

然后输入adb shell命令进入安卓设备

cd data\local\tmp\

进入上述目录,用ls可以看到文件已经被上传。

输入   ./bdgserver 启动该服务器,出现如下提示:

表示开始在23946端口进行监听了。

然后打开另外一个cmd窗口,使用如下命令:

  1. adb forward tcp:23946 tcp:23946

把模拟器的端口转接到电脑

然后输入如下命令:

  1. adb shell am start -D -n com.yaotong.crackme/com.yaotong.crackme.MainActivity

出现如下提示:

表示程序启动成功。
然后启动eclipse下面的ddms.bat,出现如下界面:
然后打开ida.
选择图中画红线部分,出现下图
参数填写如上,然后点击debug options,出现下图:
勾选图中部分,点击确定。出现如下内容。
点击ok.出现如下内容:
从菜单选择如下选项
在如下选项上打钩
点击左上角绿色运行按钮。
然后在cmd下面运行如下命令:
jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8700

出现下图:

然后在ida中按ctrl+s:出现下述界面
按ctrl+f查找crackme,出现下述内容:
选择图中有执行权限的so模块,出现如下界面。
 
然后点击键盘上面的g按钮,出现如下界面:
选择JNI_OnLoad,点击ok。出现如下界面:
按f2设置断点,然后按f5,查看伪代码
找到可能出现自毁程序的位置(blx语句之前),设置断点:
上述2cec54 cmp R0,#1即为修改位置
打开菜单view->open subviews->hex dump
将图中位置全部修改为0,继续运行程序。
 
再打开另外一个ida,把阿里apk解压,打开里面的的libcrackme.so文件,点击exports导出表。
打开后复制下面红圈部分。
返回上一个ida,按g字母,出现如下界面
点击ok后出现如下界面:
按f5查看伪代码

在伪代码处找到校验密码的位置,在下面红线处设置断点:
运行程序至断点。找到下图中变量v6对应的地址
打开hex view,点击g,在对话框输入该地址,查看该地址对应的字符串:
该字符串存放的是一个地址,为AA2D1450,再次点击字母G,输入该地址,下图字符串即为正确密码
继续运行程序,输入上述密码:
出现如下胜利画面
 

ida动态调试笔记的更多相关文章

  1. 逆向分析-IDA动态调试WanaCrypt0r的wcry.exe程序

    0x00 前言 2017年5月12日全球爆发大规模蠕虫勒索软件WanaCrypt0r感染事件,各大厂商对该软件做了深入分析,但针对初学者的分析教程还比较少,复现过程需要解决的问题有很多,而且没有文章具 ...

  2. 转:使用IDA动态调试WanaCrypt0r中的tasksche.exe

    逆向分析——使用IDA动态调试WanaCrypt0r中的tasksche.exe 转:http://www.4hou.com/technology/4832.html 2017年5月19日发布 导语: ...

  3. IDA动态调试技术及Dump内存

    IDA动态调试技术及Dump内存 来源 https://blog.csdn.net/u010019468/article/details/78491815 最近研究SO文件调试和dump内存时,为了完 ...

  4. 【转】安卓逆向实践5——IDA动态调试so源码

    之前的安卓逆向都是在Java层上面的,但是当前大多数App,为了安全或者效率问题,会把一些重要功能放到native层,所以这里通过例子记录一下使用IDA对so文件进行调试的过程并对要点进行总结. 一. ...

  5. 学汇编的时候可以拿IDA之类的反汇编工具辅助学习,再用gdb或者IDA动态调试,跟踪每条指令的 执行结果。都不难

    作者:潘安仁链接:https://www.zhihu.com/question/40720890/answer/87926792来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  6. IDA动态调试Android的DEX文件

    Android程序的dex文件的动态调试确实是个大问题,网上也有一些教程但是不是特别的详细,今天用到了IDA动态调试Android的DEX文件,特此记录一下. IDA 6.6新添加了对dex文件的调试 ...

  7. IDA 动态调试

    感谢南邮,让我把ida动态调试,给搞定了,困扰了很久,之前下的ubuntu的源,好像有问题,ifconfig这个命令一直装不上,突然想起来了我的服务器很久没用了,重装了下系统,换成ubuntu,这里记 ...

  8. 【转】Android IDA 动态调试最完善攻略,跨过各种坑

    前提条件和运行环境一定要写清楚,不然会有很多坑,坑死人. (1)IDA 是最新的7.0版本  (2) JDB 使用Java安装目录下的 (3)系统是win10 使用命令窗口时有很大的差别 (4)手机是 ...

  9. ida动态调试so,在init_array和JNI_ONLOAD处下断点

    本文涉及到的apk.请在github下载https://github.com/jltxgcy/AliCrack/AliCrackme_2.apk. 0x00 怎样在JNI_ONLOAD下断点.參考安卓 ...

随机推荐

  1. UVALive 4670 Dominating Patterns (AC自动机)

    AC自动机的裸题.学了kmp和Trie以后不难看懂. 有一些变化,比如0的定义和f的指向,和建立失配边,以及多了后缀连接数组last.没有试过把失配边直接当成普通边(一开始还是先这样写吧). #inc ...

  2. OTOH

    OTOH n 网络用语 On the Other Hand 另一方面 [例句]OTOH, pressure on the keys of a digital AFTER bottoming can b ...

  3. Stream great concerts wherever you are

    This time of year, we take stock of what we're thankful for — and above all else, we’re thankful for ...

  4. DROP RULE - 删除一个重写规则

    SYNOPSIS DROP RULE name ON relation [ CASCADE | RESTRICT ] DESCRIPTION 描述 DROP RULE 删除一个规则. PARAMETE ...

  5. 学习jQuery的免费资源:电子书、视频、教程和博客

    jQuery毫无疑问是目前最流行的JavasScript库.排名最前的网站中70%使用了jQuery,并且jQuery也成为了Web开发的标准.如果你想找Web开发方面的工作,了解jQuery会大大的 ...

  6. Linux运维笔记--第三部

    第三部 3. Linux系统文件重要知识初步讲解 # ls  -lhi   (i: inode,每个文件前的数字代表文件身份ID:h: human 人类可读) 显示:25091 -rw-r--r-- ...

  7. Java 练习:字符串反转

    package com.swift; public class String_Reverse_Test { public static void main(String[] args) { /* * ...

  8. Unity学习之路——主要类

    学习https://blog.csdn.net/VRunSoftYanlz/article/details/78881752 1.Component类gameObject:组件附加的游戏对象.组件总是 ...

  9. 201621123080《java程序设计》第14周实验总结

    201621123080<java程序设计>第14周实验总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结与数据库相关内容. 2. 使用数据库技术改造你的系统 2. ...

  10. Linux基础学习-LVM逻辑卷管理遇到的问题

    LVM学习逻辑卷管理创建逻辑卷遇到的问题 1 实验环境 系统 内核 发行版本 CentOS 2.6.32-754.2.1.el6.x86_64 CentOS release 6.10 (Final) ...