自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

billvsme的专栏

好好学习,天天向上~~~~~

  • 博客(111)
  • 收藏
  • 关注

原创 0成本LLM微调上手项目,⚡️一步一步使用colab训练法律LLM,基于microsoft/phi-1_5,包含lora微调,全参微调

✏️0成本LLM微调上手项目,⚡️一步一步使用colab训练法律LLM,基于microsoft/phi-1_5,包含lora微调,全参微调

2023-11-08 20:00:00 372

原创 基于langchain,gradio实现法律AI小助手,法律RAG,通过倒入全部200+本法律手册、网页搜索内容结合LLM回答你的问题,并且给出对应的法规和网站

法律AI助手,法律RAG,通过全部200+本法律手册、网页搜索内容结合LLM回答你的问题,并且给出相应的法规和网站,基于 langchain,Gradio,openai,chroma,duckduckgo-search

2023-10-20 16:14:13 468

原创 部署你自己的OpenAI格式api,基于flask, transformers (使用 Baichuan2-13B-Chat-4bits 模型,可以运行在单张Tesla T4显卡)

部署你自己的OpenAI api🤩, 基于flask, transformers (使用 Baichuan2-13B-Chat-4bits 模型, 可以运行在单张Tesla T4显卡) ,实现了OpenAI中Chat, Models和Completions接口,包含流式响应

2023-09-26 22:02:46 1330

原创 抓取豆瓣,bilibili等中的电视剧、电影、动漫演员等信息

从豆瓣,bilibili等收集电视剧、电影、动漫、演员等信息, 使用requests 发送请求,BeatufulSoup解析html,SQLAlchemy 作为ORM,Alembic数据库版本控制。 使用:协程(gevent)+多进程(Celery)Doc代码的文件结构.├── REA

2016-02-29 23:16:56 5935

原创 SQLAlchemy使用笔记--SQLAlchemy ORM(三)

参考: http://docs.sqlalchemy.org/en/rel_1_0/orm/tutorial.html#eager-loading 预先加载前面的代码,因为是lazy load,当我们调用User.addresses 时,sqlalchemy才会发出sql语句去取addresses, 比如:query = session.query(User).all()for user i

2015-12-17 13:19:38 3625

原创 SQLAlchemy使用笔记--简介

