1、基础信息

静态分析是指:


逆向从业者利用工具将二进制可执行文件翻译为汇编代码,通过汇编代码来看这个逻辑从而达到分析程序的需求。

动态调试是指:


使用调试器跟踪软件的运行,查看其父节点、子节点等寻找突破的关键点。

2、JEB的使用

下载直接百度或者谷歌“ JEB 逆向下载 ”即可。

解压打开jeb,双击打开即可       //需要有java的环境


弹出的CMD窗口会爆一个错误,版本兼容问题,直接无视即可。


JEB主要就是一个安全反汇编的软件打开一个案例,即注册机,这个界面是不是像很多的辅助软件,


在JEB打开也很简单,直接拖进去,很类似AK。从上到下,依次是配置文件、证书、字节码、资源文件。


双击打开第三个的“字节码”,直接是“伪代码”,此时可以通过快捷键“Q”,来切换Smali代码与java代码。     //有的版本是tab“CTRL+B”下断点,不能在java代码处下断点。

选择“MainActivity/Source”,看到三个熟悉的变量,即“ 按钮、激活码、用户名 ”,直接对应来“注册机”软件。

3、开始分析


第一个框,是调用了父类。


第二个框,获取输入的用户名与激活码,并做判断,返回一个布尔值。


先给V7设置默认值为“false”,如果arg11=空,返回V7。在下边两行,判断arg11的长度不为空,且arg12不为空且arg12的长度为16,则进入逻辑,下图的大框,其中的小框是在做md5的算法,具体不需要了解。


直接向下看,找重点。看到if判断括号的内容是否成立,但是不要忘记前边的“! ”,即条件不成立,返回V7(false),条件成立程序继续执行,先给V7赋值为true,在返回,找到重点之后,我们就可以直接下断点了。


直接按“Q”,切换为smali代码  下断点,之后可以一步步向下跟着逻辑走。


向下看看,找到判断的地方,


不确定,在按“Q”,查看java代码,直接回来,就是这里。

在这里已经可以推断出,这个V8里边存的就是判断激活码的布尔值(即是true还是false)。开始动态调试,


点击“debug”,会弹出框,让你选择模拟器,弹出两个模拟器,雷电模拟器的bug。(此时就开了一个模拟器)

先打开任务管理器,将“adb.exe”干掉。


输入“adb devices”来看看到底是多少,这里是5568.


选择5568模拟器后,找到对应的软件,直接attach。


等待一会,直接加载成功,


但是寄存器为什么没有值呢?因为还没有输入对应的账户与注册码,进行触发。

激活码一定要输入16位,用户名随意。之后点击注册。

此时,程序停了,寄存器也有值了


此时,上边的光标也解封了,点击红箭头指的地方,让程序一步一步向下运行。

4、峰回路转


向下点击程序运行的时候,竟然崩溃了,我们重新下个断点,重启jeb,加载程序,直接在关键部位下,如图


再次运行程序,输入任意账户以及16位激活码,点击debug,在让程序向下走一步。先看卡代码逻辑,将我们传入的激活码P2与V6比较,将结果保存到V8,在判断V8的值。


此时将V6的类型转化为string,边看到了具体的值。将此值复制。之后将jeb调试停止。

将复制的值填写到注册码处,直接注册成功。

这里注意的是,复制的V6的值注册时,这个用户名不要变。因为这个V6的值仅仅对应的刚刚输入的用户名

