160个cracker me练习002

总的来说,这是个非常简单的练习材料。第一种最快也是最先想到的,搜索字符串法。

输入错误的name和serial提示You Get Wrong和try again

那么OD加载程序。接着智能搜索

可以发现一个貌似正确提示和错误提示的内容。那么双击进入You Get It

可以发现上面有个je跳转从上面跳走了。那么nop掉就可以了。

那么再试试下断点找key值吧。因为程序是vb写的,所以尝试下vbaStrCmp这个函数断点。虽然没学过VB,但这个猜测应该是比较函数。


启动之后,输入假码。会断下来。

接着F7步入,可以找到我们假码和一个疑似真码都push进去。

然后尝试下真码果然正确。

当然你也可以一步一步f8跟踪找码,对于这个小程序也挺快的。

附上python破解代码

#-*- coding:utf-8 -*-

import ctypes

def name(second):

       kernel32=ctypes.windll.LoadLibrary('kernel32.dll')

       PROCESS = kernel32.OpenProcess(2035711,0,second)

       new_info=kernel32.WriteProcessMemory

       buffer = ctypes.c_char_p("_")

       buffer.value='\x72\x72'

       new_info(PROCESS,4203915,buffer,2,0)

if __name__ == '__main__':

       second=input('process pid:')

       name(second)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 之前也看了很多视频,以前总是懵懵懂懂。现在知识积累到一定量,在下又充满了力量。 先来个字符搜索,果然有线索,看到关...
    blackflame阅读 3,989评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,684评论 19 139
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 11,515评论 0 6
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,004评论 18 399
  • 一位设计朋友曾经问过这样的问题: 如果我们设计院把图纸质量都做得非常好了,那还有你甲方的设计管理人什么事儿呢? 这...
    譬如朝露去日苦多阅读 4,619评论 0 0