自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wtml

越努力越幸运。

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

原创 046-keyme1

算法其实就是通过GetVersionExA获取一些系统版本信息,根据下面注册机进行一些简单算法。

2023-06-27 10:52:48 118

原创 042-crackme

6个字节的情况是这样,超过6个字节的话第3步经历循环1,每个ASCII xor 字符串长度2,前三个字节与 T(54) M(4D) G(47) 分别xor3,后三个的ASCII与前三个ASCII分别xor放到后三个字节中4,xor后的前三个字节必须是 0x4b 0x34 0x4e5,xor后三个字节中必须有一个是0x20 0x20后面的就是你显示到exe上的名字。

2023-06-27 08:55:06 119

原创 041-genocide1

这个算法就是取name字符串的ascii码值,除以0xA,如果得到的结果大于0xA,再除以0xA,就是每一个文本框里的值。

2023-06-26 09:15:40 112

原创 036-Andrnalin.2

算法:取name的每一个字符ascii进行相加,之后再与1234567890相乘,将其转为字符串,并将第4和第9个字符转为“-”。这题看了解析,好多函数不认识。

2023-06-24 22:07:43 103

原创 031-Cruehead.1

我们可以利用第一个call的计算结果,再异或0x1234,得到serial数字字符串。

2023-06-24 08:33:23 80

原创 030-Acid_Bytes.4

先使用Exeinfo查壳,发现是UPX壳我们先使用ESP定律脱壳,得到脱壳后的程序利用OD附加该程序,字符串搜索关键引擎,找到关键位置,分析上下逻辑代码。这2段代码就是name,serial字符串,并且name字符串的长度不能小于6。继续分析,接下来的代码就是计算name字符串每一位的ascii码2之和。最后把上面计算出来的和+name字符串长度之和2 转化成字符串,再和serial字符串进行比较。

2023-06-23 15:38:59 60

原创 026-KeygenMe

就是经过上述算法的计算出来的值和密码字符串取前4个字节的转成DWORD类型进行比较。注意输出字符为可见的。

2023-06-23 10:30:54 75

原创 016-fty_crkme3

这题其实就是求水仙花数,水仙花数是指一个 n 位数,它的每个位上的数字的 n次幂之和等于它本身。

2023-06-22 20:14:26 268

原创 012-ACG-crcme1

用IDE查壳,发现没有壳,是Delphi程序字符串搜索关键位置,分析上下的逻辑代码显示获取用户名和密码字符串,计算用户名字符串每一位的ascii码和,但是每一位的ascii码不能小于0x20,之后再把和右移三位,异或0x515A5,入栈。分析第二段关键代码,发下就是判断密码字符串是不是[‘0’,‘9’]这个范围内,其实这段代码就是把密码字符串转化为数字保存在edi中,之后再异或0x87CA。

2023-06-22 08:53:42 70

原创 009-Boonz-KeygenMe#1

这个算法其实就是计算出来三个数字字符串,拼接成"Bon-%s-%s-%s"这种形式。第一个算法:i < nLen;i++)第二个算法:第三个算法:(是一个固定值)取每轮算法的计算结果值,进行上述拼接就是答案。0 };printf("字符串长度不对\n");return 0;i < nLen;i ++) {0 };//计算第二个字符串 int nEax = nEbx * nEbx;0 };

2023-06-21 19:45:50 99

原创 159-CRC32crackme

Exeinfo查壳,发现没有壳,是Delphi程序字符串搜索关键位置,分析上下的逻辑分析那个关键的call,是一个crc32算法。这题看了解析,给出KeyGen程序。

2023-06-21 08:48:28 76

原创 162-moons_kgme_1

首先使用Exeinfo查壳,发现是UPX壳我们使用OD附加程序,使用esp定律脱壳。得到脱壳后的程序。是Delphi程序。字符串搜索关键位置,分析上下代码。这个也比较简单,不给出总结,直接写出注册机。

2023-06-20 15:42:05 41

原创 147-Prolixe-KeygenMe#1

Exeinfo查壳,发现没有壳,是Delphi程序OD字符串搜索,找到关键位置,发现一个关键的call,和一个strcmp比较函数。进入关键call进行分析,结合IDA。分析这个call,发现输入的name字符串长度必须是偶数,否则最后构造的字符串会出现乱码,这里类似构造了一个汉字。但是当输入的字符串长度是奇数时。会出现乱码。我们根据关键call的逻辑,编写注册机程序。