SQLAlchemy使用笔记概述SQLAlchemy 是python 操作数据库的一个库。提供了2种方式操控数据库(官方文档可以看见分为SQLAlchemy ORM 与SQLAlchemy Core)。一种是ORM(使用类定义数据表),另一种可以说就是打包好的方便使用的sql概述SQLAlchemy 是python 操作数据库的一个库。提供了2种方式操控数据库(官方文档可以看见分为SQLA

2015-12-15 21:42:40 2184

原创 SQLAlchemy使用笔记--SQLAlchemy ORM(二)

建立表之间带关系外建在address添加user的外键from sqlalchemy import ForeignKey, Column, String, Integerfrom sqlalchemy.orm import relationshipclass User(Base): __tablename__ = 'users' id = Column(Integer, prima

2015-12-15 20:34:41 5832

原创 SQLAlchemy使用笔记--SQLAlchemy ORM(一)

SQLAlchemy ORM – Object Relational Tutorial 参考: http://docs.sqlalchemy.org/en/rel_1_0/orm/tutorial.html查看版本>>> import sqlalchemy>>> sqlalchemy.__version__'1.0.6'创建连接from sqlclachemy impo

2015-12-11 16:42:12 13219

原创 Docker 学习笔记(三)--Docker镜像与仓库

#镜像与仓库##查看和删除镜像镜像存放的位置 /var/lib/docker###列出镜像 docker images [OPTIONS] [REPOSITORY] -a, --all=false

2015-10-12 12:16:40 3785

原创 Docker 学习笔记(二)--Docker客户端和守护进程

#Docker 守护进程sudo docker daemon & 即可 启动docker 守护进程sudo docker daemon --help 查看帮助其中``` --label 设置标签 sudo docker info 可以查看到label选项 -H 指定docker守护进程的socket,可以是: tcp://host:post unix:///patch/to

2015-10-11 11:08:19 15462 1

原创 docker 学习笔记(一)

docker 学习笔记(一)什么是容器一种虚拟化解决方案,是一种操作系统级别的虚拟化,只能运行在相同或者相似的操作系统上,依赖于linux的namespace根cgroups。 什么是Docker容器本身比较复杂,不易安装,管理和实现自动化。docker出现就是为了改变这些。Docker是一种可以把程序自动部署到容器中的一种开源引擎 docker 可以将应用程序自动部署到容

2015-09-27 22:47:55 1368

原创 mongodb 学习笔记05 --用户管理

csdn的markdown编辑器真有够烂的,这篇文章又给弄丢了启用认证mongod 启动默认没有开启权限,你需要指定 –auth 启动,或者在配置文件中设置security.authorization 为 “enabled”##创建用户 db.createUser(user, writeConcern)- 文档 http://docs.mongodb.org/manual/reference/m

2015-07-06 23:38:55 1681 1

原创 mongodb 学习笔记 09 -- shard分片

概述     shard 分片 就是 把不同的数据分在不同的服务器 模型其中:     用户对mongodb的操作都是向mongs请求的     configsvr 用于保存,某条数据保存在哪个shard的上 如何使用分片先启动2个节点作为shardmongd --dbpath ~/db/mongo1/databse --logpath ~/db/mongo1/log/mongo.log --

2015-07-03 02:37:16 1806

原创 mongodb 学习笔记 08 -- replication复制集

mongodb 学习笔记 08 – replication复制集官方文档: http://docs.mongodb.org/manual/replication/replication sets 多台服务器维护相同的数据副本如何使用复制集第一步启动mongod是要指定复制集名字,通过 添加--replSet name 或者 在配置文件中设置replication.replSet

2015-07-02 01:41:50 2021

原创 mongodb 学习笔记 02 -- CURD操作

不知道怎么回事,笔记2变到草稿里去了mongodb 学习笔记 02 – CURD操作CURD代表创建(Create)、更新(Update)、读取(Read)和删除(Delete)操作

2015-07-01 11:42:25 1255

原创 mongodb 学习笔记 07 -- 数据备份、恢复

- mongoexport 导出json或者csv格式- mongoimport 导入json或者csv- mongodump 导出二进制bson结构数据以及索引信息- mongorestore 导入二进制文件**mongoexport** -h 主机 --port 端口号

2015-07-01 00:37:33 1720

原创 mongodb 学习笔记 06 -- mongod配置文件

官方文档 http://docs.mongodb.org/manual/reference/configuration-options/不错的文章 http://my.oschina.net/u/1449160/blog/273283

2015-06-30 01:33:00 6069 1

原创 mongodb 学习笔记 04 -- 游标、索引

mongodb 学习笔记 04 – 游标、索引.explain().getIndexes().ensureIndex().dropIndex()

2015-06-25 09:02:36 1250

原创 mongodb 学习笔记 03 -- 查询表达式

mongodb 学习笔记 03 – 查询表达式不等于 db.stu.find({name:{$ne:’billvsme’}})

2015-06-22 15:37:50 1241

原创 mongodb 学习笔记 01 -- 概述,安装,运行

mongodb 概述mongodb 是文档型NoSQL数据库,存储 bson--> json二进制。内部执行引擎为js解释器,把文档存储成bson结构,在查询时,转化为js对象。并可以通过js语法操作。mongodb 与传统数据库比传统数据库**是结构化数据库,列的个数类型都一样

2015-06-18 01:04:41 1329

原创 vmaig_blog 一个基于 Django1.8 跟 Bootstrap3 开发的 博客系统

项目地址 https://github.com/billvsme/vmaig_blog概述 vmaig_blog 是一个基于 Django1.8 跟 Bootstrap3 开发的 博客系统 ,实现了一个博客完整的功能。http://vmaig.com 就是基于vmaig_blog 搭建的。实现功能1. 文章,分类,专栏的添加,删除,修改。支持**tinymce**富文本编辑器。支持文章中代码**高亮**。2. 实现**用户注册,登陆,修改密码,忘记重置密码**。通过**邮箱**

2015-05-09 23:54:13 5965 8

原创 PE文件结构(五)基址重定位

参考书:《加密与解密》视频:小甲鱼 解密系列 视频基址重定位 链接器生成一个PE文件时,它会假设程序被装入时使用的默认ImageBase基地址(VC默认exe基地址00400000h,dll基地址10000000h),并且会把代码中所有指令中用到的地址都使用默认的基地址(例如 程序代码中 push 10001000,就是把10000000h当做了基地址,把push 10001000写入到文件中)。如果一个exe程序中一个dll装载时的地址与其它dll地址发生冲突(因为windo

2014-10-07 01:55:46 6662

原创 PE文件结构(四) 输出表

PE文件结构(四)参考书:《加密与解密》视频:小甲鱼 解密系列 视频输出表 一般来说输出表存在于dll中。输出表提供了 文件中函数的名字跟这些函数的地址, PE装载器通过输出表来修改IAT。 IMAGE_OPTIONAL_HEADER中的 DataDirectory[0] 提供了输出表的RVA。输出表是以一个IMAGE_EXPORT_DIRECTORY结构 开始的。IMAGE_EXPORT_DIRECTORY结构:typedef struct _IMAGE_EXP

2014-10-06 00:48:50 2381

原创 PE文件结构(三) 输入表

PE文件结构(三)参考书:《加密与解密》视频:小甲鱼 解密系列 视频输入表 输入函数,表示被程序调用但是它的代码不在程序代码中的,而在dll中的函数。对于这些函数,磁盘上的可执行文件只是保留相关的函数信息,如函数名,dll文件名等。在程序运行前,程序是没有保存这些函数在内存中的地址。当程序运行起来时,windows加载器会把相关的dll装入内存,并且将输入函数的指令与函数真在内存中正的地址联系起来。输入表(导入表)就是用来保存这些函数的信息的。 在 IMAGE_OPT

2014-10-03 11:52:39 4384 1

原创 PE文件结构(二) 区块,文件偏移与RVA转换

PE文件结构(二)参考书:《加密与解密》视频:小甲鱼 解密系列 视频区块 在区块表 后面的就是一个一个区块,每个区块占用对齐值的整数倍,一般的文件都有代码块 跟 数据块( 它们的名字一般为.text 跟 .data 但这是可以修改的)。每个区块的数据具有相同的属性。编译器先在obj中生成不同的区块, 链接器再按照一定的规则合并不同obj跟库中的快。例如每个obj中肯定有.text 块, 连接器就会把它们合并成一个单一的.text 块;再如,如果两个区块具有相同的的属性就有可能被合

2014-10-02 22:31:31 3729

原创 PE文件结构(一) 基本结构

PE文件结构(一)参考书:《加密与解密》视频:小甲鱼 解密系列 视频 exe,dll都是PE(Portable Execute)文件结构。PE文件使用的是一个平面地址空间,所有代码和数据都被合并在一起,组成一个很大的结构。先看2张图,来大概了解一下PE文件结构。PE文件的框架结构 通过这张图(开始在下面),我们可以知道PE文件的大概结构,PE文件是由 DOS头,PE文件头,块表,块,调试信息 这些部分组成的。这些结构的定义在 winnt.h 中的 “Image

2014-09-18 23:52:56 4265 2

原创 OllyDbg 使用笔记 (十九)

OllyDbg 使用笔记 (十九)参考书:《加密与解密》视频:小甲鱼 解密系列 视频反调试 先看看这四个程序。 它们自己运行时都没有问题,都显示被注册信息 “You really did it! Congratz it",但是一到OD中运行就会出现未注册或者报错。 这四个程序都对OD进行了反调试。 它们都用了IsDebuggerPresent这个API函数来判断是否程序被调试器调用。 可以先看看ReverseMe.A程序,正常运行时会出现“Y

2014-09-09 22:48:34 1617

原创 OllyDbg 使用笔记 (十八)

OllyDbg 使用笔记 (十八)参考书:《加密与解密》视频:小甲鱼 解密系列 视频 这次这个程序跟原来的程序不一样,它会对自身的代码进行加密解密。 程序运行前有一个nag窗口,破解目标去除这个nag窗口。图片1 OD加载这个程序,搜索nag窗口的文字。可以找到:图片2 但是在此处下断点后,重新运行程序,发现程序没有在下断点的地方停下来。分析可以知道,这个程序有些狡诈,我们搜到的那个貌似产生nag窗口的代码可能是用来骗我们的。真正的代码可能被加密了

2014-09-08 19:00:14 1390

原创 OllyDbg 使用笔记 (十七)

OllyDbg 使用笔记 (十七)参考书:《加密与解密》视频:小甲鱼 解密系列 视频破解这个程序的注册机(keygen) 这个程序主界面就是两个输入框,跟check,about按钮。 可以从两个输入栏入手,用OD加载程序,右键-->查找-->所以摸快间的调用,搜索跟输入框的API,可以搜索GetDlgItemTextA

2014-09-06 23:23:09 1428

原创 OllyDbg 使用笔记 (十六)

OllyDbg 使用笔记 (十六)参考书:《加密与解密》视频:小甲鱼 解密系列 视频 此程序运行进行后有一个nag窗口,可以从这个nag窗口人手,用Resource Hacker这个软件查找这个nag的hInstance 可以知道这个nag窗口的hInstance为100(十进制),把程序加载到OD,搜索push 0x64 再所有push 0x64上下断点。运行程序,找到是产生nag窗口的那个call。删除其它断点。观察这个call 的前面的代码,可以发 je

2014-09-06 17:50:29 1377

原创 OllyDbg 使用笔记 (十五)

OllyDbg 使用笔记 (十五)参考书:《加密与解密》视频:小甲鱼 解密系列 视频通过对话框的hinstance 破解 win32中对话框分模态对话框与非模态对话框, 模态对话框用 int DialogBoxParam(HINSTANCE hInstance,LPCTSTR IpTemplateName,HWND hWndParent, DLGPROC IPDialogFunc,LPARAM dwlnitParam);来创建。 非模态对话框用

2014-09-05 11:19:51 1221

原创 OllyDbg 使用笔记 (十四)

OllyDbg 使用笔记 (十四)参考书:《加密与解密》视频:小甲鱼 解密系列 视频 此程序运行前会有一个nag窗口,运行结束后也有一个nag窗口。破解目的要去除这两个nag窗口。 用OD加载这个程序,按F9运行,当第一个nag窗口出现时,按下暂停。查看 堆栈调用

2014-09-04 21:02:26 2444

原创 OllyDbg 使用笔记 (十三)

OllyDbg 使用笔记 (十三)参考书:《加密与解密》视频:小甲鱼 解密系列 视频方法一:内嵌补丁 加载程序,按F9运行,点击Enter Reg.Code 输入name,key等,先不要按OK ,到OD中 按Ctrl+N打开输入输出表,搜索KillTimer,设置断点。再点击注册窗口的OK,我们可以看见: (也可以通搜索注册失败时弹出窗口中的“The registration code seems to be not valid” 来找到下面代码)

2014-09-03 16:08:27 1874

原创 OllyDbg 使用笔记 (十二)

OllyDbg 使用笔记 (十二)参考书:《加密与解密》视频:小甲鱼 解密系列 视频 安装好程序后,打开程序可以在About中看到注册界面。可以先从输入的API入手试试。 右键-->查找-->所有模块间的调用,搜索GetWindowTextA (直接输入这些字母即可搜索),选中找到的的调用,右键-->“在每个调用到GetWindowTextA设置断点”。 我们可以查看OD设置了3个断点。(我们也可以按Ctrl+N查看输入输出表搜索GetWindowTextA设置断点)。

2014-09-02 00:06:39 1640

原创 OllyDbg 使用笔记 (十一)

OllyDbg 使用笔记 (十一)参考书:《加密与解密》视频:小甲鱼 解密系列 视频 此程序可以从注册时未输入last name 产生的 提示信息入手。 查找所有参考文本字串,搜索“Enter a Last”,可以看到: 观察前后的字符串,可以发现这堆字符串的最底下,ASCII "Registration Key accepted!" 与ASCII "Registration Key Failed!" 很关键 点击ASCII "Registratio

2014-08-28 14:29:11 1040

原创 OllyDbg 使用笔记 (十)

OllyDbg 使用笔记 (十)参考书:《加密与解密》视频:小甲鱼 解密系列 视频 这个程序可以从标题栏的“ unregistered”入手,查找所有参考文本字串,搜索 “unregistered” 可以找到这段代码:可以发现004046E0~0040470C 是一段函数。我们可以发现je跳转比较关键,在这里可以先尝试让je不跳转。但是这样只能使标题中不会出现(unregistered),被屏蔽的功能还是不能使用。直接改je跳转不行,我们可以看看引起je跳不跳转

2014-08-27 07:36:04 2736

原创 OllyDbg 使用笔记 (九)

OllyDbg 使用笔记 (九)参考书:《加密与解密》视频:小甲鱼 解密系列 视频 这个程序安装好会会要求注册,它的密钥是按照你电脑的MAC等唯一的标识来计算的。 我们可以用PEiD来查看这个程序的类型,可以发现这个程序使用VB写的。VB程序破解 所有VB程序几乎都依赖于MSVBVM60.dll这个动态链接库。所以程序频繁的在用户领空跟dll领空中跳来跳去。 但是正是因为这样,VB破解可以走捷径。可以直接等对 用来比较API函数 下断点来调试破解。

2014-08-26 09:55:03 1475

原创 OllyDbg 使用笔记 (八)

OllyDbg 使用笔记 (八)参考书:《加密与解密》视频:小甲鱼 解密系列 视频分析 这个程序,未注册版本限制了一些功能。 尝试在register界面写入email和密钥 会弹出注册未成功的窗口。可以利用窗口中的文字作为突破口。在OD中 查找 所有参考文本字串图片1暴力破解 查看 未注册成功后弹出窗口中的字符串的代码:

2014-08-21 23:24:12 1476

原创 OllyDbg 使用笔记 (七)

OllyDbg 使用笔记 (七)参考书:《加密与解密》视频:小甲鱼 解密系列 视频暴力破解 观察这个程序。可以从程序标题的<unregistered 个跟 About 中的 <Unregistered Version>入手 用OD打开程序,右键-->查找-->所有参考文本字串图片1 在打开的界面中,将滚动条移到追上面(因为是从光标处开始搜索的),右键查找文本,先搜索<unregistered

2014-08-12 02:31:02 1558

原创 OllyDbg 使用笔记 (六)

OllyDbg 使用笔记 (六)参考书:《加密与解密》视频:小甲鱼 解密系列 视频去除NAG以及运行次数限制方法1: 去除NAG窗口的方法是:F8运行程序,碰到出现NAG的CALL就下断点,重新运行按F7进入此CALL,直到找到用户领空“真正“CALL出NAG窗口的CALL。观察此CALL前后的代码。 按照前面说的,找到这个CALL在 00489912 可以发现这个CALL返回eax=1,而且下面的一句是判断cmp是否是1,是1就正常运行。所以这个CALL的

2014-08-11 23:06:45 1463

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除