zoukankan      html  css  js  c++  java
  • 安卓逆向从入门到入土之一道入门级的CTF题目

     首先当然是安装上,界面如下:

    gda打开,定位到关键位置MainActivity下的checkPassword,如下:

    java代码还是比较清晰的,但是本着学习smail的原则我们还是来看smail代码吧,首先开头不用多说:

    .class:Lre/sdnisc2018/sdnisc_apk1/MainActivity;
    .method@3c5e public checkPassword(Ljava/lang/String;)V
    
    .prologue
    .insnsSize 45 (16-bit)
    .registers 5 [ v0  v1  v2  v3  v4  ]

    通过getflag()函数,结果保存在v0:

    invoke-direct {v3}, method@3c61 // Lre/sdnisc2018/sdnisc_apk1/MainActivity;->getFlag()Ljava/lang/String;
    move-result-object v0
    

     通过StringBuffer类的reverse()方法对上面的结果进行处理,即对结果进行反转取代:

    new-instance v1, class@0726 // Ljava/lang/StringBuffer;
    invoke-direct {v1, v0}, method@3b3a // Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
    invoke-virtual {v1}, method@3b3b // Ljava/lang/StringBuffer;->reverse()Ljava/lang/StringBuffer;
    move-result-object v0

     然后再对结果进行base64解码:

    new-instance v1, class@0725 // Ljava/lang/String;
    invoke-virtual {v0}, method@3b3c // Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
    move-result-object v0
    const/4 v2, #int 0 // #0
    invoke-static {v0, v2}, method@3458 // Landroid/util/Base64;->decode(Ljava/lang/String;I)[B
    move-result-object v0

    然后和输入进行比较,结果放在v4:

     invoke-direct {v1, v0}, method@3b1b // Ljava/lang/String;-><init>([B)V
     invoke-virtual {v4, v1}, method@3b22 // Ljava/lang/String;->equals(Ljava/lang/Object;)Z
     move-result v4

      如果相等,congratulation,不等则跳转,显示try again:

    所以,我们要关注的是getflag()后的结果,定位到代码:

    getflag()比较简单,就是获取0x7f0b0020位置的字符串:

     得到字符串以后先反转,再base64解密,即可得到flag:

    over~

  • 相关阅读:
    CBUUID UUIDString unrecognized selector sent to instance 错误
    利用php的序列化和反序列化来做简单的数据本地存储
    php 执行外部命令exec() system() passthru()
    php 使用 restler 框架构建 restfull api
    使用ar命令删除iOS静态库重复编译的.o文件
    c++ string 与 char 互转 以及base64
    CLGeocoder Error Domain=kCLErrorDomain Code=2
    mac air/pro 启用三指拖动手势
    osx 10.11.5 El Capitan U盘制作安装
    php cli模式下获取参数的方法
  • 原文地址:https://www.cnblogs.com/2rsh0u/p/10876243.html
Copyright © 2011-2022 走看看