zoukankan      html  css  js  c++  java
  • 160crackme002

    一.查壳
    在这里插入图片描述
    结果:vb写的,并且无壳
    二.运行程序
    在这里插入图片描述
    发现了这个程度调用了vb调用窗口的api。这时有两种方式:
    1.再重新调试,运行到有窗口的时候,F12暂停,按ctrl+K,查看dll调用,再数据窗口跟随进入,相应的汇编。
    2.中文智能搜索找字符串
    以上两种,可以自由选择,哪个方便用哪个。
    三.找到对应的字符串后,看看哪里有跳转
    在这里插入图片描述
    找到了这个跳转那么直接改成nop或者jmp,就爆破成功,没什么技术含量讲道理。。
    二.注册机算法分析(这个没办法说,自己跟着汇编一步一步的来的,再结合api)耗费时间
    我分析思路是,先找到正确的注册码是什么,在向上调试,哪个地方生成了正确的注册码的一部分,跟着汇编一步一步来调试。
    在这里插入图片描述

    注册机代码python版

    usename=input("请输入名字")
    ulen=len(usename)
    tmp=0x17CFB
    print(ord(usename[0]))
    after=ulen*tmp+ord(usename[0])
    print(int(after))
    

    课前总结,这个花费了很多时间,看了很多博客,事实上爆破是很简单的,而分析算法,理解每一步在干什么,从而将注册机写出来,才是我们的最终学习的目标,查阅了vb的api,如果直接跳进去看汇编,感觉就是自己的汇编水平不够,正向的函数,逆向反汇编出来又是怎么样的,正向和逆向脱离不开。

  • 相关阅读:
    Linux命令全训练
    解决maven中静态资源只能放到properties中的问题
    Mybatis出现错误org.apache.ibatis.executor.ExecutorException: No constructor found in
    Fence Repair
    Saruman's Army
    Best Cow Line
    区间调度问题
    硬币问题
    迷宫最短路径
    Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) A. Oath of the Night's Watch
  • 原文地址:https://www.cnblogs.com/YenKoc/p/12779936.html
Copyright © 2011-2022 走看看