新模式-网友互动-01 - TunesKit AceMovi 爆破,大家一起来互动爆破吧
本帖最后由 wanao2008 于 2021-9-3 14:11 编辑太多的爆破文章都是教学贴,感觉不新鲜了,不如咱们换个方法吧,一起来互动吧!
今天爆破的软件是:TunesKit AceMovi V4.0.1
公司网站原版下载地址:https://www.tuneskit.com/download/AceMovi.exe
图标:
启动在标题栏有购物车图标,表示为未注册版:
分析方法如下:
先假码注册一下,发现有错误提示:“Register info as invalid.”
这样我们就搜索字符串吧,输入“regist”,果然找到关键字符串:
双击找到的字符串,来到代码处:
向上找到关键CALL,单击选中后,回车,进入看一下:
又找到一个关键CALL,回车进入看一下,这次找到两个关键CALL,
这是第一个:
继续向下,看到第二个关键CALL:
在第二个关键CALL下面,找到了最关键的常量地址【XXXX2650】,因为地址前4位会变,所以用XXXX代替。
经过几次下断,重启测试后,我得到了最终答案:
1、第二个关键CALL的返回值必须为1;
2、常量地址必须为1。
启动后的软件为:
没有了购物车,经测试爆破成功!
补充一下让常量地址为1的操作方法:
1、先在常量地址处下断
2、Ctrl+F2 重新运行程序
3、点击快捷图标按钮“b"打开断点对话框,双击,来到代码处
4、在下方数据区域找到地址后,改为1即可。
下面是网友互动时间:
1、怎么改“关键CALL-2”的返回值为1?
2、怎么改“常量地址【XXXX2650】”的值为1?
如果有什么疑问也欢迎广大网友互动起来,一起爆破它,大家加油!!!!
没有人回答,是因为太简单了?
那我补充说明一下:
非也非也,其实很难,
问题1,通常让一个CALL的返回值为1,我们的改法为:
进入 关键CALL改为
mov eax,1
retn
但这里不行,不信你试试?
问题2,常量地址是动态的,想要给它赋值,绝对不是新手能办到的,
并非激将法,我感觉能将这两处修改的一定是高手。
真正的高手应该会另有方法,也欢迎高手出来一起互动,让大家学到更多更精彩的技术!!
wanao2008 发表于 2022-1-10 20:45
哪有多少种方法?能用一种方法逆向就算厉害的了。
鲨鱼哥说过,玩软件不要只用一种方法玩,给你个提示哦,可以从注册入手,也可以从功能入手,比如功能方面有哪些限制,是灰色按钮,弹错误提示框,等等,如果是弹错误提示,那么又有几种方法呢,比如暂停法,查找字符串,另外,有些时候查找字符串又查不到,怎么办呢 写的很详细,对新手会很有帮助,加油! 一个是考虑到堆栈平衡的极端情况尽量不要直接retn,一个是尽量避免使用立即数。 温九 发表于 2021-9-2 23:45
写的很详细,对新手会很有帮助,加油!
谢谢回帖支持!
但最好能发布一下修改方法,
这样才能产生互动效果。 本帖最后由 666888tzq 于 2021-9-5 16:31 编辑
mov al,1,然后jmp到常量地址断点处。 666888tzq 发表于 2021-9-5 16:29
mov al,1,然后jmp到常量地址断点处。
感谢回复!
mov al,1 只是al=1了,如果想让eax=1怎么改?
jmp不可能实现。 我在这里先回答第二个问题,至于第一个问题,我没调试,怀疑是否是没堆栈平衡造成的问题呢
好,先上图
请大家注意我用黄框框了的几段代码,如果认真分析这几段代码后,就会发现如果我们把那个关键CALL的返回值修改为1后,那后面的关键常量处就会被赋值为1,为什么???
看里面的代码
mov byte ptr ds:,bl ;把bl的值赋值给0x1302650地质处
mov bl,al ;把al的值赋值给bl
, 多谢楼主分享 感谢分享{:7_231:} haier8917 发表于 2022-1-6 18:57
我在这里先回答第二个问题,至于第一个问题,我没调试,怀疑是否是没堆栈平衡造成的问题呢
好,先上图
首先感谢您的认真参与!!但看你用的是我的图,说明你没有实际动手操作,只是通过看代码分析出来的。既然我当作一个互动题,应该不是那么简单。