黄河flash播放器绿化与爆破分析

黄河flash播放器分析 By TY1921

一、安装程序为自解压文件,包含卸载程序与程序主目录:

结构分析:
C:.
default.hhf播放列表
hhflash.exe主程序
hhflash.ini配置文件,程序运行后会自动生成
play.binflash播放器,后缀名改为exe后可直接运行
tip.dat小贴士的提示信息,删除后会报错,但不影响程序使用,可精简

hhcatch.001IE插件文件
hhcatch.dllIE插件
hhflash.dllIEEXTEND

hhflash.chm帮助文件
huanghe.swfflash文件
geturl.htm
readme.txt
setup.log

复制该目录后运行卸载程序,复制的目录内程序运行正常,因安装时没有拷贝文件到系统目录,对注册表依赖也很小,绿化完成。

程序分析:

1,主程序包含几个常规窗体,主窗体无边框,采用图片作为背景[现在的软件皮肤一般用户xml配置,如QQ,天天静听],flash播放框疑似frame制作,play.bin则是flash播放程序,后缀名改为.exe后可双击直接运行。

2,配置文件可删除,主程序将自动生成,包含是否初始化每日提示的标志位;tip.dat是每日提示的信息文件,改写主程序后可以删除

3,几个DLL文件均为浏览器插件,无用,可以直接删除

二、除主程序外其余都被加壳,压缩壳运用ESP定律轻松脱掉,在此略过。

注册爆破:

004BC06D |. E8 523CF8FF CALL hhflash.0043FCC4 ; 注册码长度 004BC072 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8] 004BC075 |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4] 004BC078 |. E8 DBCCF4FF CALL hhflash.00408D58 004BC07D |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 004BC080 |. 50 PUSH EAX 004BC081 |. 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10] 004BC084 |. 8B83 FC020000 MOV EAX,DWORD PTR DS:[EBX+2FC] 004BC08A |. E8 353CF8FF CALL hhflash.0043FCC4 ; ID长度 004BC08F |. 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10] 004BC092 |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C] 004BC095 |. E8 1ADFFFFF CALL hhflash.004B9FB4 ; 算法CALL 004BC09A |. 8B55 F4 MOV EDX,DWORD PTR SS:[EBP-C] ; 真码 004BC09D |. 58 POP EAX ; 假码 004BC09E |. E8 458CF4FF CALL hhflash.00404CE8 ; 比较CALL 004BC0A3 |. 75 34 JNZ SHORT hhflash.004BC0D9 ; 爆破此处 004BC0A5 |. B8 38C14B00 MOV EAX,hhflash.004BC138 ; 注册成功!

三、 固定注册码

注册码的生成[启动验证部分]:

004C3561 |. 50 push eax 004C3562 |. B8 F4364C00 mov eax, 004C36F4 ; ASCII "c:/" 004C3567 |. E8 A87BFFFF call 004BB114 ; /GetVolumeInformationA获取硬盘序列号 004C356C |. 33D2 xor edx, edx 004C356E |. 52 push edx ; /Arg2 => 00000000 004C356F |. 50 push eax ; |Arg1 004C3570 |. 8D45 D4 lea eax, dword ptr [ebp-2C] ; | 004C3573 |. E8 2C5BF4FF call 004090A4 ; /序列号转10进制 004C3578 |. 8B4D D4 mov ecx, dword ptr [ebp-2C] 004C357B |. 8D45 D8 lea eax, dword ptr [ebp-28] 004C357E |. BA 00374C00 mov edx, 004C3700 ; ASCII "ID" 004C3583 |. E8 6816F4FF call 00404BF0 ; "ID"+序列号组合成注册名 004C3588 |. 8B45 D8 mov eax, dword ptr [ebp-28] ; *修改地址此处,可NOP掉[004C3561-004C3583]区间代码,修改为mov eax,XXXXXXXX 004C358B |. 8D55 DC lea edx, dword ptr [ebp-24] ; 004C358E |. E8 216AFFFF call 004B9FB4 ; 算法部分 004C3593 |. 8B55 DC mov edx, dword ptr [ebp-24] ; 真码 004C3596 |. 58 pop eax ; 假码 004C3597 |. E8 4C17F4FF call 00404CE8 ; 比较CALL 004C359C |. 75 1A jnz short 004C35B8 ; 爆破此处 004C359E |. C605 38994C00>mov byte ptr [4C9938], 1 ; 全局变量


四、日积月累

日积月累是TIPS窗体,下面是常见的启动代码:

'窗体初始化 Dim ShowAtStartup As Long ' 察看在启动时是否将被显示 ShowAtStartup = GetSetting(App.EXEName, "Options", "在启动时显示提示", 1) If ShowAtStartup = 0 Then Unload Me Exit Sub End If ' 设置复选框,强行将值写回到注册表 Me.chkLoadTipsAtStartup.Value = vbChecked '以下是读取文件内容的部分...


黄河播放器在启动的时候不外乎也是这个过程,尤其关键的一点是会对注册表进行操作,由此对程序进行修改。


修改位置:
004C60D3 |. BA 84614C00 mov edx, 004C6184 ; hhflash.ini 004C60D8 |. E8 CFEAF3FF call 00404BAC 004C60DD |. 8B45 EC mov eax, dword ptr [ebp-14] 004C60E0 |. B9 98614C00 mov ecx, 004C6198 ; showtip 004C60E5 |. BA A8614C00 mov edx, 004C61A8 ; Tips 004C60EA |. E8 D139FFFF call 004B9AC0 004C60EF |. 8B45 F0 mov eax, dword ptr [ebp-10] 004C60F2 |. BA B8614C00 mov edx, 004C61B8 ; False 004C60F7 |. E8 ECEBF3FF call 00404CE8 004C60FC |. 74 21 je short 004C611F ; *此处修改JE为JMP,使跳转成立


总结:
1,最小化精简后,只包括主程序hhflash.exe和播放器play.bin这两个文件

2,该程序上期在校长视频总结的相当透彻,无论是程序全局变量,还是算法之类。这次的绿化出乎意料很简单,主要是由于自解压的缘故。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值