• 安卓逆向12.IDA Pro+Cheat Engine KeyGen AliCrackMe


    用到的工具

    1.IDA7.2

    2.GDA3.72

    3.Cheat Engine 6.5

    目的:

    主要是学习下Cheat Engine工具怎么在PC端运行,调试安卓程序!

    下载链接:

    链接:https://pan.baidu.com/s/1Q_Q8ovHLXUcsRjLyCf0d0w
    提取码:u72u

    1.程序界面

    2.GDA打开程序,定位到关键验证位置,发现核心验证在so层,函数名为SecurityCheck,参数为String类型我们输入的假码

    3.提取出so文件,打开IDA,定位到验证函数

    4.F5查看伪代码,采用的是JNI静态注册,算法很简单

    5.对伪代码进行整理分析后得知,当我们输入的字符串和全局变量strRightKey相同即注册成功!

    8.转到strRightKey查看正确的Key,结果是"woshidaan"

    9.然而实际输入后提示验证码校验失败!

    10.通过IDA分析我们已经可以肯定,最终一定会和strRightKey做对比,为什么这里却不成功呢?很可能是程序在运行之后对这个字符串进行了修改,真正的key并不是这个,需要跑起来才行。
    11.本打算使用IDA附加单步调试去跟踪正确的key,结果发现有反调试!那我们换个思路,用CE去附加APK进程,然后找到字符串相对偏移,就拿到了正确key了!所以现在IDA中记录下key偏移为0x4450

    12.执行命令【adb push C:ceserver_x86 /data/local/tmp】把ce的调试服务ceserver_x86发送到模拟器/data/local/tmp目录下

    13.在adb shell中切换到/data/local/tmp目录下执行【chmod 777 ceserver_x86】,将ceserver_x86修改为777权限,然后执行【./ceserver_x86】启动ce调试服务

    14.新开CMD,执行【adb forward tcp:52736 tcp:52736】进行端口转发

    15.重新进入adb shell,执行【ps】,查询所有进程信息,找到我们要调试的进程ID为3080

    16.执行【cat /proc/3080/maps】查询进程ID为3080的进程所有模块信息,可以看到模块基址为0xC000000,根据上面得到的Key偏移0x4450,那么正确key位置应该在0xC004450

    17.打开CE,进程->网络->输入127.0.0.1端口57236

    18.选择进程并打开

    19.添加地址0xC004450,看到正确key为"aiyou,bucuoo"

    20.验证

  • 相关阅读:
    ios-UserDefaults
    ios-滚动视图滚动取消键盘
    ios-获取商店已上线app信息
    ios-WKWebView 拨打电话
    ios-获取通讯录 姓名和电话
    ios-model数据结构
    ios-改变button四个角的弧度
    ios-高德、百度后台定位并上传服务器
    ios-系统警告框 跳转到设置里面
    Java精讲:生产者-消费者
  • 原文地址:https://www.cnblogs.com/fuhua/p/12753115.html
Copyright © 2020-2023  润新知