2023-06-20 09:19:53 134

原创 148-Crackme#0704

我们使用DIE工具,发现程序是加了壳的。先进行脱壳操作,我们使用OD附加进程。使用ESP定律进行脱壳。F9执行,发现断在ntdll系统领空里。继续执行。多次执行之后。到达OEP处。之后,我们使用OllyDump脱壳工具,进行脱壳。脱壳成功,程序正常运行。我们字符串搜索搜到关键位置,往上分析。观察必须是local.6这个局部变量不能为0,程序才可以通过验证。而local.6是什么值由这个关键call决定。

2023-06-19 21:25:19 89 1

原创 145-CrackMe_5__by_thechaos

Exeinfo查壳,发现有.BJFnt壳。我们先进行脱壳,OD附加这个程序发现,代码段进行一些加密,字符串搜索也搜索不到关键字符串。我们单步调试这个壳,发现运行到一个位置,下面的代码发生了变化,猜测这个就是OEP。我们使用OllyDump脱壳,发现程序无法运行,之后再用lordPE进行查看,发现LordPe自动对它进行简单的修复,程序可以运行。继续使用OD附加程序。分析这段逻辑代码,我们可以知道把三个部分的数字部分总和加起来等于4078就可以通过验证。

2023-06-19 20:30:23 51

原创 139-crackme_n.3_by_COSTY

首先Exeinfo查看有没有壳,发现是VC++程序。首先我们字符串搜索,找到一些关键位置,往上分析。这段代码是判断我们输入的数字不能小于10000000。小于就会直接弹出错误框。继续往下分析。我们综合分析两段代码,发现我们必须让[ebp-0x10]一直为初始值0,所以分析第一段算法逻辑,我们可以知道这是一个判断程序是否是质数的逻辑,如果是质数,则只有1和数字本身这两个因子,不会转到给[ebp-0x10]赋值为1的操作,程序即可通过操作。我们编写注册机。

2023-06-18 21:56:37 83

原创 137-Get_The_Password

小计一下,就是字符串慢慢观察出来。

2023-06-18 13:34:39 1110

原创 136-nago

这个算法就是把name字符串小于0x39的减去0x30,再放到另一个缓冲区地址里。当然如果一个都没有,转化后的字符串长度为0,直接无法通过验证。之后再把转换字符串每一位的ascii码取出来,经过一个计算的算法。我们可以设计一个随机的字符串,为了方便通过验证计算,字符串的所有字符都小于0x39,大于0,通过程序的单步调试发现,name字符串并不会太长,我们随机一个字符串长度,为10以内,通过逆向的思维,我们构造一个结果字符串,并且回推回去。

2023-06-18 09:28:07 204

原创 128-fist_crackme

其实就是构造0xF长度的key。

2023-06-17 13:52:10 40

原创 134-KGNME2-KiTo

这题其实也比较简单,就是把name字符串的每一位ascii码求和,转化位10进制数字字符串。注意name字符串的长度必须大于3。

2023-06-17 13:27:02 41

原创 121-bRaINbuSY-crackme1

这个算法就是把name字符串每一位的ascii码左移3位的和计算出来,再加上name字符串长度左移三位的值,最后再乘以4,这个数字就是serial字符串。

2023-06-17 09:14:14 44

原创 117-delphi-crackme

很简单的逻辑,取出字符串第一个字节的ascii码异或0xE,再取字符串的长度,把他们转化成十进制数字字符串,再进行拼接,就可以得到serial字符串。

2023-06-16 18:42:19 88

原创 070-CodeFantasy-crackme

这个crackme最好动静态结合,有些关键库函数需要IDA去识别。其实关键算法就是把输入的用户名字符串每一个位的ascii码加上(1+2+3+4)的和,然后然后转化为16进制数字字符串,就是密码字符串。

2023-06-16 09:37:12 76

原创 092-FaNtOm-crackme6

首先Exeinfo查壳,发现没有壳,观察是汇编语言程序字符串搜索,找到关键逻辑,其实是很简单的逻辑根据红框处构建key文件,就可以通过验证。

