unidbg初探
参考链接(主要是备份向)unidbg入门笔记
项目简介项目地址
unidbg 是建立在Unicorn引擎之上的,Unicorn引擎是一个强大的开源CPU模拟器框架,支持多种架构,包括x86、ARM、MIPS等,因此unidbg也能够模拟这些不同的CPU架构。UniDGB的另一个核心组成部分是Capstone引擎,它用于反汇编和指令解码。
基本框架1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556package com.kanxue.test2; import com.github.unidbg.AndroidEmulator;import com.github.unidbg.Module;import com.github.unidbg.arm.backend.DynarmicFactory;import com.github.unidbg.linux.android.AndroidEmulatorBuilder;import co ...
上海大学生-2024-re
看着都是 ez 题emm
ezRe前面一个假的加密解出一个假的flag{how_is_the_weather_today},然后 SMC 进去解真flag,RC4,假flag是key
ezloginDES+base64,key从so里直接拿
easy_iotbinwalk 解包,然后进squashfs-root,用 stat filename 查看时间戳
bash的 modify时间是 2024-3-19,看起来是动过的,upx -d一下解密即可
stm32ida 8.3 能把函数修的很好,但是没有 decompiler,只能用 ida7.7 对着一点点修emmm
用 ida 打开,调下参数把 format 变成 arm-littie_endian : armv7-M,这个架构默认的入口地址是 0x8000000,根据这个创建ROM段,选择其基址为 0x8000000
看一下STM32的内存映射图
主要看的是 flash:0x08000000-0x0807FFFF, SRAM:0x20000000-0x3FFFFFFF, Peripherals:0x4 ...
京麒CTF-2024-re-wp
possible-doorrust tauri 逆向,需要一定脑洞,题目描述比较抽象 sometimes history repeats itself伏笔。
先解包出 js 代码,在最下面发现前后端用 invoke 交互和与远程 http 交互的逻辑,先用 waitnum 从后端拿一个随机数,然后用这个随机数作为 ecdsa 的私钥,再生成对应的公钥,setInterval 是一个监听函数,每次 function x 收到远端发来的请求,格式是 updateType, data ,通过流量包分析,data 是一个文件路径,op1 和 op2 对应list_dir 和 read_file,用 invoke 和后端交互执行完对应函数以后,把返回值交给 function h 再 POST 回去。
返回包的格式为 Publickey, ecdsa.sgin(msg, privatekey), msg,都是加密过的,那么既然前端没有加密逻辑,肯定就藏在后端,结果出题人12点才给符号emmm
12345678910111213141516171819202122232425262728293031 ...
铁三2024-re
ez_driver & kernel两个驱动逆向,先放一个链接
Windows 驱动开发 新手入门(一)_windows驱动开发-CSDN博客
理论知识部分代码1234567891011121314151617181920212223242526272829303132333435363738394041424344454647NTSTATUS DriverAddDevice(PDRIVER_OBJECT pDriverObj, PDEVICE_OBJECT pPhysicalDeviceObject){ DbgPrint("AddDevice\n"); NTSTATUS status = STATUS_SUCCESS; UNICODE_STRING deviceName; UNICODE_STRING linkName; PDEVICE_OBJECT pDeviceObj = NULL; //创建设备对象 PDEVICE_EXTENSION pDeviceExt = NULL; //设备扩展对象 RtlInitUnicodeString(& ...
BeginCTF2024-re-wp
红白机6502汇编,直接找一个在线网站编译运行一下即可
Easy 6502 (codediy.github.io)
Xorupx -d去壳,然后一堆轮密钥异或,细致一些就可以
1234567891011121314151617181920212223242526272829303132333435#include<bits/stdc++.h>using namespace std;char enc[] = "`agh{^bvuwTooahlYocPtmyiijj|ek'p";char key1[] = "63290794207715587679621386735000";char key7[] = "41803873625901363092606632787947";char key2[20], key3[20], key4[20], key5[20], key6[20], key8[20], key9[20], key10[20], key11[20];int main(){ fo ...
L3HCTF-2024-部分复现
day1聚会去了直接摸鱼,结果队里的爹们直接全给干完了,day2跟师傅们一起把reAK了,只能说OIer多少带点傻逼的
babycom调试可以发现释放了一个dll文件在 C:\Users\Username\AppData\Local\Temp
继续调试到
再 F7 可以进入加密函数
创建函数反编译后发现是一堆 XTEA 加密
key是这个
最后还有一个 advapi32_CryptEncrypt
密文是Buf1
解密即可,参考 CryptEncrypt 函数 (wincrypt.h) - Win32 apps | Microsoft Learn
1234567891011121314151617181920212223242526272829303132333435363738394041#include<iostream>#include"Windows.h"#include<windef.h>#include<stdint.h>unsigned char enc[] ={ 0x0B, 0xAF, 0x5 ...
蓝帽杯(取证杯)2022半决赛WP
EXE 取证1-5嫌疑人手机微信聊天记录 dump 出压缩包和密码,放在微步在线沙箱中五个一把梭子。
APK取证jadx-gui工具。
1APK signature 直接可以看到。
2base64 decode aHR0cHM6Ly9hbnNqay5lY3hlaW8ueHl6
4Manifest.xml1<meta-data android:name="DCLOUD_STREAMAPP_CHANNEL" android:value="exec.azj.kny.d.c|__W2A__nansjy.com.cn|127356250608|"/>
5
感觉这个也算安全检测,选了是
7assets/html 下有三个页面
8解压缩以后找到Info.plist这个文件
12<key>CFBundleIdentifier</key><string>com.dd666.hongxin</string>
包名就是com.dd666.hongxin
912<key>APIKey</key ...
蓝帽杯(电子取证杯)2022赛题复现
当时比赛的时候只做了程序分析,还得是mmr大爹和se大爹最后AK了电子取证还出了个pwn+web直接起飞了。
逆向只有一道题,纯坐牢呜呜呜。:<
LOADER64bit程序,无壳,IDApro打开以后主函数只有几行
12345678int __cdecl main(int argc, const char **argv, const char **envp){ DWORD flOldProtect; // [rsp+30h] [rbp+8h] BYREF VirtualProtect(&unk_7FF6741C3040, 0x34166ui64, 0x40u, &flOldProtect); sub_7FF6741C1040(&unk_7FF6741C3040); return 0;}
查询MSDN可知,VirtualProtect函数的作用是修改任何进程的访问保护,语法为
123456BOOL VirtualProtect( [in] LPVOID lpAddress, // 要更改其访问保护属性的页面的区域的起始页的地址 ...
强网杯2022 部分赛题复现
GameMasterC#逆向,用dnspy打开.exe文件,找到入口点main函数
1234567891011121314151617181920private static void Main(string[] args){ConfigurationManager.AppSettings.Set("microsoft:WorkflowComponentModel:DisableActivitySurrogateSelectorTypeCheck", "true"); FileStream fileStream = File.OpenRead("gamemessage"); int num = (int)fileStream.Length; Program.memory = new byte[num]; fileStream.Position = 0L; fileStream.Read(Program.memory, 0, num); Console.Title = "♠ Black ...
Guitar-乐理基础学习笔记
国际标准音
频率
音名
位置
880hz
a2
一弦17品
440hz(调音器430-445)
a1
一弦5品
220hz
a
三弦2品
110hz
A
五弦空弦
十二平均律
对应吉他十二个品格,相邻一个为半音,两格为一个全音。
C大调:全全半全全全半, 1 2 3 4 5 6 7 1
C小调:全半全全半全全, 1 2 3b 4 5 6b 7b 1
A自然大调:全全半全全全半,6 7 1 2 3 4 5 6
A自然小调:全全半全全全半,6 7 1# 2 3 4# 5# 6
C大调和A小调是关系大小调(相隔关系是一样的),C大调和C小调是同名大小调。
音名C大调唱名相对应
CDEFGAB,对应123456,(Do,Re,Mi,Fa,Sol,La,Ti,Do)
音程基本概念音程就是两个音之间的距离(也可以是自己与自己,就是一度),1 - 2是二度音
分类一般分极为和谐,和谐,不和谐,极不和谐。
音程的计算需要时间熟练
大三度两个全音组成
小三度一个全音一个半音组成
和弦三和弦三和弦顾名思义就是由三个音构成的关系,分为根音,三音,五音。
大三和弦:大三度 ...