首页
社区
课程
招聘
[讨论]这个CrackMe怎么写注册机?
发表于: 2012-5-24 13:22 6788

[讨论]这个CrackMe怎么写注册机?

2012-5-24 13:22
6788
网上找的一个CrackMe,爆破很容易,但是一直写不出注册机,大家有空的帮忙看看是怎么回事。。

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 615
活跃值: (212)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
2
看一下...
2012-5-24 16:50
0
雪    币: 615
活跃值: (212)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
3
004015F4     /75 29         JNZ SHORT CrackMe1.0040161F
004015F6   . |8B4C24 4C     MOV ECX,DWORD PTR SS:[ESP+4C]
004015FA   . |A1 EC994000   MOV EAX,DWORD PTR DS:[4099EC]
004015FF   . |3BC8          CMP ECX,EAX
00401601   . |75 1C         JNZ SHORT CrackMe1.0040161F

内存地址:004015F4
修改一个字节
75改为74

内存地址:00401601
修改一个字节
75改为74


已经测试过了,修改者两个地方就ko了

用keymake 工具,选择“内存补丁制作”,
看图,
上传的附件:
2012-5-24 17:05
0
雪    币: 458
活跃值: (306)
能力值: ( LV12,RANK:400 )
在线值:
发帖
回帖
粉丝
4
[QUOTE=小覃;1074851]004015F4     /75 29         JNZ SHORT CrackMe1.0040161F
004015F6   . |8B4C24 4C     MOV ECX,DWORD PTR SS:[ESP+4C]
004015FA   . |A1 EC994000   MOV EA...[/QUOTE]

这样子和爆破没什么区别吧,能不能写个注册机呢?
2012-5-24 18:36
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
写着呢,blowfish... sbox
2012-5-24 19:43
0
雪    币: 458
活跃值: (306)
能力值: ( LV12,RANK:400 )
在线值:
发帖
回帖
粉丝
6
你是说加了密?那能不能还原出来呢?
2012-5-24 19:46
0
雪    币: 705
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
程序采用标准Blowfish加密

先从注册表获得windows productID生成key box
然后加密"flowfish"生成Computer ID(对话框上显示的就是这个),记为cid

再用"ChinaCrackingGroup"重新生成key box
加密cid为key

初始化对话框时,再用"CrackingForFun"重新生成key box
然后获得输入的unlock code,解密,等于key则验证OK

(*
** 需要cryptgps库  
** ocamlfind ocamlopt -package cryptgps -linkpkg -o keygen.exe keygen.ml
*)

open Crypt_blowfish;; (* or Crypt_blowfish32 *)
open Cryptsystem;;
open Cryptmodes;;

let key_gen id =
  let (x3, x2, x1, x0) =
	Scanf.sscanf id "%4X%4X%4X%4X" (fun a b c d -> a, b, c, d) in
  
  (* 加密Computer ID *)
  let k = prepare "ChinaCrackingGroup" in
  let (x3,x2,x1,x0) = encrypt_ecb k (x3, x2, x1, x0) in

  (* 计算key *)
  let k = prepare "CrackingForFun" in
  let (x3,x2,x1,x0) = encrypt_ecb k (x3, x2, x1, x0) in
  Printf.printf "Unlock Code: %4X%4X%4X%4X\n" x3 x2 x1 x0

let main () =
  if Array.length Sys.argv > 1 then key_gen Sys.argv.(1)
  else print_endline "usage: keygen <computer ID>";;

main ()

bin:
keygen.7z
上传的附件:
2012-5-24 21:13
0
雪    币: 458
活跃值: (306)
能力值: ( LV12,RANK:400 )
在线值:
发帖
回帖
粉丝
8
谢谢指点。。
2012-5-28 20:04
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
暂时还不会写注册机
2014-7-26 15:24
0
游客
登录 | 注册 方可回帖
返回