Bigasoft Total Video Converter6逆向思路分享

0x00:软件介绍
这款软件可以转换绝大部分视频和音频格式,非常值得推荐。
官方网站:http://www.bigasoft.com/total-video-converter.html
下载链接:http://www.bigasoft.com/downloads/b-total-video-converter.exe

官方介绍支持的格式如下:

 

 


 
0x01:提示信息
打开软件会出现注册提示,提示未注册有功能限制。

 

 


0x02:动态分析
使用x32dbg加载目标程序,点击F9运行,再次按F9直到x32dbg左下角出现“运行中”的提示,软件界面已经打开。

 

 


 
此时,点击x32dbg软件上方的“符号”选项卡,双击“videoconverter.exe”即目标程序名称。

 

 





双击之后会返回到程序的反汇编窗口,此时点击工具栏中的“A2”按钮进行字符串搜索,窗口会自动切换到“引用”选项卡。
 

 

 


再“引用”窗口,搜索字符串“unregister”找到三处位置,在每一处都设置好断点。


重新运行调试,连续按F9继续运行,软件会断在如图所示的字符串调用处,向上分析代码如图中所解释,在函数调用位置下断。
此处给我的思路是这个函数的返回值设置为非0值。即可达到不跳转到unregistered的目的。

 

 

重新运行调试,直到软件断在函数调用处,F7步入,来到videoconverter.4AC550这个函数内部。涉及到汇编代码如下:
为了继续分析函数的调用关系,先不要手动改这个函数的返回值。

 

004AC550 | E8 ABB70200              | call videoconverter.4D7D00                                    |
004AC555 | FF50 24                  | call dword ptr ds:[eax+24]                                    |
004AC558 | 85C0                     | test eax,eax                                                  |
004AC55A | 0F95C0                   | setne al                                                      |
004AC55D | C3                       | ret                                                           |
004AC55E | CC                       | int3                                                          |

 

 

由此可知eax的值来源于call dword ptr ds:[eax+24]这一处的赋值,在此处下断,继续重新运行调试。

再次连续F9运行,直到软件暂停在上一步设置的断点处,按F7步入,得到如下汇编代码:
到这里后先不用继续跟踪,分析下汇编代码。

 

004D7B70 | 6A 00                    | push 0                                                        |
004D7B72 | E8 09FFFFFF              | call videoconverter.4D7A80                                    |          
004D7B77 | 83C4 04                  | add esp,4                                                     |
004D7B7A | 85C0                     | test eax,eax                                                  |
004D7B7C | 74 06                    | je videoconverter.4D7B84                                      |
004D7B7E | B8 01000000              | mov eax,1                                                     |
004D7B83 | C3                       | ret                                                           |
004D7B84 | 6A 01                    | push 1                                                        |
004D7B86 | E8 F5FEFFFF              | call videoconverter.4D7A80                                    |
004D7B8B | 83C4 04                  | add esp,4                                                     |
004D7B8E | F7D8                     | neg eax                                                       |
004D7B90 | 1BC0                     | sbb eax,eax                                                   |
004D7B92 | 83E0 02                  | and eax,2                                                     |
004D7B95 | C3                       | ret                                                           |

 

 分析得到eax的值来源于videoconverter.4D7A80这个函数的返回值,接着上一步的位置按"F7"步进到这个函数内部,这个函数要仔细分析和推敲,经过几次的重试和单步跟踪,
最后终于发现函数的返回值取决于xor eax,eax这一步,在此处下断点。

 

 

 

重新运行调试,直到断到上一步设置的断点处,将汇编代码改成"mov al,1"按F9运行,又会来到刚开始我们设置的断点处,如图所示。此时按F7单步跟踪,

 

 

来到这段代码处,

 

004AC550 | E8 ABB70200              | call videoconverter.4D7D00                                    |
004AC555 | FF50 24                  |call dword ptr ds:[eax+24]                                     |
004AC558 | 85C0                     | test eax,eax                                                  |
004AC55A | 0F95C0                   | setne al                                                      |
004AC55D | C3                       | ret                                                           |

 

 

来到之前设置的断点call dword ptr ds:[eax+24],
按F7跟进,来到下面这段代码,发现此处会将eax的值至为0,将其改成“mov al,1”即可完成全部破解

004CE860 | 33C0                     | xor eax,eax                                                   |
004CE862 | C3                       | ret                                                           |

 

 
上面的所有步骤所要达到的目的是将videoconverter.4AC55这个函数的最终返回值设置为1。
动态调试需要耐心,一遍一遍的设置断点,重新运行,观察函数返回值eax的值的变化。身为小菜的我们,希望您也可以学会这段破解。


感谢您发财的小手,给我的评分,谢谢,祝朋友们新春快乐,健康幸福。

posted @ 2020-01-23 19:04  heycomputer  阅读(295)  评论(0编辑  收藏  举报