逆向汇编基础
movmov 是赋值语句例:
mov 地址,0x123456 把 0x123456 赋给地址位置
mov 地址1,地址2把地址 2 位置的值赋给地址 1 位置
callcall 是调用函数如果有参数需要用 push 传递参数
12push 0x01call xxx
incinc 就是+1
decdec 就是-1
jmpjmp 是无条件跳转。可以跟地址也可以跟函数
12jmp 地址jmp 函数
push向地址-4 的地方压入参数
1push 0x5
add加法运算
sub减法运算
imul带符号乘法运算
mul不带符号乘法运算
idiv带符号除法运算
div不带符号除法运算
子程序(函数)子程序的汇编一定以以下代码开头
12push ebpmov ebp,esp
一定以以下代码结尾
12mov esp,ebppop ebp
KMP算法
KMP 是一种字符串的模式匹配算法,可以在最多只遍历一遍主串的情况下,实现两个字符串的匹配。时间复杂度 O(m+n)
字符串匹配问题子串的定位操作通常称为串的模式匹配,他求的是字串(通常成为模式串)在主串中的位置。很容易想到一种朴素的暴力解法。直接上代码
1234567891011121314151617181920212223int Index(string S,string T){ int i=0,j=0; while(i<S.length() && j < T.length()) { if(S[i] == T[j]) { ++i; ++j; } else { i = i - j + 1; j = 0; } } if(j == T.length()) { r ...
JS修改依赖代码逻辑
在开发的过程中,有一些依赖中有一些 bug 或者某一点点的逻辑不是我们想要的,这个时候我们需要去修改他的逻辑。在某些语言中这样的操作很麻烦的,需要把他的代码找到,然后修改重新打包,把依赖换成重新打包后的包。而在 js 中是很容易的。可以把修改逻辑放到postinstall中,这样即使是团队开发,大家也都可以共享这段逻辑。而patch-package就是一个类似这样的工具,他可以更好,更规范话的帮助我们修改依赖中的逻辑
实战我的博客是使用butterfly作为博客主题gitalk作为评论工具。在butterfly主题中,他的内嵌的gitalk集成逻辑是使用 url 的 path 作为gitalk的 id,而最近我正在优化博客的 SEO,所以文章的 url path 可能会改变,这样文章变了,评论就都没了,这并不是我想要的。我想修改这段逻辑让他变成使用 path 的最后一段作为 id,而我保证无论 url 怎么变,最后一段 path 不变。
安装patch-package
1npm i patch-package --save-dev
添加postinstall脚本,以便后面我换电脑或者 ...
OD逆向系列3-多种方式破解实战
本文使用的例子可以关注公众号全栈编程笔记回复OD 逆向工具包进行下载特别声明:例子和工具来源于网络,不保证安全性,在操作之前建议使用冰点还原或者你认为安全的工具保护系统。
本文介绍本文使用密码登录.exe这个例子来介绍多种方式破解。这里例子的大致工作原理是在一个输入框中输入一个密码,如果错误会提示登录失败如果输入正确的密码就会弹出一个新的窗口
破解目标,让他弹出来登录成功的窗口
破解方法字符串破解法1. 找到文件头使用 OD 打开例子,按下Ctrl + G进行搜索00401000(exe 程序的文件头)
2. 智能搜索可以搜索关键字,找到”登陆失败”这几个关键字右击,找到中文搜索引擎中的只能搜索。Ctrl + F 搜索 “登陆失败” 找到位置
可以很容易分析发现,是由于这个跳转导致的弹出登录失败的窗口那我们这里就可以简单的把这个跳转语句抹掉。点击这个语句,右击二进制,使用 nop 填充再次点击登录按钮可以看到登录成功的窗口弹出来了。
弹窗断点法因为报错信息是一个错误弹窗,我们可以下一个弹窗断点来找到报出错误的地方。
1. 设置消息框断点
2. 运行程序,使其弹出消息框3. 寻找调用过程 ...
OD逆向系列2-常用的汇编指令
这些指令不需要死记,用的时候查表知道是干什么的就可以了。
指令
作用
cmp a,b
比较 a,b 大小
mov a,b
b 的值赋给 a
ret
返回主程序
nop
空语句
call
调用子程序
je/jz
相等则跳转 机器码是 74/84
jez/jnz
不相等则跳 机器码是 75/85
jmp
无条件跳 机器码是 EB
jb/jl
小于则跳
ja/jg
大于则跳
jge
大于等于则跳
pop xxx
xxx 出栈
push xxx
xxx 压栈
如果想了解更详细可以参考一下逆向汇编基础
OD逆向系列1-搭建环境
软件本文所有的涉及到的软件可以关注公众号全栈编程笔记回复OD 逆向工具包进行下载
冰点还原在逆向的过程中有一些恶意程序会带有破坏性的行为损伤电脑文件,因此需要提前搞好保护措施来保护我们的电脑。这里使用冰点还原来进行保护。冰点还原可以做到类似网吧的那种效果,每次开机之后都会把系统恢复到之前的状态。
为什么不用虚拟机很多软件都会对虚拟机进行检测,不允许在虚拟机环境中运行
常用逆向工具包这里准备一个逆向工具包,包括常用的工具 od、ce、exeinfope 等工具,具体可以看下面的截图
驱动 OD对于一些加了壳的软件,加壳工具可能会对调试工具进行检测,一般的 OD 搞定不了这些壳,需要特别的驱动 OD 进行逆向。
特别声明本文所有的工具均来源于网络,不保证安全性,因此在打开之前建议使用冰点还原将磁盘冻结,使用完成之后恢复原来的系统。
canal同步mysql数据到es
环境信息
docker
mysql 8.0.25
canal 1.1.5
canal-admin 1.1.5
canal-adapter 1.1.5
elasticsearch 7.3.0
环境搭建mysql修改 my.ini,开启 binlog
1234[mysqld]log-bin=mysql-binbinlog-format=ROWserver-id=1
使用 docker-compose 启动 mysql
12345678910111213141516version: "3"services: db: container_name: mysql8 image: mysql:8.0.25 command: mysqld --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci environment: MYSQL_ROOT_PASSWO ...
树形表结构设计
需求背景根据一个部门查询这个部门的全部子级部门
方案 1: 正常设计
字段
备注
id
部门 id
dept_name
部门名称
parent_id
上级部门 id
这种设计方案是符合第三范式的最简单方案。可以完美描述树状结构,并且没有任何冗余数据。但缺点也是显而易见的。如果跨层级查询就要递归查询
方案 2: 冗余路径
字段
备注
id
部门 id
dept_name
部门名称
parent_id
上级部门 id
path
从最上级到该节点的路径 以 / 分割
数据示例
id
dept_name
parent_id
path
1
xx 科技有限公司
/1
2
研发部
1
/1/2
3
后端
2
/1/2/3
4
前端
2
/1/2/4
5
产品设计部
1
/1/5
6
PD
5
/1/5/6
7
UED
5
/1/5/7
...
接到了域名到期的诈骗电话
域名到期?今天家里人接到了一个来自济南的号码053186922572的电话,说网站域名到期。6 月 30 号刚查过还有很长一段时间才过期,网站当时是我搞的,所以就问我怎么回事。我根据她的描述第一反应是骗子。就让他把电话给我,我来看看。
当拿到电话之后查了一下是山东济南的电话的时候基本就已经肯定是诈骗了。上网简单搜了一下这个诈骗套路,一般都是说域名到期,然后委托他们给你注册一个新的域名(注意是新的,不是给原来的续费),手续分很贵,不懂的人很容易就上当了。
xx 互联网公司?本着戏耍的态度,我打了那个电话回去。接电话的是一个男生,他问我是干什么的,我说你刚才给我打电话说域名到期了,我想咨询一下,然后他说,电话不是他打的,是同事打的,同事出去了。他不知道同事的业务,我问他们是啥公司的,他说是 xx 互联网公司。我让他同事回来给我打回来。这里我就很确定了是诈骗了。
这个时候我在网上搜了一下 xx 互联网公司,根据企查查中的记录,他们公司确实有域名服务,进了他们公司官网,看到了一醒目的 18 年左右的公告链接,点开之后显示说近期有人冒充他们公司的名号进行诈骗,说什么已报案了之类的巴拉巴拉的。
又 ...
Windows 搜不到wifi解决
我是用 mac 的,最近在折腾一些跟.net framwork相关的东西,一直远程也不太方便就用Boot Camp装了个了个 Windows,刚开始用多个好好的,直到因为一些问题我手贱点了重置网络。然后系统就搜不到 wifi 了。
驱动问题?我一开始认为是驱动问题,我以为是因为硬件驱动导致的,苹果的硬件不支持微软的系统不是很正常,第一次驱动时Boot Camp装的,在 Windows 上面点了重置,鬼知道把驱动重置成了什么样子。所以我的想法就是搞一个Boot Camp。切换到 Mac,打开Boot Camp选择下载 windows 支持,将下载好的文件搞到 windows 里面安装。但是并没有什么用,依然搜不到 wifi。网上搜了一下,几乎都是认为是驱动的问题,说要安装驱动精灵什么的,试了一下果然没用,官方的驱动软件都搞不定的杂牌子搞不定很正常。
Wifi Autoconfig继续查了一些资料,发现可能是Wifi Autoconfig服务没启动。按下 Win + R 快捷键,输入 service 回车。然后找到Wifi Autoconfig这个服务,果然没启动。把他启动了 wifi 功 ...