WDTP注册破解

今天来讲讲WDTP这个软件的破解。

简介

WDTP 不止是一款开源免费的 GUI 桌面单机版静态网站生成器和简单方便的前端开发工具,更是一款跨平台的集笔记、个人知识管理、写作/创作、博客/网站内容与样式管理等功能于一体的多合一内容处理/管理器,同时还是一款高度追求用户体验与计算机文本编写良好感受的 Markdown 编辑器。该软件研发的核心思想是:简洁高效、轻灵优雅、先进强悍、操作简单。

Read more

一个查表置换的CM

说实话,今天被自己蠢哭了

因为看多了一个字符,以为是输入字符变形后的base64编码,也怪自己没大致看过base64汇编形式,把base64跟完了用py实现完算法才意思到是base64,这是题外话

Read more

一个涉及到浮点寄存器的CM

这次找小伙伴要了他的一个CM,怎么说呢,这CM让我学到了不少,其实搞出来后感觉不难,就是有不少FPU浮点相关的指令和FPU寄存器完全没学过,查了不少资料,学到了很多

Read more

160CrackMe练手 002

首先查壳无壳,输入伪码报错,根据报错od查找字符串,定位到错误代码附近,可以看到有个条件跳转,改掉就可以爆破,接下来分析下注册算法,我们周围看看,从最近几个call看,并没有我们输入的用户名在堆栈中出现,那我们直接从这个函数开头往下找,一般一个函数开头是push ebp一段代码用来提升堆栈,找到后我们往下找,注意堆栈,直到我们输入的字符出现,开始细心往下跟

Read more

160CrackMe练手 001

peid判断无壳,打开输入伪码注册,根据报错od查找字符串
接下来定位到字符串周边代码

Read more

switch反汇编(C语言)

在分支较多的时候,switch的效率比if高,在反汇编中我们即可看到效率高的原因

Read more

逆向学习笔记(1)-为什么代码不停地循环运行

对于下面这段c语言代码会一直不停地循环,为什么呢?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>

void HelloWorld()
{
int i = 0;
int a[] = {1,2,3,4,5,6,7,8,9,10};
for(i=0; i<=10; i++)
{
a[i] = 0;
printf("Hello World!\n");
}
}

int main(int argc, char* argv[])
{
HelloWorld();
getchar();
return 0;
}

Read more