能力值:
( LV12,RANK:650 )
|
-
-
2 楼
这个简单,用IDA分析,你看到
.text:00401149 call ??6ostream@@QAEAAV0@PBD@Z ; ostream::operator<<(char const *)
这个就是读取输入。
.text:00401174 call _atoi
.text:00401179 add esp, 4
.text:0040117C cmp eax, 1
判断之一
方法:找到“密码”的引用,然后往上看就可以发现了。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
我很菜,请您说得详细一点好吗?谢谢,便于我学习。
盼望中。。。。
|
能力值:
( LV12,RANK:650 )
|
-
-
4 楼
你有没有用ida分析呢?
请试一下.
查找特征字符串的引用,再向上找,可以看见对ostream::operator<<(char const *)的引用.这是输入流.取得输入以后,一定要atoi的,再在附近找cmp/je就看见了.
上一贴是说主菜单的.
一般你拦ostream::operator<<(char const *)的call肯定可以.注意在call里拦
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
IDA不会用,用其他静态分析软件也可以。当然如果初学的话用静动结合比较好理解代码的执行情况
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
帖张图,靠我连拦都不知道 怎么拦呀,你把他解开,我也学学
呵
破解软件下了一大堆,就是不知怎么用???
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
我在摸索、试着破解。
但对IDA不熟练,困难很多。
请firstrose朋友就我1楼说的例子把破解过程说仔细一点,从中我们定会学到很多知识。
工具一大堆,但不懂门道,真是急死人。。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
firstrose你好,我用IDA试了,由于很菜,没看懂,不知道怎么做到“往上看就可以发现了”。
如下:
.text:00401149 call ??6ostream@@QAEAAV0@PBD@Z ; ostream::operator<<(char const *)
.text:0040114E mov ecx, eax
.text:00401150 call sub_401005
.text:00401155
.text:00401155 loc_401155: ; CODE XREF: _main+661j
.text:00401155 ; _main+7DCj ...
.text:00401155 mov edx, 1
.text:0040115A test edx, edx
.text:0040115C jz loc_401866
.text:00401162 lea eax, [ebp+var_1C]
.text:00401165 push eax
.text:00401166 mov ecx, offset dword_42CA08
.text:0040116B call ??5istream@@QAEAAV0@PAD@Z ; istream::operator>>(char *)
.text:00401170 lea ecx, [ebp+var_1C]
.text:00401173 push ecx ; char *
.text:00401174 call _atoi
.text:00401179 add esp, 4
.text:0040117C cmp eax, 1
请再次指点,盼望中。。。
再请告诉我关于IDA使用的教程,谢谢!
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
破解的书上对IDA都讲得不详细,我们菜鸟没法领会。
请各位大侠赐教。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
请firstrose就本例写一个IDA的破解教程,好吗?我们菜鸟很需要学习呀。没有实际经验只能跟着高手学习、入门,才能谈进一步提高了。
十分感谢。盼望学习中。。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
在看雪和郭栋的几本书中对IDA都讲得比较深奥,我们菜鸟没能看懂,不会实际使用呀。
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
仔细看看,
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
请firstrose再指点一下,恳求
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
指望他看来不行了,还要靠我们自己,我学会了我就给你一条一条加注解,不过我们还是去找本汇编书学学吧,他们是不会教我们这级菜鸟的,都是以高手自居,很牛的,我们一定会比他们强的,气死我了!!!哇哇哇
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
最初由 firstrose 发布 你有没有用ida分析呢? 请试一下.
查找特征字符串的引用,再向上找,可以看见对ostream::operator<<(char const *)的引用.这是输入流.取得输入以后,一定要atoi的,再在附近找cmp/je就看见了.
........ 我不爱你!!!!!!!!!
永远!!!!!!!
永远!!!!!!!
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
狂找汇编书~~~~~~~~~~~~
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
不会吧,这里气氛很好的呀。
我不是指望破解一个完整的软件,我只是学习而已。
主要是对IDA不熟悉呀。
狂找也没用呀。
|
能力值:
( LV6,RANK:90 )
|
-
-
18 楼
先用W32Dasm反汇编,找到读取密码的那一句,记下地址,然后用TRW2000 load 该程序,进入程序后用CTRL+PGDN往后翻页,找到读取密码的那个地址,设置断点,然后就可以追进去看看程序是怎么处理密码的!
可以试试看
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
最初由 SubtWay+0 发布 先用W32Dasm反汇编,找到读取密码的那一句,记下地址,然后用TRW2000 load 该程序,进入程序后用CTRL+PGDN往后翻页,找到读取密码的那个地址,设置断点,然后就可以追进去看看程序是怎么处理密码的! 可以试试看
DOS程序也可以用动态跟踪吗???我XP上可是运行不了ICE 我TRW的,郁闷
人家都说ICE能运行,可是我怎么设置也没用
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
最初由 qwert 发布 不会吧,这里气氛很好的呀。 我不是指望破解一个完整的软件,我只是学习而已。 主要是对IDA不熟悉呀。 狂找也没用呀。
解开也过时了,当然要学着破了,我也是
|
能力值:
( LV6,RANK:90 )
|
-
-
21 楼
最初由 夏雨 发布
DOS程序也可以用动态跟踪吗???我XP上可是运行不了ICE 我TRW的,郁闷 人家都说ICE能运行,可是我怎么设置也没用
还操作系统,用win2000和win9x,
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
进一步补充自己的汇编知识,没办法了!
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
9X+SICE
王者无敌
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
最初由 鸡蛋壳 发布 9X+SICE 王者无敌
我还是感觉9X+TRW是最好
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
我根据楼上各位的意思,试验了好多次。
我注重破解的过程。
其实该程序的正确密码为:239449359
我是这样操作的:
1、运行TRW2000
2、输入文件名 c:\2004.exe
3、从右下角调出TRW2000,点LOAD进入
4、通过多次分析,直接输入
G 004015DC
5、来到了DOS界面的程序运行状态,按1,再回车
6、提示:<请输入您的验证密码,898989按回车>
输入假的密码:89898989 回车
7、来到TRW下
有这么一段:
* Possible StringData Ref from Code Obj ->"檐
"
|
:004015C8 680F104000 push 0040100F
:004015CD 68C4804200 push 004280C4
:004015D2 B958CA4200 mov ecx, 0042CA58
:004015D7 E804170000 call 00402CE0
:004015DC 8BC8 mov ecx, eax
:004015DE E822FAFFFF call 00401005
:004015E3 8D4DAC lea ecx, dword ptr [ebp-54]
:004015E6 51 push ecx
:004015E7 B908CA4200 mov ecx, 0042CA08
:004015EC E87F0D0000 call 00402370 ;来到此处,按F8追入,看下面
:004015F1 6A00 push 00000000
:004015F3 E8D8380000 call 00404ED0
===========
* Referenced by a CALL at Addresses:
|:0040116B , :004011B7 , :004015BC , :004015EC , :004016CD
|
:00402370 55 push ebp ;来到这里
:00402371 8BEC mov ebp, esp
:00402373 83EC10 sub esp, 00000010
:00402376 894DF0 mov dword ptr [ebp-10], ecx
:00402379 6A00 push 00000000
:0040237B 8B4DF0 mov ecx, dword ptr [ebp-10]
:0040237E E8EDFDFFFF call 00402170
:00402383 85C0 test eax, eax ;判断密码不对,就玩完,提示“密码错误!”
:00402385 0F8448010000 je 004024D3
:0040238B 8B45F0 mov eax, dword ptr [ebp-10]
:0040238E 8B08 mov ecx, dword ptr [eax]
:00402390 8B5104 mov edx, dword ptr [ecx+04]
:00402393 8B45F0 mov eax, dword ptr [ebp-10]
:00402396 8B4C1030 mov ecx, dword ptr [eax+edx+30]
:0040239A 83E901 sub ecx, 00000001
:0040239D 894DF4 mov dword ptr [ebp-0C], ecx
:004023A0 8B55F0 mov edx, dword ptr [ebp-10]
:004023A3 8B02 mov eax, dword ptr [edx]
:004023A5 8B4804 mov ecx, dword ptr [eax+04]
:004023A8 8B55F0 mov edx, dword ptr [ebp-10]
:004023AB C7440A3000000000 mov [edx+ecx+30], 00000000
:004023B3 837D0800 cmp dword ptr [ebp+08], 00000000
:004023B7 7526 jne 004023DF
:004023B9 8B45F0 mov eax, dword ptr [ebp-10]
:004023BC 8B08 mov ecx, dword ptr [eax]
:004023BE 8B5104 mov edx, dword ptr [ecx+04]
:004023C1 8B45F0 mov eax, dword ptr [ebp-10]
:004023C4 8B4C1008 mov ecx, dword ptr [eax+edx+08]
:004023C8 83C902 or ecx, 00000002
:004023CB 8B55F0 mov edx, dword ptr [ebp-10]
:004023CE 8B02 mov eax, dword ptr [edx]
:004023D0 8B5004 mov edx, dword ptr [eax+04]
:004023D3 8B45F0 mov eax, dword ptr [ebp-10]
:004023D6 894C1008 mov dword ptr [eax+edx+08], ecx
:004023DA E9EC000000 jmp 004024CB
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
请教怎么判断正确密码?
假如高手能写出教程就好了。
|
|
|