zoukankan      html  css  js  c++  java
  • Creckme_Andrnalin.3

    首先还是收集信息:

    打开后是一个窗口,输入KEY。

    输入假码后,显示密码错误(应该是错误)

    然后我们用die查看一下:

    VB,无壳。

    既然是VB,那我们就用VB的静态工具查看一下,有没有什么信息:

    这里我们可以看到程序的一些逻辑,先是将输入的字符串长度算出来,然后进行循环。并将字符串的各位加上0xA。然后又看到一串不知名的字符串等于0,否则就跳转失败。(If (var_34 = "kXy^rO|yXomkMuOn*+") = 0 Then GoTo loc_00402119 这段代码我只能看出是一个判断,但具体这个字符串为啥等于0,不知道,我大概猜测这个字符串应该是拿来和我们输入的key+0xA之后进行比较。)

    那么我们将这个字符每位减去0xA不就得到正确的key了么。。。。。

    然后我们就写一个脚本:

    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	char name[99] = "kXy^rO|*yXo*m\kMuOn*+";
    	for (int i = 0; i < strlen(name); i++)
    	{
    		name[i] = name[i] - 0xA;
    	}
    	puts(name);
    	return 0;
    }
    

    运行一下:

    复制进程序。。。

    成功了。。。。

  • 相关阅读:
    快速排序
    优先队列
    堆排序
    树、二叉树基础
    分治法
    递归算法详细分析
    算法基础
    Linux文件系统详解
    fs/ext2/inode.c相关函数注释
    块设备的读流程分析
  • 原文地址:https://www.cnblogs.com/lex-shoukaku/p/13323636.html
Copyright © 2011-2022 走看看