链接Release v1.12.2 · luoyesiqiu/dpt-shell
很有意思的项目 我就试了fart可以成功
使用方法1java -jar dpt.jar -f 3.apk
效果
使用后
脱壳frida-dexdump
小黑盒失败
dumpdex失败
x1Login1234567891011private final void checkSecutity() { if (Secure.checkDebug()) { Toast.makeText(this, "Debugger Detected!", 0).show(); exit(); } if (Secure.checkRoot()) { Toast.makeText(this, "Root Detected!", 0).show(); exit(); } }
上来就是root的检测和调试的检测 好在java层 不然要炸缸 mt管理器去除一下调用就行
接着看
查看so
直接上frida看看怎么个事
1234567891011 Java.perform(function (){ let DecStr = Java.use(& ...
参考Android so层逆向分析入门 - Curz0n’s Blog
Android脱壳工具整理_apk脱壳工具-CSDN博客
ida为9版本
so分析静态注册的方法可以直接在导出表查询到 动态注册则是需要查看jni_onload函数进行分析
stringFromJNI为静态注册
test方法为动态注册
jni_onload第一个参数的类型是JavaVM* 面对错误可以手动修复
动态注册流程
123456789101112131415161718//第一步,实现JNI_OnLoad方法JNIEXPORT jint JNI_OnLoad(JavaVM* jvm, void* reserved){ //第二步,获取JNIEnv JNIEnv* env = NULL; if(jvm->GetEnv((void**)&env, JNI_VERSION_1_6) != JNI_OK){ return JNI_FALSE; } //第三步,获取注册方法所在Java类的引用 jclass clazz ...
参考资料[原创]基于 Frida 对单字节加密验证程序侧信道爆破-CTF对抗-看雪-安全社区|安全招聘|kanxue.com
应用场景面对一些单次较短字节的比较验证场景,例如vm等
原理通过frida插桩获取到比较正确的计数器进行反馈实现爆破
简单代码1234567891011121314151617181920212223#include<iostream>#include<stdlib.h>using namespace std;typedef int status;typedef int selemtype;#include<windows.h>char flag[] = "flag{12321213}";char w[] = "Wrong!";char r[] = "Right!"; int main (){ char input[256] = {0}; gets(input); for(in ...
声明这篇文章纯纯就是水
环境配置adb
不同版本ida的android_server
真机或者模拟器
流程解压获取so文件
安装apk
启动android server
启动ddms
一般sdk目录下面就有
找到对应的进程
ida打开对应的so
断点
也可以ctrl+f7找到对应的内容
adb进入adb shell 启动android server
如果要进行一些端口的选择可以
1./as -p[端口]
adb 端口转发
1adb forward tcp:23946 tcp:23946
adb启动应用
1adb shell am start -D -n [apk包名]/[主活动]
ida附加
选择进程 附加 cmd port可以在monitor找到
1jdb -connect com.sun.jdi.SocketAttach:hostname=127.0.0.1,port=8600
wait for debug就没了 这里建议真机调 因为我模拟器 断点老是出问题
参考文档探究SMC局部代码加密技术以及在CTF中的运用 – Sw’Blog
SHangwendada/CodeRepo: 这是SWDD的逆向技术实现代码存储仓库~
http://gdufs-king.github.io/2020/05/22/smc%E5%8A%A0%E5%AF%86%E7%A0%94%E7%A9%B6/
https://bbs.kanxue.com/thread-263816-1.htm
原理SMC,即Self Modifying Code,动态代码加密技术,指通过修改代码或数据,阻止别人直接静态分析,然后在动态运行程序时对代码进行解密,达到程序正常运行的效果,而计算机病毒通常也会采用SMC技术动态修改内存中的可执行代码来达到变形或对代码加密的目的,从而躲过杀毒软件的查杀或者迷惑反病毒工作者对代码进行分析。通常来说,SMC使用汇编去写会比较好,因为它涉及更改机器码,但SMC也可以直接通过C、C++来实现。
简单代码123456789101112131415#include<stdio.h>#include<stdint.h>void ...
文件识别
第一个是布局文件
java文件
工程项目结构project下有多个模块
projectappmanifests内有俺的日哦的manifest.xml文件 andriod的运行配置文件
java下面有三个com.example.myapp包 第一个存放当前模块的java源代码 后两个存放测试的java代码
resdrawable存放图形描述文件和图片文件
layout存放app页面的布局文件
mipmap存放app的启动图标
values目录存放常量定义文件 字符串常量strings.xml 像素常量dimens.xml等
gradle scriptibuild.gradle
proguard-rules.pro
gradle.properties
settings.gradle
local.properties
创建activitylayout下创建xml文件创建相关的javadiamagnetic
在andriodmainfest.xml注册页面配置
123456789101112<?xml version="1.0" encoding=&q ...
简单的小爬虫acfun1234567891011121314151617181920212223242526#抖音等短视频会将完整的视频进行切割导致我们需要一次性下载多个内容import requestsfrom moviepy import *headers={'user-agent':"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36 Edg/132.0.0.0"}num=0while True: video_num="{:05d}".format(num) url = f"https://ali-safety-video.acfun.cn/mediacloud/acfun/acfun_video/0ab61fa7d4eba429-670fa7db61f7931de917554be349ce ...
reASM?Signin!ai 一把梭
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748#!/usr/bin/env python3# Final DATA1 array after the DO1/DO2 swapping (32 bytes)final_data1 = [ 0x26, 0x27, 0x24, 0x25, 0x3F, 0x27, 0x34, 0x11, 0x32, 0x33, 0x30, 0x00, 0x36, 0x37, 0x34, 0x35, 0x3A, 0x3B, 0x38, 0x39, 0x3E, 0x3F, 0x3C, 0x3D, 0x2A, 0x2B, 0x28, 0x00, 0x2E, 0x2F, 0x2C, 0x2D]# DATA2 array that the encrypted flag is compared with (32 bytes)data2 = [ 0x69, ...