自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

无

这个人很懒,什么都没有写

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

原创 STM32MP157开发板学习 之 实现双击点亮LED灯

点灯

2022-10-11 17:40:19 1009

原创 C++中 length()函数 size()函数中到底有什么区别

字符串长度计算

2022-10-10 14:26:31 1414 1

原创 C语言指针的骚操作

字节序

2022-10-08 00:42:31 667

原创 Arch 下 安装使用 mysql

今天跑一个webserver项目的时候,报了一个错。 /usr/include/mysql/mysql_com.h:1034:10: fatal error: mysql/udf_registration_types.h: No such file or directory 1034 | #include <mysql/udf_registration_types.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation

2020-06-13 22:38:35 498

原创 c++ 输入输出流 的学习

前言 最近要准备面试,于是复习一下C++的语法。看起了C++ Primer这本书。 在看书上示例代码的时候,产生了一些疑惑。 话不多说,直接动手调试一遍吧。 示例代码 #include <iostream> int main() { // prompt user to enter two numbers std::cout << "Enter two numbers:"<< std::endl; int v1 = 0, v2 = 0; std::cin &gt

2020-06-11 23:01:17 262

原创 CrackMe160 学习笔记 之 066

分析 004013B1 |. 6A 14 push 14 ; /Count = 14 (20.) 004013B3 |. 8D45 EB lea eax, dword ptr [ebp-15] ; | 004013B6 |. 50 push eax ; |Buffer 004013B7 |.

2020-05-10 10:29:40 235

原创 CrackMe160 学习笔记 之 064

