图书管理系统【附源码】
java 项目开发架构图 先对整体进行分析、规划数据库表之间的关系 12345一共有五张表分别为 books(图书表)、bookrack(书架表)、borrow(借阅记录表)、reader(用户表)、blacklist(黑名单表)图书表与书架表关系为 一个书架可以有多本书,一本书只能在一个书架上放着,是一对多的关系。图书表与用户表是多对多的关系,一本书可以被多个人借阅,一个人可以借阅多本书,所以是多对多的关系,它们之间的联系 "借阅" 又可以单独成一张借阅记录表。用户表与黑名单表之间的关系为 多对一 的关系,一个用户只能在在黑名单中出现一次,一张黑名单能记录多个进入黑名单的用户 功能需求分析:利用 UML 图先对图书管理系统的功能进行分析 界面规划根据功能序需求,分为 8 个页面来实现下面开始设计界面的草图 配置数据库利用 navicat 连接本地...
我的第一个Github项目-Bilibili_fetcher
Bilibili_fetcherB 站资源免费获取、提供在线播放音乐、本地播放音乐功能 1234- 支持下载B站资源- 支持在线播放 视频、音频- 支持列表下载、合集下载- 本地播放 前置配置 1234567891011121、配置 vlc 安装路径 安装vlc找到vlc.exe的路径 打开软件在配置文件中进行配置2、配置 mitmproxy 证书 打开文件资源管理器输入地址 %Userprofile%\.mitmproxy 双击 mitmproxy-ca.p12 当前用户 -> 下一步 -> 下一步 -> 下一步 -> 将所有证书都放入下列存储 -> 浏览 -> 受信任的根证书颁发机构 -> 下一步 -> 完成3、配置 Cookie(可选) 打开登录 bilibili F12 -> 控制台 -> 输入 console.log(document.cookie) -> 复制 Cookie 打开软件进行配置 功能介绍 主页面 列表下载 合集下载 本地播放库 配置
番外篇 网鼎杯2024 revers1(four)
网鼎杯 2024 revers1(four)1234将 four 文件拖进 Exeinfo 分析,64 位无壳的 elf 文件。打开IDA Pro进行分析进入字符串窗口,可以看到一串很base64码表的东西,但是只有63位先不管DEFGHIJKLMNOPQRSTUVWXYZABabcdefghijklmnopqrstuvwxyz0123456789+/,下面有 Enter the flag字样,双击,Ctrl + x 查看交叉引用,来到 main 函数,F5 进行反编译。 123456可以看到这里要求输入字符串给变量 s,长度必须是 40,暂时 v20 看不出来是什么,他将 32 位给了dst仔细观察观察发现有四个 if 函数,如果为真则就退出,里面的条件是 cmp 比较每次比较 8 位,也就时将输入的字符串提取出 wdflag{xxxxx},xxxxx 一共 32 位给了dst变量,分为四段,分别进行一些操作然后和字符串进行比较,如果相等就返回 0...
Day5 网鼎杯2020jocker SMC与堆栈平衡
SMC 技术12345678910111213SMC,即Self Modifying Code,动态代码加密技术,指通过修改代码或数据,阻止别人直接静态分析,然后在动态运行程序时对代码进行解密,达到程序正常运行的效果。VirtualProtect 函数通常用于代码自加密的场景。代码自加密是一种保护代码不被轻易逆向分析的技术,通过在程序运行时动态地修改代码的内存保护属性,使得代码在执行时可以被修改和执行,但在不执行时则不能被读取或修改。在linux系统中,可以通过mprotect函数修改目标内存的权限在Windows系统中,VirtualProtect函数实现内存权限的修改因此也可以观察是否有这俩个函数来判断是否进行了SMCSMC一般有俩种破解方法,第一种是找到对代码或数据加密的函数后通过idapython写解密脚本。第二种是动态调试到SMC解密结束的地方dump出来。 堆栈平衡1234567891011121314151617// 堆栈不平衡问题出现原因 one:一般是程序代码有一些干扰代码,让IDA的反汇编分析出现错误。比如用push + n条指令 +...
Day4 pyinstaller解包方法(羊城杯login)
python_exe 解压包 提取码:bbxb Pyinstaller 介绍1234567PyInstaller是一个开源的Python程序打包工具,它能够将Python应用程序打包成独立的执行文件,无需依赖Python解释器即可在多种操作系统上运行。这对于分发Python应用程序非常有用,因为用户无需安装Python或应用程序所依赖的库,就可以直接运行程序。经过 PyInstaller 打包的 .exe 文件不能直接用 IDA Pro 顺利分析,因为 PyInstaller 将 Python 字节码和依赖打包成机器码执行文件,而 IDA Pro 主要用于分析机器码,对字节码的直接分析支持有限,且打包过程中可能包含的混淆和加密技术增加了分析的难度。 Pyinstaller 解包方法(羊城杯 login) pyc 文件恢复 反编译 pyc 文件 pyc...
番外篇 网鼎杯2020 bang(Android逆向教学)
安装 frida、frida-tools、frida-dexdump12345pip install fridapip install frida-toolspip install frida-dexdump如果网络环境不好,可以加 -i https://pypi.doubanio.com/simple/ --trusted-host pypi.doubanio.com 指定国内源 查壳工具1234Apkcheck:https://github.com/moyuwa/ApkCheckPack/使用参数-s=true(默认false)开启全文件硬编码信息扫描ApkCheckPack.exe -s=false -f <apk文件路径> 配置 frida-server123456781、首先找一个真机或模拟器,安装好目标应用,并打开开发者选项,开启USB调试;2、如果是模拟器,配置好USB调试后,找到模拟器的adb.exe位置,在这个目录下打开cmd,输入adb devices,查看是否连接成功;3、利用 adb shell 命令,进入手机的shell环境,输入...
Day3 TEA系列算法入门
TEA 系列算法介绍1TEA算法使用64位的明文分组和128位的密钥,它使用Feistel分组加密框架,需要进行 64 轮迭代。该算法使用了一个神秘常数δ作为倍数,它来源于黄金比率,以保证每一轮加密都不相同。但δ的精确值似乎并不重要,这里 TEA 把它定义为 δ=「(√5 - 1)231」(也就是程序中的 0×9E3779B9)。之后 TEA 算法被发现存在缺陷,作为回应,设计者提出了一个 TEA 的升级版本——XTEA(有时也被称为“tean”)。XTEA 跟 TEA 使用了相同的简单运算,但它采用了截然不同的顺序,为了阻止密钥表攻击,四个子密钥(在加密过程中,原 128 位的密钥被拆分为 4 个 32 位的子密钥)采用了一种不太正规的方式进行混合,但速度更慢了。 TEA 算法流程图(一次加密) TEA 算法加密、解密代码1234567891011121314151617181920// 加密代码:for(i=0;i<64;i++){ sum += delta; v0 += ((v1<<4) + k0) ^ (v1 + sum) ^...
Day2 十分钟带你解决逆向中对称加密算法 (RC4)
流加密算法原理1流加密算法(Stream Cipher),是一种加密方式,它通过将明文与一个随机生成的密钥流进行逐位或逐字节异或操作来产生密文。 基本操作12345密钥流生成器(Key Stream Generator):流加密算法的核心是密钥流生成器,它使用一个短的密钥(种子密钥)来生成一个长的密钥流。这个密钥流决定了加密的随机性和强度。异或操作(XOR Operation):明文数据与密钥流进行异或操作,生成密文。解密时,密文与同一密钥流再次进行异或操作,恢复出明文。 RC4 算法介绍原理1234在密码学中,RC4(来自Rivest Cipher...
番外篇:网鼎杯2020 signal(Ponce插件的使用)
VM 知识: 分析流程: 123vm_start :虚拟机入口函数 ,初始化虚拟机vm_dispatcher: 调度器,解释op_code,并选择相应的函数执行,当函数执行完后会返回这里,形成一个循环,直到执行完vm_code:程序可执行代码形成的操作码 Ponce 的简述:对于 Ponce 来说只需要关心那里输入,哪里 success,哪里 wrong。Ponce 是一款 IDAPro 插件,该工具采用 C/C++开发,它可以帮助用户以一种快速简洁的方式对目标代码进行污点测试以及符号执行。用户只需点一下鼠标或者按一下键盘,剩下的就可以交给 Ponce 了 1Ctrl + Shift + M :符号化(找到输入的参数将其变为符号变量) 符号执行:1234传统符号执行是一种静态分析技术,最初在1976年由King JC在ACM上提出。即通过使用抽象的符号代替具体值来模拟程序的执行,当遇到分支语句时,它会探索每一个分支, 将分支条件加入到相应的路径约束中,若约束可解,则说明该路径是可达的。在遇到程序分支指令时, 程序的执行也相应地搜索每个分支,...
Day1 IDA入门教学
IDA 介绍与快捷键的使用123IDA 是一款功能强大的静态反汇编工具,可以帮助安全研究人员、黑客和软件开发人员理解和分析各种编译后的程序文件(如EXE、DLL、ELF等)。同时也拥有动态分析功能,可以跟踪运行时的程序行为。我们新手先学习IDA就足够了。 快捷键静态反汇编快捷键: 12345678910111213141516171819202122Shift + F12 //进入字符串窗口,所有字符串都在这Ctrl + X //可以知道那个函数引用了这个字符串X //查看函数在哪里被引用了G //将地址复制下来之后,如果想要回去,按G输入地址即可ALT + T //文本搜索N //修改函数、变量的名称Ctrl + Z //撤销操作/ ...
