附件为一个apk,先拖到模拟器看看:

无法安装,先不管这个错误了,反编译看看。

修改apk扩展名为zip->解压->使用dex2jar对解压后的classes.dex文件进行反编译:

将反编译得到的jar文件拖进jd-gui,看MainActivity,MainActivity代码很简单:

核心就是这个if判断:

if ((new Base64New()).Base64Encode(str.getBytes()).equals("5rFf7E2K6rqN7Hpiyush7E6S5fJg6rsi5NBf6NGT5rs="))

比较输入字符串的Base64是否等于"5rFf7E2K6rqN7Hpiyush7E6S5fJg6rsi5NBf6NGT5rs="。

直接在Base64解密网站解密,发现解密失败,再看Base64类的名字“Base64New”,可能这里是修改过的Base64算法。

看看这个Base64New类的Base64Encode函数:

明显一看就发现,这个Base64替换表不对,我们在百度搜一个Base64解密程序,把里面的替换表换成这里修改后的替换表:

#include <stdio.h> //注意哦,VC中""是当前路径,<>是系统路径
#include <windows.h>const char BASE_CODE[]= {'v', 'w', 'x', 'r', 's', 't', 'u', 'o', 'p', 'q','3', '4', '5', '6', '7', 'A', 'B', 'C', 'D', 'E','F', 'G', 'H', 'I', 'J', 'y', 'z', '0', '1', '2','P', 'Q', 'R', 'S', 'T', 'K', 'L', 'M', 'N', 'O','Z', 'a', 'b', 'c', 'd', 'U', 'V', 'W', 'X', 'Y','e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n','8', '9', '+', '/' };//子函数 - 取密文的索引
inline char GetCharIndex(char c) //内联函数可以省去函数调用过程,提速
{for (int i = 0; i < strlen(BASE_CODE); i++){if (BASE_CODE[i] == c){return i;}}return 0;
}//解码,参数:结果,密文,密文长度
int fnBase64Decode(char *lpString, char *lpSrc, int sLen)   //解码函数
{static char lpCode[4];register int vLen = 0;if (sLen % 4)     //Base64编码长度必定是4的倍数,包括'='{lpString[0] = '\0';return -1;}while (sLen > 2)        //不足三个字符,忽略{lpCode[0] = GetCharIndex(lpSrc[0]);lpCode[1] = GetCharIndex(lpSrc[1]);lpCode[2] = GetCharIndex(lpSrc[2]);lpCode[3] = GetCharIndex(lpSrc[3]);*lpString++ = (lpCode[0] << 2) | (lpCode[1] >> 4);*lpString++ = (lpCode[1] << 4) | (lpCode[2] >> 2);*lpString++ = (lpCode[2] << 6) | (lpCode[3]);lpSrc += 4;sLen -= 4;vLen += 3;}return vLen;
}int main()
{char es[] = "5rFf7E2K6rqN7Hpiyush7E6S5fJg6rsi5NBf6NGT5rs=";char ds[1000] = { 0x00 };fnBase64Decode(ds, es, strlen(es));
}

就可以得到答案了"05397c42f9b6da593a3644162d36eb01"。

欢迎关注我的微博:大雄_RE。专注软件逆向,分享最新的好文章、好工具,追踪行业大佬的研究成果。

XCTF_MOBILE5_easy-apk相关推荐

  1. Unity5.6+ 导出Android 应用程序apk的环境配置及导出过程

    首先下载并安装安卓SDK和java的JDK 安卓sdk下载: http://www.android-studio.org/ 也可以在这下载: 链接:http://pan.baidu.com/s/1bp ...

  2. android 在设备上安装apk包

    使用adb 命令安装 1 打开cmd 命令 win+r 输入cmd 命令 打开控制面板 输入adb install 然后把把apk 拖拽进去然后回车即可 安装 2 adb 卸载apk 输入adb un ...

  3. linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件...

    原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html  之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...

  4. 一个apk多个ICON执行入口

    一个工程对应一个AndroidManifest.xml文件,这个文件中包含有该项目的一些设置,如权限.SDk版Activity.Service信息等.一般而言,这个文件中会有且仅有一个applicat ...

  5. android预置第三方apk,android 内置APK成系统应用

    一. 这种方法必须要自己编写Android.mk文件(关于Android.mk可以参考),在研发中,自己有源码时,可以将APK的源码包置于Android源码中(比如:alps/package/apps ...

  6. Unity导出apk出现的问题,JDK,Android SDK,NDK,无“安装模块”

    导出apk失败 使用unity导出apk文件,会出现提示:需要合适版本的JDK.Android SDK和Android NDK,要找到.下载和安装好合适的版本非常耗费时间, 网上很多教程指出可以直接在 ...

  7. Android studio 获取每次编译apk时的日期

    项目中需要获取apk的编译日期,首先肯定是用手动的方式获取,但这样容易遗忘,怎么样通过代码的方式获取呢? 其实android 为我们提供了一个BuildConfig的类,android 每次编译的时候 ...

  8. Android APK加壳技术方案----代码实现

    本文章由Jack_Jia编写,转载请注明出处. 文章链接:http://blog.csdn.net/jiazhijun/article/details/8746917 作者:Jack_Jia    邮 ...

  9. Android如何防止apk程序被反编译

    作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来.Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sd ...

  10. adb avd install 失败_ADB命令安装APK常见错误总结

    通过adb命令安装应用过程: 常见问题以及原因: ​ 没有找到设备,查看是否开启调试,或者数据线有问题 Failure [INSTALL_FAILED_ALREADY_EXISTS]:应用已经存在,需 ...

最新文章

  1. android 自定义相册选择,Android通过手机拍照或从本地相册选取图片设置头像
  2. secureCRT自动断开的解决方法
  3. SQL Server 2016新特性:Query Store
  4. 纯css用图片代替checkbox和radio,无js实现方法
  5. 程序包com.sun.istack.internal不存在
  6. 资料分享 | 数学建模竞赛备战大全
  7. 【渝粤教育】国家开放大学2018年春季 0014-21T秘书学(一) 参考试题
  8. 打包mac应用_把网址链接打包成电脑软件的制作方法
  9. iOS 开发中 通过AVAssetWriter将录像视频写到指定文件
  10. 工业铝型材与钢铁之间的区别
  11. 西门子smart200 圆弧插补 整合画图程序 2轴3轴
  12. excel对比两列不同
  13. 浏览器主页被劫持成360导航.每次打开都是360导航https://hao.360.cn/?src=lmls=n36a7f6a197
  14. 深耕一线14年,见证云计算风起云涌
  15. Jquery-留言板
  16. 职场礼仪之西装十大禁忌
  17. 分布式网页爬虫系统 设计和实现
  18. C++ 操纵算子原理
  19. PS 快速抠图换背景
  20. htcm8 android8,HTC全面屏手机 U11 Plus曝光:6寸+骁龙835,安卓8.0系统

热门文章

  1. oracle替换空,replace使用案例--替换空格
  2. Java - 保留小数点后两位
  3. 超棒的18张美女纹身肖像摄影
  4. java web全栈漫谈
  5. idea把properties识别成普通的文件(file)、idea文件关联错误
  6. 数字人是AI的UI,ChatGPT助推数字人升级为数智人
  7. Docker部署ES(elasticsearch)+Kibana
  8. 《计算机教育》专题报道:“米老师”其人
  9. html页面获取粘贴到表格,Html table 实现Excel多格粘贴
  10. 23华南师范大学人工智能学院电子信息大数据技术工程考研经验贴