首页
社区
课程
招聘
[原创]谁来破破我这个加密算法!!
发表于: 2009-2-24 23:55 14120

[原创]谁来破破我这个加密算法!!

2009-2-24 23:55
14120
如果有谁破解了,请把破解过程写上··
  是DOS下的。。。我好改进下。。

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (46)
雪    币: 1074
活跃值: (160)
能力值: ( LV13,RANK:760 )
在线值:
发帖
回帖
粉丝
2
搞不定,太难了
  或许sessiondiy能搞定,呵呵,我数学不大好。
2009-2-25 14:57
0
雪    币: 247
活跃值: (42)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
兄弟。。加油。。加油把我这个给破解出来···
2009-2-25 16:49
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
界面能用可视的就好了
2009-2-25 17:26
0
雪    币: 247
活跃值: (42)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
就是不想用可视化的。。
  因为可视化的API函数比较容易被破解。。
所以希望你们破解我这个程序
2009-2-25 22:10
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
6
可视不可视无所谓。

00401804   设断

00401870   处理假码

00401813   最后出现用户名错提示的地方。

原以为LZ防断有新花样,失望。

算法没时间,在python25里。而且现在几天我在研究重点就是设断的系统和高效。楼下继续。。。
2009-2-26 10:45
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
7
下午心情不好,纯OD跟了一遍排解沉闷的心情,花了大约一个小时,跟到了“破解失败!!!”。
楼主这次进步不小。要破解太耗时间。
要是有Sessiondiy大侠的充足时间就好了。
2009-2-26 17:40
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
8
听到楼上的话...我是该哭还是该笑呢 ?

sessiondiy
c2Vzc2lvbmRpeQ==
2009-2-26 18:18
0
雪    币: 82
活跃值: (10)
能力值: (RANK:210 )
在线值:
发帖
回帖
粉丝
9
.........
base64
2009-2-26 18:19
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
10
其实我是练习纯OD的动态调试技巧,达到目的就可。不知何时能像乌龟大师样天马行空任逍遥。
从你身上我也偷学了不少。
2009-2-27 08:01
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
11
昨天一朋友的儿子被车撞死了,前几个月刚吃过二十岁生日酒。竟白发送黑发。。。
昨夜心情一直不好。

我觉得纯OD动态调试加密算法老是效率不高,请Sessiondiy大侠谈下这方面的感性认识,指点一二?不要说用IDA,我会。
2009-2-27 08:10
0
雪    币: 247
活跃值: (42)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
12
base64都弄出来了??
   你怎么做到的。。。可以说说吗??
2009-2-27 12:06
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
13
应该刚好相反吧
我也只用OD而己. 我没在用IDA的.

可能因为这是直译式语言. 你把他当平常的编译式在追所以追不出来.
你直接追数据很快就出来了.

