- 博客(165)
- 资源 (8)
- 问答 (1)
- 收藏
- 关注
原创 攻防世界MOBILE区WriteUp
攻防世界官网:攻防世界-答题mobile区mobile新手练习区easyjniPh0en1x-100RememberOtherapp1app2app3easy-apkeasyjavaeasy-dexeasy-so黑客精神你是谁高手进阶区基础androidAPK逆向人民的名义-抓捕赵德汉1-200boomshakalaka-3Android2.0Illusion...
2022-05-10 17:37:44 1517 5
原创 re学习笔记(101)i春秋 全国大学生信息安全竞赛 计时挑战
本文首发于 i春秋公众号 巧用Frida与Unidbg快速在CTF中解题Frida是一个方便快捷的hook框架,在安卓逆向中是必不可少的hook工具。而对代码量不大的CTF安卓逆向题目来讲,使用Frida更是如鱼得水,调试程序、打印输出等都极为方便,就算有相应的检测,由于CTF中代码量并不是很大的情况,也可以快捷的定位、并对其进行hook绕过。而Unidbg可以对so层中的函数进行模拟执行,对于CTF题目来讲,往往无需太多的“补环境”,Unidbg就能将指定的函数模拟执行起来并获得结果。在本文中笔者将以全国
2022-06-18 10:18:23 1064
原创 踩坑及问题解决记录贴合集 不定时更新
ubuntu 20.04中文输入法安装谷歌输入法linux下AndroidSutdio不能调试:Debugger process finished with exit code 127. A library required by the native debugger might be missing on your system. See idea.log file for more details.ubuntu突然没有网络,网络图标消失不见重启网络开发Android开发安装APK报错Failu
2022-06-14 11:13:40 1249
原创 Unidbg打Jar包方式
以先前WebServer为例子,多模块的例子配置所有模块,配置启动的Main Class;META-INF选择 Server模块的src目录文件路径使用相对路径编译工件将apk放在jar包同目录,运行可得结果将Unidbg项目打Jar包后引入点击ok在自己的模块中添加jar包依赖(本地依赖该jar包)使用插件使用命令进行打包普通项目打Jar包IDEA方式同Unidbg方式一,选择指定模块;META-INF选择 Server模块的src目录参考 Maven打包可执行jar包方法大
2022-06-13 18:02:06 2409
原创 Android(9) Unidbg添加SpringBoot Web服务
文章目录1. 添加Server模块方法① unidbg作为模块引入方法② Web作为模块引入2. 配置Server模块3. 编写Unidbg代码3. 修改SpringBoot配置、服务1. 添加Server模块方法① unidbg作为模块引入IDEA新建SpringBoot项目从已存在的模块中导入Unidbg方法② Web作为模块引入IDEA打开Unidbg项目,新建SpringBoot模块2. 配置Server模块修改pom.xml文件,添加依赖 <dependenc
2022-05-31 00:40:47 1075 1
原创 re学习笔记(99)攻防世界 mobile进阶区 LoopCrypto
apk反编译MainActivity非常简单,解密字符串注册一个点击事件点击监听a类,获取用户输入,和程序签名一同传入Decode类的check()方法中Decode类a方法的流程差不多是r21-r23:每个字节的八位,前四位与后四位互换r24-r31:数组每位的值等于与前一位循环异或得到的值r32-r39:数组的每位循环减去前一位,同时减去58check()是native方法http://blog.sina.com.cn/s/blog_81e7361e0102uyge.htmlh
2022-05-30 13:27:06 1687 2
原创 Python grpc协议通信 与 protobuf序列化
GitHub仓库地址:https://github.com/protocolbuffers/protobufGoogle文档:https://developers.google.com/protocol-buffers/https://docs.qq.com/doc/DV2t5TWhvZ21Eend6protobuf安装GitHub release页面下载:将win64解压,bin目录添加进入环境变量,可以使用protoc.exe来生成相关类解压protobuf-python-3.20.1.z
2022-05-15 19:19:18 693
原创 Frida ALL IN ONE
文章目录Frida all in oneFrida环境与基础使用多python frida版本切换pyenv安装pyenv使用Frida环境安装手机环境配置监听Objection环境安装Frida开发环境搭建Objection使用Objection基本使用objection插件WallbreakerFRIDA-DEXDumpobjection高级使用Frida Java层应用hook方法hook静态方法与实例方法hook构造方法对方法重载的hookhook指定方法的所有重载hook内部类与匿名类中的方法内存
2022-05-04 20:49:15 942
原创 杂七杂八(11):重装系统个性化配置
记录备查安装Chrome浏览器,安装KeePassHttp-Connector浏览器插件进行密码管理安装IDM,浏览器插件拖拽住IDM安装目录下的IDMGCExt.crx进行安装安装Typora 安装Typora情况下,Windows右键新建菜单中增加新建md文件安装jdk8 11,配置java环境安装python2,python3电源设置 高级设置 显示休眠安装nodejs修改全局包路径npm config set prefix "C:\node\node_global"npm con
2022-04-05 09:06:17 571
原创 杂七杂八(10):Windows运行cmd脚本关闭黑窗口的方法
第一种方法 vbs脚本加载cmd命令DIM objShellDIM commandset objShell=wscript.createObject("wscript.shell")' 相关运行的cmd命令command="java -javaagent:BurpLoaderKeygen.jar -noverify -jar burpsuite_pro_v2021.7.jar"iReturn=objShell.Run(command, 0, TRUE)第二种方法 vbs脚本加载cmd命令脚本
2022-04-03 16:50:36 1809
原创 CTF-RE 笔记汇总
做了笔记从来不看系列……丢云端清本地了文章目录滴水2015-01-12(进制01)2015-01-13(进制01)2015-01-14(数据宽度_逻辑运算)2015-01-15(通用寄存器_内存读写)2015-01-16(内存地址_堆栈)2015-01-19(标志寄存器)2015-01-20(JCC补录)2015-01-23(C语言完整版)2015-01-26 (c语言02_数据类型)2015-02-05 (结构体 字节对齐)2015-02-06 (switch语句反汇编)指针位运算汇编笔记第二章 寄存器
2022-04-02 14:38:04 2635 2
原创 angr学习-笔记汇总
整理存货…乱七八糟的angr实战00_angr_findimport angrp = angr.Project('/home/cx330/Desktop/Debugging/learn/00_angr_find',auto_load_libs=False)# 加载文件# auto_load_libs=False 不加载共享库文件state = p.factory.entry_state()# 创建一个状态state# entry_state() 构造一个已经准备好从函数入口点执行的
2022-04-02 14:27:34 6408
原创 Android开发(13):ViewPager2使用
ViewPager2使用ViewPager2+Fragmentgradle添加ViewPager2依赖dependencies { implementation "androidx.viewpager2:viewpager2:1.0.0"}layout布局中添加控件<androidx.viewpager2.widget.ViewPager2 android:layout_width="match_parent" android:layout_height=
2022-02-07 12:19:03 3005
原创 Android(-1) 逆向笔记杂记
乱七八糟的一些东西,本地删了,备份环境搭建JDK安装及配置链接:https://pan.baidu.com/s/146I4vDJdz8YeR0OEqLS8xw 提取码:7h00SDK环境配置链接:https://pan.baidu.com/s/1A8rwqyw8Nn7p93Axqpll3A 提取码:cwv4NDK环境配置链接:https://pan.baidu.com/s/1GBFK8r5R_GPSnIpTwpljKw 提取码:aj1aeclipse集成开发环境搭建链接:h
2022-02-03 22:15:22 2843
原创 Android开发(12):Fragment的使用
个人笔记整理FragmentFragment使用Acitivity静态添加Fragment:布局中添加控件<fragment android:name="<Fragment全类名>" android:layout_width="" android:layout_height="" android:id="@+id/fragment_one" />使用全类名直接指定相应fragment,act
2022-01-30 21:58:12 2641
原创 Android开发(11):继续进阶—应该掌握的高级技巧
个人笔记整理继续进阶—应该掌握的高级技巧全局获取Context技巧定义一个MyApp类,继承Applicationpublic class MyApplication extends Application { private static Context context; @Override public void onCreate() { context = getApplicationContext(); } public static
2022-01-24 16:56:50 965
原创 Android开发(10):最 佳的UI体验——MaterialDesign实战
个人笔记整理最佳的UI体验——MaterialDesign实战Toolbar项目主题由AndroidManifest中的android:theme指定,默认继承的Theme.AppCompat.Light.DarkActionBar含有ActionBar指定一个不带ActionBar的主题:Theme.AppCompat.NoActionBar(深色主题) 和Theme.AppCompat.Light.NoActionBar(浅色主题)这两种主题可选而AppTheme的style中指定的item有
2022-01-23 13:11:14 266
原创 re学习笔记(100)python-bytecode | python字节码学习
之前博客的,搬过来python-bytecode官方文档:dis — Python 字节码反汇编器栈基本操作TOS栈顶(栈上最高地址的值)TOS1栈上第二高地址的值TOS2栈上第三高地址的值…………LOAD_NAME压栈LOAD_GLOBAL:全局变量LOAD_FAST:局部变量LOAD_CONST:常量LOAD_ATTR:对象中的属性POP_TOPpopROT_TWOTOS1,TOS1互换ROT_THREE栈顶
2022-01-22 12:47:51 662
原创 Android开发(9):基于位置的服务
个人笔记整理基于位置的服务百度地图API申请API前往百度开放服务平台 (baidu.com)注册开发者来到控制台 | 百度地图开放平台 (baidu.com)创建应用应用名称随意,应用类型选择【Android SDK】获取开发版(debug) SHA1前往系统的.android目录,默认位于~/.android输入命令E:\code\Android\.android>keytool -list -v -keystore debug.keystore输入密钥库口令:密钥库类型:
2022-01-22 11:18:32 1121
原创 Android(8) Android APK无源码动态调试合集
Android动态调试合集文章目录Android动态调试合集JEB动态调试smali使用AndroidStudio配合Smalidea插件来动态调试smaliIDA动态调试so调试app一启动就执行的native函数调试可以手动触发的函数错误踩坑解决Smalidea调试【附加】时无设备或进程此外debuggable属性app在清单中添加debuggable属性修改设备的`ro.debuggable=1`安装magisk后magisk安装`MagiskHide Props Config`模块JEB动态调试
2022-01-21 15:57:15 842
原创 Android开发(8):Service服务
个人笔记整理Service服务服务(Service)是Android中实现程序后台运行的解决方案,它非常适合去执行那些不需要和用户交互而且还要求长期运行的任务Android多线程继承Thread类class MyThread extends Thread { @Override public void run() { // 处理具体的逻辑 }}// 调用new MyThread().start();实现Runnable接口class
2022-01-20 23:50:47 1407
原创 Android开发(7):使用网络技术
个人笔记整理使用网络技术使用Http访问网络使用HttpURLConnection// new一个Url对象URL url = new URL("http://www.baidu.com");// new HttpURLConnection 新建连接HttpURLConnection connection = (HttpURLConnection) url.openConnection();// 可设置请求方式 GET/POSTconnection.setRequestMethod("GE
2022-01-19 13:07:48 1525
原创 Android开发(6):ContentProvider内容提供者
ContentProvider内容提供者内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访数据的安全性。目前,使用内容提供器是Android实现跨程序共享数据的标准方式。运行时权限运行时权限机制Android现在将所有的权限归成了两类,一类是普通权限,一类是危险权限。准确地讲,其实还有第三类特殊权限,不过这种权限使用得很少,因此不在本书的讨论范围之内。普通权限指的是那些不会直接威胁
2022-01-18 13:04:43 710
原创 Android开发(5):数据存储 持久化技术
个人笔记整理数据存储 持久化技术文件存储Context 类中提供了一个openFileOutput() 方法,可以用于将数据存储到指定的文件中。第一个参数为文件名(默认存储到/data/data/<package name>/files/目录下)第二个参数是文件的操作模式,主要有两种模式可选,MODE_PRIVATE和MODE_APPEND。其中MODE_PRIVATE是默认的操作模式,表示当指定同样文件名的时候,所写入的内容将会覆盖原文件中的内容,而MODE_APPEND则表示如
2022-01-17 12:53:09 942
原创 Android开发(4):广播接收者BroadcastReceiver
个人笔记整理广播接收者BroadcastReceiver广播机制简介标准广播 (Normal broadcasts)是一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因此它们之间没有任何先后顺序可言。这种广播的效率会比较高,但同时也意味着它是无法被截断的。有序广播 (Ordered broadcasts)则是一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够收到这条广播消息,当这个广播接收器中的逻辑执行完毕后,广播才会继续传递
2022-01-16 08:30:00 550
原创 re学习笔记(98)攻防世界 mobile进阶区 ill-intentions
题目描述:Do you have have ill intentions?打开查看MainActivity,仅仅注册了一个广播接收者而这个广播接收者也没什么代码,仅仅是接受到不同的信息跳转到不同的Acitivity三个Activity各有一个native函数三个类逻辑差不多相同,只是调用的native方法不同,关系如下DefinitelyNotThisOne:definitelyNotThissThisTheRealOne:perhapsThisThisIsTheRealOne:o.
2022-01-15 12:30:18 4012
原创 Android开发(3):Activity活动
个人笔记整理Activity活动活动基本用法注册活动需要在AndroidManifest.xml中的application节点中注册activity<activity android:name=".FirstActivity"/>若为主Activity<activity android:name=".FirstActivity" android:label="This is FirstActivity"> <intent-filter>
2022-01-15 07:15:00 366
原创 Android开发(2): Android 资源
个人笔记整理Android 资源Android中的资源,一般分为两类:系统内置资源:Android SDK中所提供的已经定义好的资源,用户可以直接拿来使用。用户自定义资源:用户自己定义或引入的,只适用于当前应用的资源。res目录res目录:可以使用R类访问的资源,放到该目录下。res子目录可以存放的资源res/anim定义补间动画的XML文件res/color定义不同状态下颜色列表的XML文件res/drawable各种位图文件(png、jpg
2022-01-14 07:15:00 485
原创 re学习笔记(97)攻防世界 mobile进阶区 APK逆向-2 AndroidManifest.xml修复
题目描述:提交那一串XXXXXXXXXXXXXX即可。下载下来安装后报错Performing Streamed Installadb: failed to install ap.apk: Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION: Failed to parse /data/app/vmdl1255401458.tmp/base.apk: Corrupt XML binary file]同时使用apktool反编译也报错java -.
2022-01-13 18:36:53 4411
原创 Android开发(1):Android UI控件
个人笔记整理Android UI控件控件属性作用值android:layout_width设置宽match_parent fill_parent wrap_contentandroid:layout_height设置高xx dpandroid:gravity内容对齐方式top 、bottom 、left 、right、centerandroid:text文字内容android:textSize文字大小xx spandr
2022-01-12 14:44:49 580
原创 Android开发(0):Android基础、项目目录结构
个人笔记整理Android基础、项目目录结构项目结构Project.gradle和.idea:这两个目录下放置的都是Android Studio自动生成的一些文件,我们无须关心,也不要去手动编辑。app:项目中的代码、资源等内容几乎都是放置在这个目录下的,开发工作也基本都是在这个目录下进行的。build:这个目录你也不需要过多关心,它主要包含了一些在编译时自动生成的文件。gradle:这个目录下包含了gradle wrapper的配置文件,使用gradle wrapper的方式
2022-01-12 14:42:38 552
原创 re学习笔记(96)攻防世界 - mobile区 - app3
.ab格式,下载工具nelenkov/android-backup-extractor: Android backup extractor (github.com)进行解包java -jar abe.jar unpack app.ab app.tar解压后里面有base.apk
2022-01-11 22:39:18 1112
原创 re学习笔记(95) 2021ByteCTF intent重定向浅析
一直没搬过来由2021ByteCTF引出的intent重定向浅析在此先感谢ByteCTF的赛前培训,感谢summer师傅的倾情讲解Intent浅要概述Intent是Android程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。Intent一般可被用于启动活动、启动服务以及发送广播等场景。Intent是一种运行时绑定(runtime binding)机制,它能在程序运行的过程中连接两个不同的组件。通过Intent,你的程序可以向Andro
2022-01-10 22:19:49 3526
原创 Android(7) Android NDK开发:第一个Jni实践
NDK开发:第一个Jni实践项目源码及原文档在Github:【Forgo7ten / AndroidReversePractice】1. 使用AS新建一个ndk项目new一个project选择模板Native C++Next,修改项目名、包名、及所在目录,Next,Finish目录结构:Android开发者文档:向您的项目添加 C 和 C++ 代码 | Android 开发者 | Android Developers (google.cn)2. 新建so源文件并在java中调用
2022-01-06 00:30:00 845
原创 杂七杂八(9): IDEA初始化配置 & 插件收集
文章目录IDEA初始化配置代码不分大小写不全关闭打开项目为最后关闭项目设置包自动导入显示空格与方法分割线设置文件头模板添加方法注释模板IDEA初始化配置代码不分大小写不全关闭打开项目为最后关闭项目设置包自动导入显示空格与方法分割线设置文件头模板添加/** * @ClassName ${NAME} * @Description //TODO * @Author ${USER} * @Date ${DATE} **/添加方法注释模板...
2022-01-05 14:56:05 302
转载 【转载】Android逆向开发之smali语言的学习
Android逆向开发之smali语言的学习该文转载自乱码三千 – 分享实用IT技术smali和java基本数据类型对比smalijavaBbyteSshortIintJlongFfloatDdoubleCcharZbooleanVvoid[数组L+全类名路径用/分割object注释在smali语言中注释使用#表示# 我是注释类声明.class +权限修饰符 +类名;比如以下jav
2022-01-05 01:27:20 847
原创 re学习笔记(94)第四届2021美团网络安全高校挑战赛 - Random
动调时候报错,除以0异常在main函数这里手动制造了一个错误查看导入表发现有SEH注册的函数且这里多了个分支根据交叉引用找到seh注册的异常可以断定出现div 0异常后会执行loc_CA115D的逻辑main函数是一个递归,根据dword_CA336C==43来结束递归,且不等于0时不输入字符主功能就是将输入的字符和随机数进行异或,重点是找准srand的时机三处下断点,发现main函数的流程就是执行两次srand(rand())后,再和rand()进行异或exp为#inclu
2021-12-12 00:00:00 2600
XPOSED依赖JAR包下载, XposedBridgeApi-53.jar
2022-01-23
XPOSED依赖JAR包下载, XposedBridgeApi-82.jar
2022-01-23
自写AndroidStudio JNI编程静态注册 编译调用so源码
2021-07-17
.NET程序 解混淆器和解压缩器
2020-03-25
C语言tea,xtea,xxtea,RC4,base64加解密实现头文件
2020-03-25
一键搭建pwn环境脚本
2020-03-25
VS2019出现未加载wkernel32.pdb问题怎么解决呢?
2020-02-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人