gal2xy's blog
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 友链
  •   
  •   

QCTF2018-Xman-babymips

可以看到上述代码不同于汇编代码,是MIPS指令,不过好在IDA有相应的插件反汇编这种代码。 整个代码流程为:我们输入32bytes的字符串,先进行异或,然后比较前5bytes的字符是否相等,然后进入sub_4007F0函数。 将后27bytes字符串进行移位运算,然后再与字符串比较。 相应的逆向比较简单,代码如下: 12345678910111213141516171819202122232
2023-09-04
Reverse
#Reverse

羊城杯2020-login

附件是个python编写的exe程序(从图标中就可以看出来),先运行一下,给出了字符串input somthing,然后尝试用IDA分析,可惜不行,shift+F12也找不到相应的字符串。 因为python代码要通过打包才能变成exe文件,所以借助浏览器搜索python编写的exe如何反编译py文件,找到了相应的文章: Python解包及反编译: PyInstaller Extractor+unc
2023-09-04
Reverse
#Reverse

SWPU2019-ReverseMe

方法一IDA打开如下图所示(部分分析在图上): 基本可以确定,我们要让v16=0才是正确的,而能使v16=0有两条路径,第一条是伪代码中第89103行的 while 循环,第二条是伪代码中第105111行的if语句。显然,第二条路径是走不通的,因为不可能存在同时满足如下条件: 123v17 = v18 < *((_BYTE *)v13 + 1), v18 == *((_BYTE *)v13
2023-09-04
Reverse
#Reverse

2019红帽杯-childRE

部分分析如图所示。第29行的sub_xxxx是个复杂的函数,尝试分析过。第33~34行的这两个函数是二叉树的后序遍历 且遍历的结果存储到name中。 之后比较关键的函数是UnDecorateSymbolName函数,这个函数在官方文档上有介绍,但不是很详细,于是问了问chatgpt: 12345678910111213141516171819202122232425262728好的,让我们以
2023-09-04
Reverse
#Reverse

AOSP源码编译

下载AOSP源码根据中科大的来:AOSP 镜像使用帮助 — USTC Mirror Help 文档 这里我用的是第二种方法,虽然不推荐,但是必须得尝试一下。 首先是下载 repo 工具: 1234mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
2023-08-28
Android
#环境配置 #AOSP

Frida开发环境搭建

pyenv环境配置科学上网:pyenv/pyenv: Simple Python version management (github.com) 直连:pyenv-installer: pyenv(gitee的地址) 首先下载依赖包(参考:Common build problems · pyenv/pyenv Wiki (github.com)): 1apt-get insta
2023-08-24
Frida
#环境配置 #Frida

Android开发学习笔记(八) —— 探究ContentProvider

一、什么是ContentProvider1.1 概念内容提供器(Content Provider)是Android四大组件之一,主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访数据的安全性。使用时需要在AndroidManifest..xml文件中进行声明。 不同于文件存储和SharedPreferences存储中的两种全
2023-08-12
Android
#Android开发

Android开发学习笔记(七) —— 详解数据存储全方案

一、什么是数据持久化数据持久化就是指将那些内存中的瞬时数据保存到存储设备中,保证即使在手机或电脑关机的情况下,这些数据仍然不会丢失。保存在内存中的数据是处于瞬时状态的,而保存在存储设备中的数据是处于持久状态的,持久化技术则提供了一种机制可以让数据在瞬时状态和持久状态之间进行转换。Android系统中主要提供了3种方式用于简单地实现数据持久化功能,即文件存储、SharedPreference存储以及
2023-08-12
Android
#Android开发

Android开发学习笔记(六) —— 重温BroadcastReceiver

一、什么是BroadcastReceiver广播(Broadcast)是一种广泛运用的在应用程序之间传输信息的机制。而广播接收器(BroadcastReceiver)是Android四大组件之一,用于对发送出来的广播进行过滤接受并响应的一类组件。它允许应用程序在某些事件发生时作出响应,无论应用是否在前台运行。它的工作原理是基于发布-订阅模式。应用程序可以选择注册感兴趣的广播消息,并在消息到达时进行
2023-08-12
Android
#Android开发

Android开发学习笔记(五) —— 温习Service

一、什么是Service服务(Service)是Android四大组件之一(因此需要在AndroidManifest.xml中进行注册,否则系统无法识别该Service),是Android中实现程序后台运行的解决方案,非常适合去执行那些不需要和用户交互(因而也不需要UI界面)而且还要求长期运行的任务,例如播放音乐、下载文件、上传数据等。服务的运行不依赖于任何用户界面,即使程序被切换到后台,或者用户
2023-08-12
Android
#Android开发
1…7891011…14

搜索

Hexo Fluid
总访问量 次 总访客数 人