安卓逆向015之JEB静态分析与动态调试(注册机)相关推荐

  1. 安卓逆向之JAVA层静态分析(愤怒的小鸟去广告,充值破解)

    安卓逆向之JAVA层静态分析(愤怒的小鸟去广告,充值破解) 前言 今天女票跟我吐槽,自己闲来无事下个愤怒的小鸟玩玩,结果又是实名认证,又是广告啥的,瞬间没心情玩了,我听后大惊,还有这种事.跟女票说:& ...

  2. Android 逆向分析(三)之动态调试Smali

    2019独角兽企业重金招聘Python工程师标准>>> 动态调试smali 实战 反编译后修改AndroidMainfest.xml 在Application节点下添加 androi ...

  3. 路由器逆向分析------路由器固件分析和动态调试环境搭建简述

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/70140865 01.路由器固件分析和动态调试环境搭建简述的原文 <Emula ...

  4. 安卓逆向分析中常用动态调试方法总结

    安卓逆向之----常用动态调试方法 一. 前言 逆向分析中常用的分析方法有:静态分析.动态调试.HOOK等.动态调试的好处是:1)可以在调试的过程中知道参数或者局部变量的值以及变化过程,2)可以快速履 ...

  5. 安卓逆向工程师面试指南【干货】

    安卓逆向工程师岗位在近年来算是互联网IT行业的香饽饽之一,月薪动辄上万年薪动辄20万,让很多行业内兢兢业业拿一个五六千的外行人士很是羡慕.但是安卓逆向工程是专业技术要求很高的职业,外行人轻易抢不走你的 ...

  6. [安卓逆向]android adb常用命令及使用案例

    [安卓逆向]android adb常用命令 一.调试相关 1.开启adb服务 adb start-server 2.关闭adb服务 adb stop-server 3.列出所有连接的设备 adb de ...

  7. 迷你播放器--第一阶段(7)--安全攻防第一战--对抗反编译,代码混淆和对抗动态调试

    迷你播放器--第一阶段(7) 安全攻防第一战--对抗反编译,代码混淆和对抗动态调试; 本文章为CSDN作者原创,转载请保留出处:http://blog.csdn.net/lrs0304/article ...

  8. 大神论坛 逆向分析 Internet Download Manager 序列号算法 附IDM注册机完整源码

    1. 前言 idm version : 6.38 Build 23 2.算法逆向 IDM的序列号验证函数定位在: 下面是在IDA下的代码分析: .text:00510010 push ebp .tex ...

  9. 安卓逆向 -- Jeb动态调试

    之乎者也吧 #安卓逆向#JEB动态调试#为中国点赞 视频号 上节课内容 安卓逆向 -- JEB3.7安装使用 一.抓登录包数据 {"Encrypt":"NIszaqFPo ...

  10. 安卓逆向_12 --- jeb工具的使用 ( 动态调试 smali 代码 【 普通调试 和 debug调试 】)

    From:https://www.52pojie.cn/forum.php?mod=viewthread&tid=742250 jeb 动态调试 smali 代码:https://www.bi ...

最新文章

  1. typedef的作用
  2. ElasticSearch安装入门
  3. python经典程序练习题-99道经典练习题助你全面掌握python基础知识,附技巧答案...
  4. ElasticSearch 2.0以后的改动导致旧的资料和书籍需要订正的部分
  5. 防止MDI子窗体多次实例化的代码
  6. SpringBoot+layUI上传图片功能
  7. access 江苏计算机二级_你与计算机二级证书的距离就差这一篇推送了!
  8. ci中如何得到配置的url
  9. 一次较为完整的原生JavaScript AJAX与Java的前后端数据交互
  10. Linux显卡驱动|CUDA卸载和安装|pytorch安装
  11. 中国条码解码器市场趋势报告、技术动态创新及市场预测
  12. java疯狂讲义pdf_《疯狂Java讲义(第3版)》PDF 下载
  13. Hadoop环境搭建(单机)
  14. 命令行字符界面与图形界面切换
  15. 微信小程序 px和rpx px和pt 深度解析
  16. 云计算环境下的服务器虚拟化技术,云计算技术与应用:虚拟化技术_服务器虚拟化.pdf...
  17. 迅雷前副总裁李金波:我的创业感悟
  18. 一年读了八十本书之后,我推荐这五本给你
  19. uniapp打开外部链接
  20. Google SketchUp Cookbook: (Chapter 3) Intersection Edges: Cutting and Trimming

热门文章

  1. 零件测绘与计算机作图理论试题,浅谈《零部件测绘与cad成图技术》技能竞赛对中职机械制图和cad制图课程整合的影响...
  2. LCD1602单片机(STC51/STM32)驱动程序详解
  3. 高校学籍管理系统(SQL Server数据库课程设计)
  4. mysql数据库课程设计_MySql数据库课程设计(学生管理系统).doc
  5. linux内核丢弃udp报文,UDP内核丢弃UDP数据包
  6. Trained Tesseract on 瘦金体 successfully!!
  7. 信息系统项目管理师考试难?一次过备考经验分享给大家
  8. 战地一自定义服务器怎么搜索,战地1怎么快速加入服务器?多种加入方法一览...
  9. 基于Java Web的图书管理系统
  10. Cesium视频教程