2023-06-16 09:23:02 49

原创 054-vcrkme01

综合分析上述代码,添加了很多冗余指令。核心算法就是:1.基于name字符串取第一个字节和最后一个字节 比如wanao构造成 w-O2.计算每个name字符串数组的字符的ascii总和+0x6064,转化为字符串添加到字符串末尾 w-O252103.再把25210这个计算出来的数+0x6064,转化为字符串添加到字符串末尾w-O25210-49886。

2023-06-16 09:05:21 64

原创 093-kesan

其实就是通过反编译工具和IDA,可以帮助我们更快的找到关键call和关键算法逻辑。算法其实就是把name字符串的每一个ascii异或和加上一个固定数字,最后再与一个数字进行异或。0 };printf("name字符串长度不对\n");return 0;i < nLen;i ++) {0 };return 0;

2023-06-16 08:52:45 48

原创 109-Jony-crackme

我们分析得到,有一个关键算法call,应该是根据name计算出serial字符串的算法,下方有一个数字转10进制字符串的过程。就是取出每次nEsi^2和nEsi ^2 -1的下标的字符串ascii码,进行按位或操作,再把结果和字符串长度相加。找到这个函数地址之后,我们配合IDA的静态分析,F5功能生成C语言代码,我们提前用Shift+F5添加Delphi函数的库函数识别,帮助我们更快的分析。我们OD附加这个程序,字符串搜索,找到关键的位置,分析附近的逻辑代码。结合OD,我们分析。

2023-06-16 08:16:56 70

原创 C. New Year and Curling

题意:已知一些圆在(xi,10100)(xi,10100)处,然后依次落下,下落时只要碰到某个圆,就会停止,求这些圆的最后的y值,也即是水平高度 参考大神的 代码:#include &lt;iostream&gt;#include &lt;cstdio&gt;#include &lt;cstring&gt;#include &lt;algorithm&gt...

2018-06-21 21:49:25 196

原创 B. New Year and Buggy Bot(全排列)

题意:Bob设置了一个机器人,你可以给他下指令,机器人可以上下左右移动,但是Bob忘记了每个人指令所代表的含义,现在给出一串只有0,1,2,3的指令,让你求出在不同情况下,机器人可以从起点到达终点的方法的数量 基本思路:就是给每个数字分配不同的含义,比如说1是up,2是down,3是left,4是right,然后总共有24种情况,也就是4的全排列个数代码:#...

2018-06-21 13:25:02 236

原创 B. Nastya Studies Informatics

题解:有几个trick点 当我们暴力枚举x的因子时,最多枚举到1e5即可。 枚举一半即可 当另一个因子小于i时 退回循环即可。 注意(a,b)当a=b时相等。代码:#include &lt;bits/stdc++.h&gt;using namespace std;typedef long long LL;int main(){ LL l,r,x,...

2018-06-20 10:04:32 226

原创 B. Knights of a Polygonal Table multiset

题解:将骑士按力量从小到大排序,到第i个骑士的时候,前面的i-1个骑士他都可以击败,找出金币最多的k个。用multiset存金币最多的k个骑士的金币数,如果多余k个,则删除金币数最小的,直到只有k个数字。代码:#include &lt;bits/stdc++.h&gt;using namespace std;typedef long long ll;int ...

2018-06-19 09:20:06 171

原创 B. Substrings Sort STL

B. Substrings Sort time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output You are given n n strings. Each string consists of lowercase English...

2018-06-09 19:35:18 204

原创 B. Bus of Characters

题意:introvert 内向的 extrovert外向的 一辆公交有n排座位,每排座位有两个椅子。接着给出每排座位的宽度。这时有2*n个人要上车,这群人有两种类型。1、内向的人:会优先选择座位宽度最小的那排就坐,最好旁边是没人的。2、外向的人:会优先选择座位旁边有人(内向的人)的那排就坐,在此基础上座位选择越大越好。题解:对weight数组进行排序。 ...

2018-05-30 18:45:26 400

原创 B. Christmas Spruce

Consider a rooted tree. A rooted tree has one special vertex called the root. All edges are directed from the root. Vertex u is called a child of vertex v and vertex v is called a parent of vertex u i...

2018-05-18 19:57:40 166

转载 【整理】C++中的unique函数

