第一关:文件校验
![图片[1]-50.逆向破解分析实战17:160crackme之005(01):破解文件校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/067154fc3bbe427912461c9cb34d4179969907bcf1bf2b1b6a63e8a595995e7159083dac7e4251a7c11016680426afc3?pictype=scale&from=30013&version=3.3.3.3&fname=1%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
由于不清楚软件到底是什么行为能够注册成功
所以我们只能先自己寻找字符串挖掘线索
![图片[2]-50.逆向破解分析实战17:160crackme之005(01):破解文件校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/ce3f1975c881b7d652ce77eb369ace18af13c5364adb778cf6d300733a71b0752b9708112823c9ad14db105085e6129f?pictype=scale&from=30013&version=3.3.3.3&fname=2%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
通过交叉引用,找寻到了成功提示调用的位置
从而发现了一处关键的校验:
result[193] != 0xC34 && result[194] != 0x230D && result[196] == 0xF94
![图片[3]-50.逆向破解分析实战17:160crackme之005(01):破解文件校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/f36fcb2aacb8b79df59734024b44e7377baa4a385b48c641abf8c6e9f88f345844ec7eb87512ea2101d0c5544529acbf?pictype=scale&from=30013&version=3.3.3.3&fname=3%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
分析 0xC34
查找赋值写入的位置
![图片[4]-50.逆向破解分析实战17:160crackme之005(01):破解文件校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/4b5516397bcebc8086013d1f83d2c10c4cd9c9392dd55c1cf3f7430ac8da9c7ad0b7e31e10df7ebf59d45eaa7e764477?pictype=scale&from=30013&version=3.3.3.3&fname=4%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
![图片[5]-50.逆向破解分析实战17:160crackme之005(01):破解文件校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/dd294e07a88456f92e1d1d0f08f32bd3c921c95581aee0bc412348099984ffbaca0f0c1ef3d733f6d5a5de2d686df07e?pictype=scale&from=30013&version=3.3.3.3&fname=5.png&size=750)
发现两处写入的位置实则为一个函数体内
![图片[6]-50.逆向破解分析实战17:160crackme之005(01):破解文件校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/b121750cee24c5ff48a018d02588513247095eede9a8f7a3503a81a817c6141e8eb504c606f6df82619aa09cf23a297d?pictype=scale&from=30013&version=3.3.3.3&fname=6%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
ASSIGN
ASSIGN()是 Delphi 中的AssignFile或Assign函数,对应:
AssignFile(F, '路径字符串');
v10是 Delphi 的一个TextFile或File of ...类型变量(或者文件记录结构体指针)ASSIGN(v10, &str_X__ajj_126_c0m_[1]);是在将文件变量v10绑定到一个路径字符串上,路径是"F:\ajj.126.c0m\j\o\j\o\ok.txt"
![图片[7]-50.逆向破解分析实战17:160crackme之005(01):破解文件校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/b40e11674ff2160f758c8ccf370ee9e56e7a565147af1e8ba88a2d12b417faf26dd5e3c6ccda8e841067ccef21f9be8e?pictype=scale&from=30013&version=3.3.3.3&fname=7%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
RESETTEXT
ASSIGN(...)→ 把文件变量v10关联到一个磁盘文件路径。RESETTEXT(...)→ 把这个文件以文本读取模式打开,准备从里面读取数据。- 常常使用
IOResult检查是否打开成功
![图片[8]-50.逆向破解分析实战17:160crackme之005(01):破解文件校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/ca85697ba85737e388394ff2524262bbfa110eb019b872707cf370a60b359e0c7e8afdd5a6ca8fcda594462a7803bc92?pictype=scale&from=30013&version=3.3.3.3&fname=8%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
IOResult
如果操作成功,返回值为 0
Delphi 中 IOResult() 返回 0 表示操作成功,非 0 表示错误码。
![图片[9]-50.逆向破解分析实战17:160crackme之005(01):破解文件校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/126e4ec386a2dc8dcd4dc250a3b95e679c6fba3562c03c5d2de8171ccc2cc9265995227b63e111ba58fed90f3f9663ea?pictype=scale&from=30013&version=3.3.3.3&fname=9%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
分析二次校验
![图片[10]-50.逆向破解分析实战17:160crackme之005(01):破解文件校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/1d6d45269bf04d29bd96b571d67e00569c666f4c047f871efdf7c8ea8b8e79a6f43b02776b7cf4baa81bb524a6c4fd0a?pictype=scale&from=30013&version=3.3.3.3&fname=10%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
读取 v10 文件里面的字符串
其中 v10 里面是"F:\ajj.126.c0m\j\o\j\o\ok.txt"
也就是读取这个 txt 文件的字符串
最终和str__ajj_____CKme___作比较
![图片[11]-50.逆向破解分析实战17:160crackme之005(01):破解文件校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/de68b5413530fa3ec15a889f4239c77ae0799dbc6648ec407876b9753a967b2087182014b84dfd45fec84cc072739869?pictype=scale&from=30013&version=3.3.3.3&fname=11.png&size=750)
通过分析得知,文件内容为
ajj写的CKme真烂!+文件末尾 0xFF,0xFF
破解绕过二次校验
思路很简单,在对应的文件夹新建文件,然后写入字符串即可
- 写入
0xFF可以用winhex工具 - 注意
txt 文件需要保存为ANSI格式
![图片[12]-50.逆向破解分析实战17:160crackme之005(01):破解文件校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/51752fe8aa1e8255961a92999dffe07c5db374d6c71d104bdd17e1904011de0eb5dcf803621cd24d898011ba76c53074?pictype=scale&from=30013&version=3.3.3.3&fname=12%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)
破解结果
界面变化了,出现新的转机
![图片[13]-50.逆向破解分析实战17:160crackme之005(01):破解文件校验-汇编语言社区论坛-技术社区-学技术网](https://picabstract-preview-ftn.weiyun.com/ftn_pic_abs_v3/a16d3d35b8760ae5359f202ff66211a9876930df75f1b7c90988562832009adf4b9f58cf1421f42cc3ccd1173f11df9a?pictype=scale&from=30013&version=3.3.3.3&fname=13%E6%B0%B4%E5%8D%B0%E7%89%88.jpg&size=750)



没有回复内容