• dp泄露

    dp = d%(p-1) ∴dp*e=d*e mod(p-1) ∴d*e=dp*e+k1*(p-1) ① 又有e*d = 1mod((p-1)*(q-1)) ∴e*d=k2*(p-1)*(q-1)+1 ② ①带入②得 dp*e+k1*(p-1)=k2*(p-1)*(q-1)+1 k1,k2∈Z dp*e =k2*(p-1...
  • Sagemath

    基本编程环境配置可以通过wsl apt包管理器安装sagemath 1sudo apt install sagemath 再在windows中vscode安装wsl插件连接wsl,再在扩展中安装python插件 将python路径设置为sage-python的路径 即可在windows中即时编译运行 基本语法
  • hashcat

    hashcat - advanced password recovery 也可以通过 1pip install hashcat nvidia需要cuda kit支持 常用hash模式标识符12345678-m 0 #MD5-m 100 #SHA1-m 1400 #SHA256-m 1700 #SHA512-m 3200 #bcrypt-m 1000 #NTLm-m 400 #WordP...
  • HNCTF 2022 WEEK3mazes

    脚本参考美团CTF: 100mazes - Pandaos’s blog (panda0s.top) 主要函数 此处的地址offset是物理地址,也就是文件内数据的地址,不是ida反编译中的地址 用010editor查看其物理地址为0x810 通过第一个迷宫函数sub_140001460的地址(0x140001460)与入口点的虚拟地址(0x140001410)相减获取与0x810的相对...
  • 安洵杯 2020easyaes

    12345678910111213141516171819202122232425262728#!/usr/bin/pythonfrom Crypto.Cipher import AESimport binasciifrom Crypto.Util.number import bytes_to_long,long_to_bytesfrom flag import flagfrom key i...
  • AES

    AES ECB不带初始向量,以16字节为一组 123456from Crypto.Cipher import AESm=b'xxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyy'key=b'aEs_1s_SO0o_e4sY'aes=AES.new(key,AES.MODE_ECB)enc=aes.encrypt(m)print(enc) ...
  • 小明文攻击

    小明文攻击的要求是e足够小 因为存在这个关系 1234m^e=c mod n所以有m^e=k*n + c k为整数m = (k*n+c)^(1/e) 同时因为e足够小所以k足够小,可以通过穷举k来获得明文m exp: 123456for e in range(1,5):#遍历e,已知e可以不用遍历 for k in range(2000):#遍历k import Crypto.Uti...
  • 柏鹭杯 2021寻找丢失的碎片

    直接拖进jadx,无法正常输出反编译结果 解压后再进行压缩为apk,就可以进行反编译了 只有一个activity组件 12345678910111213<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.c...
  • 柏鹭杯 2021重要信息还原

    给了两个文件夹,一个是源码一个是编译后的文件 可以直接将resources压缩包打包为apk然后丢进jadx(apk本质就是压缩包) 123456789101112131415<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://sche...
  • JNIso文件混淆

    主要需要查看so文件的JNI_OnLoad函数,查看是如何进行注册的,对应的函数名是什么 类似于下图,就是将sub_1434注册为java内的com/ctf/findthekey/MainActivity findthekey方法 123456789101112131415jint JNI_OnLoad(JavaVM *vm, void *reserved)&#...
1141516171822