本帖最后由 tree_fly 于 2015-10-27 18:24 编辑
Aimersoft YouTube Downloader 5.4.5
- • Download videos from thousands of sites
- • Download YouTube playlists or channels
- • Convert videos to any video/audio format
- • Convert videos to fit your portable devices
- • Fully compatible with Mac OS X 10.10 Yosemite
这是一款视频下载兼有格式转换软件,Aimersoft公司出品,旗下的其他软件同样也很出色,希望此文能够抛砖引玉, 让更多人能进入飘云阁一起学习进步。
难度:level 1
工具介绍Hopper 3.7.9(土豪可以购买最新版本)
分析如下:
打开hopper,搜索关键词 register:
点击 verifySN:sn,查看伪代码(PSeudo Code),简单分析一下:
这里调用了子函数_VerifySN(), 双击 call _VerifySN,来到子函数代码段,鼠标至于首行①处,在②处可以看到3处引用,双击就可以查看细节:
3处引用分别来自:
1. -[IMRegisterMgr registerEmail:sn:]:
2. -[IMRegisterMgr isRegistered]:
3. -[IMRegisterMgr verifySN:sn:]:
那么又是谁在调用这3处呢?
接下来,我们来动态调试,首先在_VerifySN()代码段首行下一个断点,
然后启动Hopper Debugger Server, 连接到Debugger。
程序启动过程中已经被断了下来,看来由重启验证,看一下:
查看一下堆栈:
_VerifySN:
-[IMRegisterMgr isRegistered]:
-[AllMyTubeAppDelegate initRegister]:
-[MainWindowCtr awakeFromNib]:
好了,继续运行,第二次断了下来,看下堆栈: _VerifySN:
-[IMRegisterMgr isRegistered]:
-[AllMyTubeAppDelegate applicationWillFinishLaunching:]:
继续,第三次断了下来,堆栈:
_VerifySN:
-[IMRegisterMgr isRegistered]:
-[AllMyTubeAppDelegate checkLanch:]:
-[AllMyTubeAppDelegate applicationWillFinishLaunching:]:
继续运行,程序就启动起来了。 在输入注册码后程序还是会被断下来,分析了一下,堆栈的顶层仍是: _VerifySN:
-[IMRegisterMgr isRegistered]: ……
好了,我们要做的一件事就是: isRegistered = TRUE! _VerifySN = TRUE!
在函数开头处分别修改汇编代码 [Asm] 纯文本查看 复制代码
000ec6b0 mov eax, 0x1
000ec6b5 ret
好了,收工。 继续测试是否有暗桩。 就写到这里吧。
|