摘要: 静态方法与类字段 implementation {$R *.dfm} type TWorker = class(TObject) public Name: string; Age: Cardinal; procedure SetWorker(sName: string; nAge: Cardinal); end; procedure TWorker.S... 阅读全文
posted @ 2018-07-15 16:45 李沉舟 阅读(1436) 评论(0) 推荐(1) 编辑
摘要: 1.前言 去年看了一下,两个Check函数验证RegCode,但是这两个校验是矛盾的。算了一下发现算不出,就放到一边没动过了。今天听朋友讲到溢出攻击,顿时想起了这个CrackMe,拿来练练手想来也是极好的。 2.试探 这里标注了一个全局验证变量,初始值为2,后面跟着两个Check函数,每通过一次校验,则把验证变量递减1,最后判断验证变量值是否为0,为0则通过两层验证,不为0则失败。但是... 阅读全文
posted @ 2018-06-30 13:09 李沉舟 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 串操作指令可以方便对一组连续的数据进行操作。串操作后自动根据DF标志位修改ESI和EDI,DF = 0时,ESI,EDI递增,DF = 1时,ESI,EDI递减。串操作指令有2组,1组实现数据串传送,另1组实现数据串检测。串操作指令通常需要反复执行,所以常与重复指令前缀联合使用,它通过计数器ECX控 阅读全文
posted @ 2018-04-05 11:54 李沉舟 阅读(889) 评论(0) 推荐(0) 编辑
摘要: 其实重复汇编也属于宏结构,本文应该可以说是上面前一篇文章的另一部分。 程序中有时要连续重复一段相同或基本相同的语句,这时可以使用重复汇编来完成。重复汇编一样是在编译前进行展开的。重复汇编伪指令有3个:REPEAT/FOR/FORC,3条汇编伪指令的区别在于如何制定重复次数。 1.REPEAT 我们可 阅读全文
posted @ 2018-04-05 10:46 李沉舟 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 宏是一段汇编语句序列。定以后,在程序中进行宏调用,则由编译器在编译器前进行展开。 1.宏定义和宏调用 宏定义一般用一对宏汇编伪指令MACRO和ENDM完成,格式如下: 宏名 MACRO [形参表] …… ;宏定义体 ENDM 宏名必须是合法的标识符,同一源程序中应该唯一。宏定义体中不仅可以是硬件指令 阅读全文
posted @ 2018-04-05 10:21 李沉舟 阅读(624) 评论(0) 推荐(0) 编辑
摘要: “我好喜欢你呀!”我鼓足了勇气向她说道。“呀!太高兴了!我也好喜欢你呀!”她马上就有了回应!回答之干脆,让我觉得是在做梦。我实在不能相信这是她的回答,这一定是在梦里。想着想着,我挥手就给了旁边站的阿华一个爆粟!“痛不?”我问他!“混帐!为什么打我?”阿华怒吼道!“不过还好,打得一点都不痛!”我一下子 阅读全文
posted @ 2018-02-27 10:20 李沉舟 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 看了PEDIY天易LOVE的《深入浅出VMP爆破》,https://bbs.pediy.com/thread-127020.htm,受益匪浅,之前一直搞不懂万用闸的概念。不过天易LOVE的演示程序是VMP1.2,我用VMP2.08对文章中的示例加壳以进行一次实战。如果你对VMP没有概念,建议先看看我 阅读全文
posted @ 2018-02-26 12:26 李沉舟 阅读(5221) 评论(2) 推荐(2) 编辑