160个cracker me练习001

之前也看了很多视频,以前总是懵懵懂懂。现在知识积累到一定量,在下又充满了力量。


先来个字符搜索,果然有线索,看到关键两个祝贺!估计成功应该就是这个了。

点进去看到

有个jnz跳转跳过了成功提示,那么使用nop大法就可以了。

另外一个也是同样nop掉就可以。这个是字符搜索大法。

当然你也可以跟踪key

随便输几个字母,但是你要记住。点击check it baby!


会发现被断在这个call地方。那么猜测可能就是在这个函数里与正确的key做了对比。那么F7跟入

果然有一个神似正常key的样子的一串ascii码。那么记录下来,一直F8下去并没有找到其它有用的消息。那么我们来测试下这个CW-4018-CRACKED是不是key。

正确!,当然我想也可以下messagebox断点应该也行,不过花的时间就比较多了。

顺便附上python破解脚本写法:

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

import ctypes

#NAME SERIAL

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,4389635,buffer,2,0)

#SERIAL

def serial(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,4388053,buffer,2,0)

if __name__ == '__main__':

       first=raw_input('name or serial:')

       second=input('process pid:')

       if first=='name':

              name(second)

       elif first=='serial':

              serial(second)

       else:

              print 'please entry true content.'

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

推荐阅读更多精彩内容

  • 总的来说,这是个非常简单的练习材料。第一种最快也是最先想到的,搜索字符串法。 输入错误的name和serial提示...
    blackflame阅读 2,828评论 0 0
  • =========================================================...
    lavor阅读 8,836评论 0 5
  • 昨天,毕业的最后一场典礼。我已不记得台上慷慨激昂的讲话到底说了些什么,只知道礼堂里反反复复回荡的院歌。没有宣誓,只...
    桃子杂谈阅读 4,576评论 0 7
  • 我曾以为自己知道什么叫磕长头,字面意思理解,一个耗时比较长的磕头。 仓央嘉措诗中说, 那一月 我摇动所有的经筒不为...
    马尚尚Sunny阅读 3,345评论 5 8
  • 近来英语学习已经成为习惯,主要是跟读,做笔记,记单词。虽然老是带着耳机,听不到妈妈的话,被骂。有时候觉得跟宝宝互动...
    Olivia爱雯阅读 1,696评论 0 0