学爆破但不成功请高手指点??
本帖最后由 sdggll 于 2012-2-13 16:33 编辑1.使用软件破解常用汇编指令
软件破解常用汇编指令
cmpa,b //比较a与b
mova,b //把b值送给a值,使a=b
ret//返回主程序
nop//无作用,英文(no operation)简写,意思“do nothing”(机器码90)
(ultraedit打开编辑exe文件看到90相当汇编语句的nop)
call //调用子程序,子程序以ret结尾
je或jz //相等则跳(机器码是74或84)
jne或jnz //不相等则跳(机器码是75或85)
jmp//无条件跳(机器码是EB)
jb //若小于则跳
ja //若大于则跳
jg //若大于则跳
jge//若大于等于则跳
jl //若小于则跳
pop xxx//xxx出栈
push xxx //xxx压栈
爆破无敌口诀
一条(跳)就死,九筒(90)就胡
(对应上面的2--修改为nop)
一条(跳)就胡,一饼(EB)伺候
(对应上面的1--修改为jmp)
(74) 变(75)
2.使用OD爆破
3.修改地址00407F7A代码75为74了,只显示注册成功,但实则爆破不成功,请大大指点一下。
代码如下:
代码程序:y2_.exe已经脱壳
1。
2。http://115.com/file/antkgkrj
本帖最后由 sdggll 于 2012-2-13 16:38 编辑
实为弹窗显示注册成功,但根本还不成功注册。
想追注册码,但显示出本机的机械码和我自己随便的注册码!!!
如果有高手在,请指点爆破分析方法,分享经验。
再继续破,应该是没破完整 本帖最后由 yangand 于 2012-2-13 17:29 编辑
我没找到验证CALL,我是跟据字符串和按钮事件慢慢更孾来的。第一次验证都在不同的地方。但是有特牍码可寻
8D 0C C0 8D ?4 88
找到后,把下面的大跳NOP掉,有的地方改一个跳,有一个地方要改两个跳。
关键字符串“已注册”
点开始之后,输完信息,点确定。用C语言按钮事件(sub eax,0a),拦下F7再F8慢慢跟,注意把OD窗口不要全屏,要把屏幕中间的位置空出来,这样软件出提示窗口的时候你才能发现是过了那个CALL之后,出来的,这样你就可以找到一个跳转。那个跳转是不能跳的。我也是试出来的。那个跳下面的两个中的一个CALL 就是关键CALL,F7跟进,你就可以发现我说的特征码了。
这个特征码也是找字符串的时候发现的。但是不一样,长得很像,很像就可疑。
我的方法不一定是最好的,大家可以试试其它的方法
以下NOP的地方就是修改的地方
00407F72 .8D0CC0 lea ecx,dword ptr ds:
00407F75 .8D1488 lea edx,dword ptr ds:
00407F78 .3BEA cmp ebp,edx
00407F7A 90 nop
00407F7B 90 nop
00408108 .8D0CC0 lea ecx,dword ptr ds:
0040810B .8D1488 lea edx,dword ptr ds:
0040810E .3BFA cmp edi,edx
00408110 90 nop
00408111 90 nop
00408112 .8B4424 08 mov eax,dword ptr ss:
00408116 .68 A05C4D00 push yjbz.004D5CA0 ; /Arg2 = 004D5CA0
0040811B .50 push eax ; |Arg1
0040811C .E8 CD220200 call yjbz.0042A3EE ; \yjbz.0042A3EE
00408121 .83C4 08 add esp,8
00408124 .85C0 test eax,eax
00408126 90 nop
00408127 90 nop
00419DBF .8D0CC0 lea ecx,dword ptr ds:
00419DC2 .8D1488 lea edx,dword ptr ds:
00419DC5 .3BF2 cmp esi,edx
00419DC7 90 nop
00419DC8 90 nop
00419DC9 .8B4424 0C mov eax,dword ptr ss:
00419DCD .68 A05C4D00 push yjbz.004D5CA0 ; /Arg2 = 004D5CA0
00419DD2 .50 push eax ; |Arg1
00419DD3 .E8 16060100 call yjbz.0042A3EE ; \yjbz.0042A3EE
00419DD8 .83C4 08 add esp,8
00419DDB .85C0 test eax,eax
00419DDD 90 nop
00419DDE 90 nop
0041FC03|.8D0CC0 lea ecx,dword ptr ds:
0041FC06|.8D0488 lea eax,dword ptr ds:
0041FC09|.3BF0 cmp esi,eax
0041FC0B|.A3 2CC54D00 mov dword ptr ds:,eax
0041FC10 90 nop
0041FC11 90 nop
0041FC12 90 nop
0041FC13 90 nop
0041FC14 90 nop
0041FC15 90 nop
0041FC16|.8B5424 18 mov edx,dword ptr ss:
0041FC1A|.68 A05C4D00 push yjbz.004D5CA0 ; /Arg2 = 004D5CA0
0041FC1F|.52 push edx ; |Arg1
0041FC20|.E8 C9A70000 call yjbz.0042A3EE ; \yjbz.0042A3EE
0041FC25|.83C4 08 add esp,8
0041FC28|.85C0 test eax,eax
0041FC2A 90 nop
0041FC2B 90 nop
0041FC2C 90 nop
0041FC2D 90 nop
0041FC2E 90 nop
0041FC2F 90 nop
0041FC30|.A1 44C54D00 mov eax,dword ptr ds:
0041FC35|.68 A05C4D00 push yjbz.004D5CA0 ; /Arg2 = 004D5CA0
yangand 发表于 2012-2-13 17:28 static/image/common/back.gif
我没找到验证CALL,我是跟据字符串和按钮事件慢慢更孾来的。第一次验证都在不同的地方。但是有特牍码可寻
...
等我试试,跟yangand学习挺有意义。
但为什么跟提示的信息不对应? 这个要怎么知道是完全注册??? sdggll 发表于 2012-2-13 17:36 static/image/common/back.gif
等我试试,跟yangand学习挺有意义。
但为什么跟提示的信息不对应?
跟什么提示的信息? 不懂呢什摸意思呢 MorrisQ 发表于 2012-2-13 18:20 static/image/common/back.gif
这个要怎么知道是完全注册???
软件使用没有限制就行
页:
[1]
2