吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6668|回复: 30
收起左侧

[原创] 几种方法调试一个CM

  [复制链接]
byh3025 发表于 2017-3-17 22:30
本帖最后由 byh3025 于 2017-4-25 10:08 编辑

昨天晚上见论坛有人发了一个CM,想拿它练练手,先打开看看是什么东东,怎么回事?直接弹错。
001.png
我可什么也没输入啊,况且也没看到有地方输入注册码,这时我看到文件夹内有一个KEY,莫非是在这里面输入?姑且试试吧,打开,然后在里面输入假码
QQ截图20170317212616.png
好了,载入OD,然后去401000处,看样子像易语言,那我们就试试秒杀易语言大法吧
1.png
查找命令,输入TEST EDX,3
2.png
好,找到了,下断吧,F9运行,运行几次后我们就看到了真假码对比
3.png
下面我们来爆破它,CTRL+F9到段尾,记住返回值是0XFFFFFFFF,等一下我们有用
4.png
F8出CALL,这是什么鬼?没关系,我们右键,分析,从模块中删除分析就好了,这时我们看到一条指令:SETE AL它受上面CMP的影响,相等为真,EAX=1,反之为假,EAX=0
5.png 6.png
第一,我们可以把上面的MOV EAX,0改为MOV EAX,1,再把SETE AL  NOP掉,就实现了爆破,如下图所示
7.png
第二,我们已经知道此时EAX=0XFFFFFFFF,那么我们就可以把CMP EAX,0X0 改为CMP EAX,0XFFFFFFFF,如下图所示,也实现了爆破的目的
8.png
当然,我们还可以用赋值法给EAX赋值为0,效果都是一样的,下面我们主要讲一下另类的爆破,由于搜索不到字符串,昨天看了@酒醒黄昏 的教程,就借用他的方法,下面看图吧,载入OD然后F9运行,直接弹错,别管它,F12暂停,查看-窗口,找到弹错的提示,右键-在CLASSPROC上设置消息断点,来到如下界面,点确定
01.png
下好断以后,重新加载程序,F9几次后我们在堆栈窗口看到了错误提示的内容,
02.png
这时我们取消断点,ALT+F9返回到程序领空,就是弹错的地方
04.png
单步F8出CALL,我们一眼就看到了一个JNZ能跳过它,那就改为JMP吧,改好后F9运行,我们发现成功了
05.png 07.png
由于是小白,当中难免会有许多不足之处,望路过的大年多多指教,其实我刚开始是相从正确提示入手的,由于昨天晚上弄得太晚了,头昏脑胀的,成功一次后忘记怎么弄的了,结果到现在也弄不好了。
PS:还有一个问题,我的OD下面的Commadd不知怎么回事消失不见了,谁能说下是什么问题吗?谢谢了
000.png





00.png

免费评分

参与人数 9吾爱币 +14 热心值 +8 收起 理由
Hmily + 6 + 1 用心讨论,共获提升!
yqz030622 + 1 + 1 谢谢@Thanks!
kenan888 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
zedong + 1 + 1 我很赞同!
那么骄傲丶 + 1 + 1 我很赞同!
醉生梦死. + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
yt20090291 + 1 鼓励转贴优秀软件安全工具和文档!
pnccm + 2 + 1 用心讨论,共获提升!
Three_fish + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| byh3025 发表于 2017-3-18 12:58
酒醒黄昏 发表于 2017-3-18 10:16
把这个CM 地址给我一下 看看

还有一个很诡异的地方,无论是错误提示返回还是正确提示返回,结果都是在一个地方,所以如果保存的话应该是不会成功的

0047F9F5     /75 16         jnz short 测试加密.0047FA0D
0047F9F7  |. |FF75 10       push [arg.3]
0047F9FA  |. |8B06          mov eax,dword ptr ds:[esi]               ;  测试加密.004B402C
0047F9FC  |. |8BCE          mov ecx,esi
0047F9FE  |. |FF75 0C       push [arg.2]
0047FA01  |. |FF75 08       push [arg.1]
0047FA04  |. |FF90 A0000000 call dword ptr ds:[eax+0xA0]…………………………………正确提示框
0047FA0A  |. |8945 FC       mov [local.1],eax
0047FA0D  |> \8B45 FC       mov eax,[local.1]
0047FA10  |.  5E            pop esi
0047FA11  |.  C9            leave
0047FA12  \.  C2 0C00       retn 0xC



0047F9F5      75 16         jnz short 测试加密.0047FA0D
0047F9F7  |.  FF75 10       push [arg.3]
0047F9FA  |.  8B06          mov eax,dword ptr ds:[esi]               ;  测试加密.004B3820
0047F9FC  |.  8BCE          mov ecx,esi
0047F9FE  |.  FF75 0C       push [arg.2]
0047FA01  |.  FF75 08       push [arg.1]
0047FA04  |.  FF90 A0000000 call dword ptr ds:[eax+0xA0]…………………………………………错误提示框
0047FA0A  |.  8945 FC       mov [local.1],eax
0047FA0D  |>  8B45 FC       mov eax,[local.1]
0047FA10  |.  5E            pop esi
0047FA11  |.  C9            leave
0047FA12  \.  C2 0C00       retn 0xC
 楼主| byh3025 发表于 2017-3-18 10:04
Hmily 发表于 2017-3-17 23:23
第一个方法是怎么总结出来的?那地方是易语言的通用对比函数特征?

命令行那个strongod插件提供,看看选 ...

呵呵,大神见笑了,我哪里会总结什么啊,只是用了秒杀易语言的方法,既然有真假码的对比,那它就会计算出一个结果,然后拿这个结果去比较的。另外命令行那个strongod插件选项大神能说详细点吗?我怎么找不到呢,谢谢了

点评

od的插件有个叫strongod的,你看看。  详情 回复 发表于 2017-3-18 11:40
ttwang 发表于 2017-3-17 22:52
Hmily 发表于 2017-3-17 23:23
第一个方法是怎么总结出来的?那地方是易语言的通用对比函数特征?

命令行那个strongod插件提供,看看选项是不是关了。
苏紫方璇 发表于 2017-3-17 23:26
Hmily 发表于 2017-3-17 23:23
第一个方法是怎么总结出来的?那地方是易语言的通用对比函数特征?

命令行那个strongod插件提供,看看选 ...

目测那个地方是易语言的文本比较
酒醒黄昏 发表于 2017-3-18 09:10
熟能生巧   多练几遍  办法很多种,但目的只有一个,到成功的时候就发现前边所有的切入口都差不多。加油。另外最后一个暂停法不适合用,比较繁杂,建议用消窗断点拦截,然后直接在右下键的窗口找,最后回溯下断点就简单多了。
KaQqi 发表于 2017-3-18 09:17
苏紫方璇 发表于 2017-3-17 23:26
目测那个地方是易语言的文本比较

那玩意是怎么总结的?
andaOid 发表于 2017-3-18 10:05
额,我还算是小白,,但是我也看看,先谢楼主
 楼主| byh3025 发表于 2017-3-18 10:13
酒醒黄昏 发表于 2017-3-18 09:10
熟能生巧   多练几遍  办法很多种,但目的只有一个,到成功的时候就发现前边所有的切入口都差不多。加油。 ...

我试了,它这个用消息窗口是断不下来
酒醒黄昏 发表于 2017-3-18 10:16
byh3025 发表于 2017-3-18 10:13
我试了,它这个用消息窗口是断不下来

把这个CM 地址给我一下 看看
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 07:38

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表