前言 这是个VB程序。界面还做的挺好看的。 思路 对输入字符串转大写计算生成新的字符串并比较验证。 分析 字符串转大写 0040D96F . FF15 3CF14000 call dword ptr [<&MSVBVM50.#528>] ; MSVBVM50.rtcUpperCaseVar 遍历并计算字符串 0040D9BC > /66:3BB5 48FFF>cmp si, word ptr [ebp-B8] 0040D9C3 . |0

2020-05-09 20:49:29 293

原创 CrackMe160 学习笔记 之 062

前言 这是个VB程序。通过一个双重循环对用户名运算生成新的字符串来比较。 思路 偶数字符不变,单数转成ASCII码值再拆出来算。 分析 验证输入 00403CDA 8D85 2CFFFFFF lea eax, dword ptr [ebp-D4] ; 输入用户名前四个字节 00403CE0 50 push eax 00403CE1 8D85 DCFEFFFF lea eax, dword p

2020-05-08 20:46:21 286

原创 CrackMe160 学习笔记 之 061

前言 这个题目太依赖日期格式了,只有yy/mm/dd格式的短日期才能通过验证。 分析 判断输入 00402FD0 . E8 0DE3FFFF call <jmp.&MSVBVM60.__vbaStrCmp> ; 判断输入不为空 00402FD5 . 8BF0 mov esi, eax 00402FD7 . F7D...

2020-05-08 10:49:45 271

原创 CrackMe160 学习笔记 之 060

前言 这是个VB程序,通过对输入字符串运算来判断。 思路 关键数据初始化 00402B1E . C745 B4 B96DA>mov dword ptr [ebp-4C], 0AF6DB9 00402B25 . C745 B8 FFFFF>mov dword ptr [ebp-48], 7FFFFFFF 00402B2C . C745 E0 52000&...

2020-05-07 15:33:59 382

原创 CrackMe160 学习笔记 之 059

前言 这也是个VB程序。和上个程序是一个系列的。 注册码是"This is the correcj code",极有可能是作者拼错了。 思路 把注册码分成五部分,转成ASCII码字符串依次和输入相比较。 讲道理,没什么难度,但VB的反汇编看起来要花时间。 分析 关键逻辑 00402FE7 . 50 push eax ...

2020-05-05 17:47:09 262

原创 CrackMe160 学习笔记 之 058

前言 这是个VB程序。虽然VB的反汇编代码看起来有点麻烦,这个却不复杂。 思路 程序的逻辑大致如下。 输入 “use hexeditor to look for hardcoded codes” -> "Yes! You have solved it!!" 输入 “Use bpx __vbastrcomp to break with Softice” “Use hexeditor to l...

2020-05-02 16:06:21 299

原创 Mac同时使用不同版本的pwntools

前言 最近在做pwn的题目,好像也不怎么难,可能我做的题目比较简单吧。 其中就需要安装pwntools这种python工具,首先就需要搭建环境。 搭建环境的时间甚至可能比我做题目花的时间还要多。。。 先附上一张效果图。 环境搭建 众所周知,mac上的HomeBrew默认安装的是最新的版本。 如果你用的不是最新的版本,那么HomeBrew就会删除你当前的版本并且更新成最新的版本。 如果你一开始先装...

2020-03-18 21:10:11 843 1

原创 CrackMe160 学习笔记 之 057

前言 简单题,字符串都是明文比较。 思路 通过 00403682 . E8 1FDDFFFF call <jmp.&MSVBVM60.__vbaVarTstEq> ; \__vbaVarTstEq 判断是选择了哪个弹窗 再通过 00403696 . FF90 F8060000 call dword ptr [eax+6F8] 进入真正的判断...

2020-02-29 19:44:10 225

原创 CrackMe160 学习笔记 之 053

前言 这个题目花了两天还没做出来,其中写注册机的时候涉及了矩阵的运算。 这一块不是很熟,算来算去始终算不对,我裂开了。 ] 感觉在这一块花太多的时间没有意义。 现在先存个档,以后等我研究透了线性代数再来解决注册机的问题吧。 思路 首先搜索字符串。发现作者依旧把字符串藏起来了。 不过仍然有办法,打开16进制文本编辑器。搜索失败字符串的位置。 计算得到在内存里偏移的位置,下内存断点。(或者push ...

2020-02-29 17:09:17 619

原创 CrackMe160 学习笔记 之 054

前言 偶尔做个简单的题目放松一下。 思路 直接分析即可。 分析 OK按钮点击事件 00427B65 |. E8 26E2FEFF call 00415D90 ; 获取name保存到ebp-4 00427B6A |. 8B45 FC mov eax, dword ptr [ebp-4] 00427B6D |....

2020-02-26 17:25:42 284

原创 CrackMe160 学习笔记 之 052

前言 这个题目做了我好几天,难度不用我说了吧。 话不多说,先放图。 输入为空 输入小于4个字符 输入大于4个字符 思路 作者没有给我们查找字符串的机会,不过可以找到这个。 很明显就是最后判断的信息。 接着全局查找这条指令,来到点击事件的入口处。 push 0041B208 首先关注的当然是比较的指令了。 00401EB7 8B5404 1C mov ed...

2020-02-26 17:08:26 841

原创 CrackMe160 学习笔记 之 051

前言 题目倒不是不难。 注册机花了点时间。 你可能不信,为了写这几行破代码,花了我一个下午。 思路 直接搜字符串即可。 分析 点击事件 004011ED |. 6A 09 push 9 ; /Count = 9 004011EF |. 68 21214000 push 00402121 ...

2020-02-22 15:56:28 281

原创 CrackMe160 学习笔记 之 050

前言 这个题目需要去弹窗和PATCH。难度不大。 思路 一直按 F8。来到此处。 右键,分析代码。 可以看到真正的代码。 后面的步骤比较简单,直接用图片表示了。 去弹窗 PATCH ...

2020-02-20 16:09:33 253 1

原创 CrackMe160 学习笔记 之 049

前言 这个题目虽然简单,做起来给人一种眼前一亮的感觉。 Mac终端上0和O挺像的,我一开始还输错了没发现。 思路 首先找到判断的位置。 再一步一步往前分析。 可以看到失败跳转有7处。 分析 00401127 > /6A 00 push 0 ; /lParam = 0 00401129 . |6A ...

2020-02-19 20:26:07 343

原创 CrackMe160 学习笔记 之 048

前言 这个题目挺新颖的。 本身不难,但是注册机写的有点心累。 思路 直接从搜索字符串找到点击事件,开始分析。 有个地址保存着所有按钮的ID。 点击不同的按钮会产生不同的值,复杂度取决于概率问题。 值得注意的一点是,作者还混淆了按钮的顺序,怪不得说让我们用资源查看器看。 分析 CHECK 按钮点击事件 00401117 > /33F6 xor esi, e...

2020-02-19 16:32:16 281

原创 CrackMe160 学习笔记 之 047

前言 这个题目要出凑出KEYFILE。 如果懒得凑的话,直接绕过也是可以的。 最后的KEYFILE。 思路 这种题目直接找CreateFileA函数即可。 分析 004010A9 . E8 2F020000 call <jmp.&KERNEL32.ReadFile> ; \ReadFile 004010AE . 85C0 ...

2020-02-17 20:21:14 225

原创 CrackMe160 学习笔记 之 045

前言 这是个简单的题。不过我不知道他怎么把字符串藏起来的。 思路 定位到点击事件分析。 分析 以后这种简单的题目都不写注册机了。 00421DE4 |. BB 37000000 mov ebx, 37 ; ebx初始化0x37 00421DE9 |. 8D55 F8 lea edx, dword ptr ...

2020-02-17 10:03:54 201

原创 CrackMe160 学习笔记 之 044

前言 感觉这个题目中规中矩。 都是一些反汇编里常见的函数。 眼睛瞄一下就能看出来了。 思路 和计算出的字符串比较。 分析 看着这个跳转表,注册机写起来也没意义。 00421BAE |. E8 45FCFEFF call 004117F8 ; 获取name地址保存到ebp-18中 00421BB3 |. 8B45 E8 ...

2020-02-16 15:13:53 278

原创 CrackMe160 学习笔记 之 040

前言 又是一个简单题。 太简单就不写注册机了。 思路 把每个字符加5生成新字符串。 分析 0042D4CD |. E8 8EC9FEFF call 00419E60 ; 获取name地址保存到ebp-8中 0042D4D2 |. 837D F8 00 cmp dword ptr [ebp-8], 0 0042D4D...

2020-02-15 12:54:53 223

原创 CrackMe160 学习笔记 之 039

前言 这个程序有几个指令一开始没看懂,查了一下才知道。 思路 很容易就可以发现有一个跳转表。 根据不同的输入进入不同的函数。 004010D4 > \33C0 xor eax, eax ; Case 111 (WM_COMMAND) of switch 0040104F 004010D6 . 66:8B4...

2020-02-15 10:08:36 276

原创 CrackMe160 学习笔记 之 037

前言 还算简单。 思路 固定字符串比较,加了一点浮点指令的计算。 分析 0040DF60 55 push ebp 0040DF61 8BEC mov ebp, esp 0040DF80 8B5D 08 mov ebx, dword ptr [ebp+8] ; 取参数中取出e...

2020-02-14 09:49:49 360

原创 CrackMe160 学习笔记 之 034

前言 这个题目我犯了一个愚蠢的错误。 最后生成的前两位必为0x1234,我就一直在找0x12的ASCII码。 忘了可以直接以16进制数写进内存的。 思路 文件验证首先找到CreateFileA函数。 0040102D |. E8 76040000 call <jmp.&KERNEL32.CreateFileA> ; \CreateFileA 然后开始...

2020-02-13 20:13:54 269

原创 CrackMe160 学习笔记 之 033

前言 简单题,分分钟做出来的那种。 又可以开始水博客了。 思路 整个指令很短,很容易找到验证函数。 指令也都很简单很容易就分析出来了。 分析 点击事件 00401228 . 68 8E214000 push 0040218E ; 压入name地址 0040122D . E8 4C010000 call 00401...

2020-02-13 16:49:52 285

原创 CrackMe160 学习笔记 之 032

前言 这个程序算法流程并不难。 主要因为它不是直接调用函数的,是通过寄存器调用的,一开始有点让人摸不着头脑。 思路 UPX壳。脱壳。 绕过检测文件。dump下来生成新程序。(懒得在虚拟机里创建 文件了) 首先当然是搜索找到获取name和key的函数。 通过观察发现,每次输入key以后都会走这个函数。 00437DD3 |> \E8 00FEFFFF call 00437BD8 ...

2020-02-13 13:52:01 520

原创 CrackMe160 学习笔记 之 031

前言 和上个题目差不多,就是多加了一步异或。 最近连续几个都是这种简单题目。 逼着我水博客。 分析 00402B40 > \55 push ebp 00402B41 . 8BEC mov ebp, esp 00402B43 . 83EC 0C sub esp, 0C 00402B46 . 68...

2020-02-12 16:01:16 312

原创 CrackMe160 学习笔记 之 030

前言 这个也是简单题。 不过VB的反汇编看起来要花点时间。 不像上一个,几分钟就搞定了。 继续水博客。 思路 注册码是固定字符串。只不过它加了点运算,没有那么直接而已。 分析 004030F0 > \55 push ebp 004030F1 . 8BEC mov ebp, esp 004030F3 . 83EC 0C ...

2020-02-12 12:51:45 336

原创 CrackMe160 学习笔记 之 029

前言 又是一个简单的题。 水一水博客。 思路 比上个crackme进步一点。至少作者知道用逐个字符串比较来避免明文serial了。 但并没有增加什么难度。 而且这个程序依旧写的不严谨,serial比name长依然可以验证通过。 分析 004014B1 |. 8BEC mov ebp, esp 004014B3 |. 6A FF push ...

2020-02-12 10:02:46 257

原创 CrackMe160 学习笔记 之 028

前言 这个题目又给我水博客的机会了。 思路 固定字符注册码。它还只比较前几位,真的不严谨。 本来还想看一下库函数的,跳转太多就作罢了,下次一定。 分析 004014B0 . 64:A1 0000000>mov eax, dword ptr fs:[0] 004014B6 . 6A FF push -1 004014B8 . 68 701B40...

2020-02-11 21:53:05 195

原创 CrackMe160 学习笔记 之 027

前言 这个直接爆破了,没什么好讲的。 水博客真开心。 思路 看指令是作者遍历了各个目录,从D盘开始。 CeateFileA的返回值和-1比较,不想等则成功。 把这行语句改成jmp就行了。 0040138C . 0F84 F3000000 je 00401485 ; 关键跳 因为我这是虚拟机,所以直接爆破了。 分析 0040120...

2020-02-11 19:43:20 243

原创 CrackMe160 学习笔记 之 026

前言 一开始我是这样想的,这种难度不高指令又特别多的程序,而且还是VB,调试起来真的浪费时间。 调着调着发现没有这么简单。 这个程序竟然有反调试的功能,会修改最终生成的KEY! 竟然在这里栽了个跟斗。 而且为了调试这个程序,虚拟机不知死机了多少次。 不过索性还是做出来了。 思路 整个程序并不难,就是计算并拼接字符串。 重点在于它的反调试功能。 下面是输入“test_”时,生成的KEY。 真...

2020-02-11 18:08:55 1147

原创 CrackMe160 学习笔记 之 025

前言 偶尔做点简单的题放松一下。 思路 去弹窗 搜索字符串,找到弹窗初始化的函数。 00405905 55 push ebp 改为ret指令即可。 搜索字符串,看到“55555”,心想,这别是验证码吧。 输入,验证通过。 没想到还就真的是。 太简单都不想截图了。 水博客不需要理由。 ...

2020-02-10 17:12:47 188

原创 CrackMe160 学习笔记 之 024

前言 这个程序和023是一个作者。 说实话,这个作者是真的牛逼,能用汇编写出这样的程序。 每次调他写的程序就很头疼。 然而我还是差不多只花了一天就写出了注册机。 思路 这个程序没有明显的字符串,搜索字符串在这里不管用了。 那么从API入手。 和上个程序一样,找到获取name和获取key的函数。 因为是重复同样的步骤,我这里就不啰嗦了。 找到关键跳转。 虽然我这里写了注释,但是一开始可能并不那么容...

2020-02-10 13:19:36 569

原创 CrackMe160 学习笔记 之 023

前言 这个程序需要我们写出注册机。 思路 没有注册按钮。说明是由定时器来判断输入的。 查看API。 找到获取name输入和获取key输入的函数。 在验证函数可以看到如下语句。 004012AE |> \A2 67314000 mov byte ptr [403167], al ; [403167] = al 004012B3 |. 83F8 10 ...

2020-02-09 10:01:06 407

原创 CrackMe160 学习笔记 之 022

前言 这个程序和017有点差不多,都不是明文字符串比较。 虽然作者尝试用冗长的程序来恶心人,在我看来,其实没什么效果。 思路 输入字符,来到验证函数,发现是用数字1和0比较(输入错误时)。 说明这里不是真正的验证函数。 因为有过调试这种程序的经验,所以很快找到了真正的验证函数。 然后开始分析。 如果你一开始直接修改跳转,注册成功。你会发现接下来注册不了了。 其实删除c:\windows\MTR.d...

2020-02-08 15:22:50 337

空空如也

空空如也

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

TA关注的人

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