• 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,如果直接跳进去看汇编,感觉就是自己的汇编水平不够,正向的函数,逆向反汇编出来又是怎么样的,正向和逆向脱离不开。

  • 相关阅读:
    expandablelistview学习在listView里面嵌套GridView
    App数据格式之解析Json
    不应和应该在SD卡应用应用
    9 个用来加速 HTML5 应用的方法
    Android设计模式系列-索引
    ObjectiveC语法快速参考
    App列表显示分组ListView
    进程、线程和协程的图解
    Python多进程原理与实现
    Python多线程的原理与实现
  • 原文地址:https://www.cnblogs.com/YenKoc/p/12779936.html
Copyright © 2020-2023  润新知