之前总结了一下我觉得有用的erase,lower_bound,upper_bound。现在总结一下unique,unique的作用是“去掉”容器中相邻元素的重复元素(不一定要求数组有序),它会把重复的元素添加到容器末尾(所以数组大小并没有改变),而返回值是去重之后的尾地址,下面举个例子。由于返回的是容器末尾,所以如果想得到去重后的size,需要减去初始地址,lower_bound是得到地址,稍微不...

2018-05-03 11:19:54 614

原创 51nod 拼成最小的数 STL技巧

1097 拼成最小的数 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 设有n个正整数,将它们联接成一排,组成一个最小的多位整数。例如: n=2时,2个整数32,321连接成的最小整数为:32132, n=4时,4个整数55,31,312, 33 联接成的最小整数为:312313355 Input 第1行:1个数N。(2 <= N <=

2018-04-08 10:06:35 167

原创 51nod 1060 求n以内的因子最多的数(不止一个则取最小)

1060 最复杂的数基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 把一个数的约数个数定义为该数的复杂程度,给出一个n,求1-n中复杂程度最高的那个数。 例如:12的约数为:1 2 3 4 6 12,共6个数,所以12的复杂程度是6。如果有多个数复杂度相等,输出最小的。 Input 第1行:一个数T,表示后面用作输入测试的数的数量。(1 <=

2018-04-07 10:28:26 612

原创 hdu 1829 种类并查集

Problem Description Background Professor Hopper is researching the sexual behavior of a rare species of bugs. He assumes that they feature two different genders and that they only interact with bugs

2018-03-29 11:22:53 169

原创 hdu 1728 bfs变形

Problem Description   给定一个m × n (m行, n列)的迷宫,迷宫中有两个位置,gloria想从迷宫的一个位置走到另外一个位置,当然迷宫中有些地方是空地,gloria可以穿越,有些地方是障碍,她必须绕行,从迷宫的一个位置,只能走到与它相邻的4个位置中,当然在行走过程中,gloria不能走到迷宫外面去。令人头痛的是,gloria是个没什么方向感的人,因此,她在行走过程中,不

2018-03-27 10:38:38 222

原创 51nod 1065 最小正子段和

1065 最小正子段和 基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 收藏 关注 N个整数组成的序列a[1],a[2],a[3],…,a[n],从中选出一个子序列(a[i],a[i+1],…a[j]),使这个子序列的和>0,并且这个和是所有和>0的子序列中最小的。 例如:4,-1,5,-2,-1,2,6,-2。-1,5,-2,-1,序列和为1,是最小的。

2018-03-18 20:41:12 159

修复重定位,lz4库压缩区段,反调试,IAT加密,加密代码段,TLS简单处理

简单C++壳项目

2023-06-06

汇编语言增删改查电话本

汇编语言增删改查电话本

2023-05-21

50期ARK项目.rar

0环和3环一些通信,API调用,内核重载,SSDT_HOOK检查等功能

2023-05-18

控制台调试器项目第二阶段第2个项目

各种断点 Dump

2023-03-25

15pB学习项目安全卫士.rar

内联HOOK32位任务管理器 简单云杀毒 本地杀毒

2023-02-26

坦克大战项目 加入A*算法自动寻路

坦克大战项目 加入A*算法自动寻路

2022-12-20

BFS算法贪吃蛇.rar

加入了广度优先搜索算法 自动走 不过就吃100个食物左右 待优化

2022-11-25

增加了双人模式 复杂地形

增加了双人模式 复杂地形

2022-11-23

GreedySnake优化.rar

贪吃蛇C++ 新增读档存档功能

2022-11-22

GreedySnake.rar 贪吃蛇 C++写的

贪吃蛇 一些简单的功能

2022-11-21

C语言黑窗口推箱子 没使用easyx

不做图形库了 简单理解下 就是不停输出二维数组刷新达到游戏的目的

2022-11-18

C语言 flybird 基于easyx图形库

无聊的小游戏

2022-11-17

C语言密码本项目.rar (改进)

增加了不能加入同一个站点的数据 增加了模糊查询功能

2022-11-10

C语言密码本(文件增删改查)

在15PB学习的第一个项目,使用C语言文件增删改查

2022-11-09

空空如也

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

TA关注的人

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