明码比对
2009-2-27 12:18
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
14
[QUOTE=arsusanh 在http://bbs.pediy.com/showthread.php?t=82055]

sessiondiy   你确实是个人才。下次我用汇编编了你在看看``[/QUOTE]

等到我花儿都谢了, 请问一下,我要再等多久?

你才是人才, 什么语言都会.
2009-2-27 12:25
0
雪    币: 485
活跃值: (12)
能力值: ( LV9,RANK:490 )
在线值:
发帖
回帖
粉丝
15
我仅把LS放在心里尊敬.......
2009-2-27 12:52
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
16
谢谢!
我不是针对这个CRACKME。
大侠的原始追码重数据的精华,这几个月我一直在消化。
楼主作品的用意是看看这段算法如何被发现的。
我是纯手工反调试。也追到了关键处。在高效和手工反调试上进退两难。关键处有反调试,一直没有高效的对策。

这个CRACK ME有几处反调试。前面好糊弄,最后关键部分好像简单的手法行不通。
2009-2-27 15:04
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
17
这个吗? 2008看雪论坛读书月第二题
http://bbs.pediy.com/showthread.php?p=486909

原始追码主要是追数据
重经验.
是那题的情况.

其它基本上对一些常见的编码算法'HASH最好是要敏感一点
以这题为例看到字符串就已知是Base64了, 按个;:写个注解Base64是好习惯.
2009-2-27 16:05
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
18
恩,说到底还是练习少,感性认识少和经验不足。

谢谢百忙中抽出时间指点!

也希望大侠多多发言,赐我灵感。

这题中用到的破解思想,有一半用到了从你那学到的东西,一半是乌龟大师的。

http://bbs.pediy.com/showthread.php?t=68954
2009-2-27 16:36
0
雪    币: 247
活跃值: (42)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
19
sessiondiy
  我这个语言是用PYTHON编写的。。
本来想用汇编的。
  但是,好像我的机子系统有点问题了··
编译不成功。
所以就把它给删了。。
  等下次重装了系统在用汇编
但是你还是没有把详细的给我说啊···
2009-2-27 19:00
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
20
删掉了
123
2009-2-27 19:09
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
21
OD 载入, 直接执行
  DOS 视窗输入 sessiondiy , 回车键
          输入 1234567890123456 , 先不按回车键
OD search 所有Mem 'sessiondiy', 将在 8D528C 找到.
hr 8D528C

  回来 DOS 视窗按回车键, OD 将断停在 1E032E37, 很明显的是一个算法函数
往下直接run到 ret , d eax , 看到了 c2Vzc2lvbmRpeQ==
很明显的知道是 BASE64

因为不知有无再其它的运算, 先另外直接执行 exe , 输入试试, 注册成功.
所以没了.

PS.  是先比对字数, 字数正确才会再明码比对
      反Debugger在那里? 我怎没看到.
2009-2-27 19:19
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
22
我的思路和你一致,,殊途同归,但细节上有出入。

细节上,我是尝试练习乌龟大师的纯OD动态调试跟踪方法,即断即删,中间跑飞好几次,去除断点单步或F4直接到,则正常,因此推断有校验或反调试。

断法上,我则偷学了你其他帖子上的高效方法,不是你现在说的。然后按照你的原始追码重数据的原理跟踪算法,同时配合乌龟大师的逆向方法。但不理想,好象还没有融汇贯通。

我的明码是在内存中直接显示的,邻居关系。
2009-2-28 09:00
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
23
这题我有个自己研究的堆栈分析法,更高效。适合这种类型的帖子。

我是想总结出适合自己的动态调试方法。但很明显我的方法好像还有很多地方不完善。
2009-2-28 09:02
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
24
ALT+M,F2:
1E0942EB    83C4 0C         add     esp, 0C

EAX 00AF7D30 ASCII "1234567890123456",LF
ECX 7C36B503 MSVCR71.7C36B503
EDX 7C38B250 MSVCR71.7C38B250
EBX 00AF7D30 ASCII "1234567890123456",LF
ESP 0012FDA4
EBP 7C38B508 MSVCR71.7C38B508
ESI 7C349ED0 MSVCR71._errno
EDI 7C38B4E8 offset MSVCR71._iob
EIP 1E0942EB PYTHON25.1E0942EB

   1E0943BF   PYTHON25.1E0942C0                     PYTHON25.1E0943BA
   1E09452D   PYTHON25.1E094360                     PYTHON25.1E094527
   1E036177   PYTHON25.PyOS_Readline                PYTHON25.1E036172
   1E08EC17   包含PYTHON25.1E036177                   PYTHON25.1E08EC15
   1E03B262   PYTHON25.PyCFunction_Call             PYTHON25.1E03B25D
   1E03D296   PYTHON25.1E03AFD0                     PYTHON25.1E03D291
   1E03E1BD   PYTHON25.PyEval_EvalFrameEx           PYTHON25.1E03E1B8
   1E03E222   PYTHON25.PyEval_EvalCodeEx            PYTHON25.1E03E21D
   0040180A   PYTHON25.PyEval_EvalCode              xx.00401804
   00401886   xx.00401780                           xx.00401881
   004026ED   xx.00401090                           xx.004026E8

我不是追求结果,而是寻找动态调试的感性认识。

中间追码的高效是乌龟大师的精华,CTRL+F9结合我的CTRL+F8.
然后关键数据设断,F9几次看出现错误提示,返回重来(好象是四次),再详细跟踪代码,追到关键的内存地址,发现是邻居关系.
你的方法在实战中,遇到游击战术效率不高.我遇到好几个.

这题我用到了三种断点法:错误提示逆向跟踪术和堆栈跟踪术。试图体会三种的效率和应用范围。

重点是练习乌龟大师的纯OD动态跟踪术,好像还没有领会他的精髓。为.NET及其他类似的软件的破解提供经验,完善自己的技术。

我和大侠不同,我还处于学习阶段,思路和方法、技术的完善是我最关心的。

希望大侠多多指点为感。
2009-2-28 09:26
0
雪    币: 423
活跃值: (11)
能力值: ( LV9,RANK:230 )
在线值:
发帖
回帖
粉丝
25
00B2D5D4  31 32 33 34 35 36 37 38 30 39 31 32 33 34 35 36  1234567809123456
00B2D5E4  00 F0 AD BA C0 D5 B2 00 C0 30 1E 1E 10 00 00 00  .瓠豪詹.?...
00B2D5F4  FF FF FF FF 00 00 00 00 4F 54 67 33 4E 6A 55 30  ....OTg3NjU0
00B2D604  4D 7A 49 78 4D 41 3D 3D                          MzIxMA==
2009-2-28 09:36
0
游客
登录 | 注册 方可回帖
返回
//