作者:<span class="vcard">flandre</span>

C++ 程序的逆向分析以及 RTTI 信息检索

分析 C++ 程序时,要是能从一个二进制文件中识别出 C++ 程序的结构,并且能标识出一些主要的类和它们的关系是非常有帮助的。而其中为了实现运行时类型识别而生成的运行时类型信息(Runtime type information,RTTI)也能在程序分析上提供方便。

注意,文中讨论的 C++ 可执行文件仅限于使用 MSVC 编译器编译出的 C++ 可执行文件。

●识别类及其构造函数


使用 CMake 编译 vc90 版 libphonenumber

这是一份使用 vs2008 和 CMake 料理 libphonenumber 的食谱。

准备原料


服务器迁移到 vultr

在 vultr 买了新的主机,准备把网站迁过去。机房选在洛杉矶,果然西海岸的稳定性还是最好啊,丢包也少,东京在晚上高峰丢包太高了,受不了。说来在 V 家之前还试了试 IOZoom 的机子,然而到手时分到个被墙的 ip,ssh 都连不上,然后提工单换了;买了个亚洲优化,也就是 CN2 路线的 ip,又是被墙的我去……来来回回折腾几下相当失望,换完 ip 后高峰期丢包还是高得不行,基本在 10%(CN2) 和 16%(主 ip) 左右,后面果断退钱了。之后就入了 vultr 的。

现在记录一下从头搭建的过程吧。专为 centos 7 x64 量身打造。


pixivspider – P 站爬虫工具

主要功能

根据定义的 ID 列表下载每个画师的所有插画

下载链接

PixivSpider

如何使用


总算是换新工作了

在今年年初,我开始进行我蓄谋已久的换工作计划。也许有偶然因素在里头,但我觉得金三银四的跳槽季真不是乱说,感觉成功率比其他时间要高上不少,作为对比,我在去年十月的时候也找过一波,但四、五家公司下来感觉都不是特别理想,好不容易换个工作,总不能陷入和以前一样的循环吧。还有些公司只挂职位不招人的,简历投过去后一点响应都没有,我比较有兴趣的几家都是这样。最后这次尝试活动就此落幕,继续回窝好好蹲着。


做事不要用力过猛

我们常常会因为一时兴起,然后开始反复做某件事,学习、游戏等等,然后等新鲜感一过便索然无味,随后便被遗忘。

用力过猛和三分钟热度有点像,同样都是无法持续的。等激情褪去,一切又回到原点,简直就是一见钟情,再而衰,三而竭。
靠着意志力来坚持很快就会露出破绽,因为意志力是很快就会被耗尽的东西。好比格斗游戏的防御槽一样,用防御槽去和对手的连技正面刚很容易就被对手破防打出大硬直,所以防住头几招后要尽快反制。


通用 krkr 解包工具

以前都是看到想拆的游戏就自己动手搞搞,但是后面就觉得麻烦了,因为 krkr 的框架都是一样的,各厂只是在封包上做了点小修改,为每个游戏都适配一遍实在是太费时间了。所以决定弄个通用点的工具出来。


ssh使用公钥登陆设置时返回 Authentication Refused

最近给几台机器设置 ssh 公钥登陆的时候发现老是失败,putty 和 ssh 命令都显示认证被拒绝。今天想搞一个 git server,又碰到这个问题了,想着还是得解决一下才行。

一开始想换个环境于是在虚拟机里先做个测试,果然也出现了无法登录的情况。。。查看 /var/log/secure 日志,可以发现有下面这样的信息:
Authentication refused: bad ownership or modes for file /home/testuser/.ssh/authorized_keys
上网查了一下,发现是 ssh 对文件以及目录的权限有要求,随意设置会导致 ssh 不认这个文件。同时又想起使用 ssh 命令登录时有时会提示你私钥权限过大而忽略这个私钥


YU-RIS 封包分析

这两天搞了一下 yu-ris 的 ypf 封包,这里做个简单的记录。

ypf 主要用了 zlib 进行压缩处理。包头里有文件数量和数据区起始地址等信息。文件索引表里包含了文件的偏移、压缩后长度和原始长度等基本信息,文件名则是经过取反后存储的。文件索引表非定长。


CrackMe 反汇编练习之 053

作为练手的 160 个 CrackMe 系列整理分析