ISCC2016 mobile

1 . mobile 1 --TurtleShell

ida打开发现Cryptography函数,把一部分so代码动态修改,异或0x88
根据Cryptography函数修改程序,用ida重新加载,发现以下字符串
a=06DD98D9C41E8C40
b=10965E5C12267996
输入的字符串为32字节,第一部分和a比较,第二部分中的所有“4”改为“9”后倒置和b比较
因此flag为06DD98D9C41E8C4064476221C5E56401

注:classes-dex2jar.jar可以先解压apk文件中的classes.dex,然后用dex2jar工具转换为jar,用Java Decompiler打开
这些工具都能在apktools中找到
ida分析时,先用File->Load file->C Header,导入jni.h(安装jdk,在jdk目录里有),然后在Structures窗口里插入JNIInvokeInterface和JNINativeInterface(=*JavaVM),就可以把一些关键参数的类型定义为JavaVM

2. mobile 2 ----PoliceMan

分析程序,发现程序会接受短信,传入libSMSHackMe.so中的smsrecive程序
分析libSMSHackMe.so,在new_init()中找到了a1 a2 a3三个变量,通过change()置换
change置换有3个参数:第一个参数为待置换的字符串,第二个参数为左移置换位数,第三个参数为100(置换字母、数字)或101(只置换字母),但是只使用100
三次置换如下:
"F0882JJJKK9G1H",在JNI_OnLoad中,位数为5,置换后得A5337EEEFF4B6C
"8155D3DH247G39G56F90",在on_init中,位数为3,置换后得5822A0AE914D06D23C67
"7C642CE0G2BF9CDG7G4D",在on_init中,位数为1,置换后得6B531BD9F1AE8BCF6F3C
在JNI_OnLoad()中发现了registerNatives()
分析注册的函数,发现程序把来源作为RC4密钥,消息主体作为明文,转换为16进制,前20位、中间20位、后14位分别和三段加密文本比较
因此密文为6B531BD9F1AE8BCF6F3C5822A0AE914D06D23C67A5337EEEFF4B6C
题目名叫“警察”,因此猜测消息来源为110
以110为密钥解密,得到flag

时间: 2024-08-07 22:57:23

ISCC2016 mobile的相关文章

ISCC2016之旅

0x00 作为一个仰慕黑客技术已久的小白能有一个合法hack以及测试自己能力水平的地方一直是我梦寐以求的(特别是像我这种不怎么会搭环境的超级小白--),所以一听到ISCC2016的比赛消息,就屁颠屁颠的.迫不及待的去参赛了. 0x01 ISCC比赛分为信息安全知识.basic.web.pwn.reverse.mobile.misc,我首先做的是信息安全知识题(why?因为是选择题,可以百度啊). 然后打算做web题,第一道web题是php的代码审计,开始一看到登陆框就一个劲的构造sql代码试图绕

jQuery Mobile中表单的使用体会

jQuery Mobile是手机端(移动端)页面制作用的框架,包括CSS和JavaScript,此处简单总结一下表单的书写,主要涉及CSS部分.框架提供了表单的一些样式,但在实际使用的时候,我们可能会用自己的自定义样式,这种情况下,框架提供的样式可能就不能满足我们的要求.今天项目中写登录页面的静态网页,碰到了几个问题,在这里和大家交流一下. 1 利用data-role="none" 在使用表单的时候,如果想使用自定义样式,就可以表单元素上给data-role属性赋值none,意思就是不

jQuery Mobile

1. pageinit & pageshow JQM的官方手册重点提醒了使用$(document).bind(‘pageinit’)代替$(document).ready(). 但当你需要对某一个页面(page)编写其独享的Javascript脚本时, 选择器应该选择的是该page层, 而不是document, 并使用live()添加事件处理器.这在ajaxEnable=true的情况下尤为重要. View Demo JS : $(document).bind('pageinit', funct

Mobile Push Notification

In one embodiment, a method includes sending to a mobile client computing device a first notification through a real-time push service, the first notification including content and being associated with a stateful object; the method also includes, in

史上最简单的个人移动APP开发入门--jQuery Mobile版跨平台APP开发

书是人类进步的阶梯. ——高尔基 习大大要求新新人类要有中国梦,鼓励大学生们一毕业就创业.那最好的创业途径是什么呢?就是APP.<构建跨平台APP-jQuery Mobile移动应用实战>就是一本写给没钱没身份没资历的创业小白看的APP书,看完这本书你可以拥有自己的一个APP,不用花钱就能移植到其他移动平台,支持iOS,Android,Windows Phone!!!!!!!!找个最便宜的来练手吧!  小白APP交流Q群:  348632872 清华大学出版社推出的<构建跨平台APP:j

【数据结构】Not so Mobile (6-9)

[UVA839]Not so Mobile 算法入门经典第6章6-9(P157) 题目大意:输入一个树状天平,根据力矩相等原则判断是否平衡. 试题分析:貌似没有什么难点…… #include<iostream> #include<cstring> #include<cstdio> #include<vector> #include<queue> #include<stack> #include<algorithm> usi

Dji Mobile SDK 基础实现(一)

Dji Mobile SDK 基础实现(一) 本文简要介绍如何通过调用DJI Mobile SDK,实现获取和释放无人机的控制权限.模拟遥控器按钮控制无人机的飞行.获取无人机的回传视频.获取无人机参数.实现和onboard SDK的数据透传. 下面逐个介绍以上内容,余下内容将在以后的文章介绍(文章末尾附上GitHub链接): 获取和释放权限 模拟遥控器按钮控制无人机的飞行 获取和释放权限 1.获取flightController 对象: 1 DJIFlightController flightC

jquery mobile常用的data-role类型介绍

转自原文 jquery mobile常用的data-role类型介绍 data-role参数表: page        页面容器,其内部的mobile元素将会继承这个容器上所设置的属性 header     页面标题容器,这个容器内部可以包含文字.返回按钮.功能按钮等元素 footer       页面页脚容器,这个容器内部也可以包含文字.返回按钮.功能按钮等元素 content     页面内容容器,这是一个很宽容的容器,内部可以包含标准的html元素和jQueryMobile元素 cont

如何使用chrome devtool调试Mobile网页?

凡是做过mobile网页web app开发的朋友一定对开发效率的底下会有吐槽.现在chrome dev tool改变了程序员们的苦比. 1. chrome://inspect/#devices 2. android手机中打开chrome android 3. usb连机 4. 在pc的chrome devtool中inspect即可! https://www.html5rocks.com/en/tutorials/developertools/mobile/