C写的第四个cm(xp可运行)
新手一个,用c又写了一个cm,比上一个复杂一点。
希望破掉的各位,力所能及的指点一下
先谢为敬。
1个.exe和6个.dll放在一个文件夹运行即可。
几个dll之间绕来绕去,算法不难,流程很清晰,要跟算法只是体力活,还是直接强撸好
昨天晚上太忙下载了看了一下.没细跟.说一下流程吧
1.DLL很多.打开主程序(.exe) F5反汇编可以看到它加载的DLL是哪个.并且获取这个DLL的导出函数是哪个.
比如主程序: 导出函数是 cm 加载的cm.dll
这样你就打开cm.dll IDA转到导出表. 找到cm函数去逆向就行.
下面又加载了新的导出函数.以及DLL 方法依次类推.直接看算法就可以了.
楼主DLL调DLL 这个其实可以不用.既然是Crackme最少最好.着重算法那块把. 你这样DLL掉DLL 就是复杂一点.对有经验的人来说.直接看 先拖到ida看一眼,发现在cm.dll里进行判断,然后搜字符串搜不到猜想可能字符串在cm.dll里,进去搜一下搜到了,额,算法太复杂,一路改标志寄存器走到下面,还是爆破直接点 本帖最后由 神之名 于 2020-5-21 22:57 编辑
htpidk 发表于 2020-5-21 20:40
几个dll之间绕来绕去,算法不难,流程很清晰,要跟算法只是体力活,还是直接强撸好
大佬我又来学习了,这个搜索完字符串没有找到有用的,需要怎么下手?
神之名 发表于 2020-5-21 22:53
大佬我又来学习了,这个搜索完字符串没有找到有用的,需要怎么下手?
没有字符串,他把password correct这十几个字符都拆开了依次putchar显示,ascii吗的0x70对应的字符是p,0x61对应的是a,依次类推,直到把这十几个字符一个个输出显示。
伪代码就是:
putchar(0x70)
putchar(0x61)
...........................
这样,所以你搜不到字符串 htpidk 发表于 2020-5-21 23:08
没有字符串,他把password correct这十几个字符都拆开了依次putchar显示,ascii吗的0x70对应的字符是p ...
那你怎么找到切入口呢,能不能给点提示或者说一下思路 神之名 发表于 2020-5-21 23:12
那你怎么找到切入口呢,能不能给点提示或者说一下思路
拿起IDA跑啊,F5一按基本等于源码在脸上了,只要会C或C++,能看得懂伪代码就可以了 htpidk 发表于 2020-5-21 23:24
拿起IDA跑啊,F5一按基本等于源码在脸上了,只要会C或C++,能看得懂伪代码就可以了
你是说这个?
神之名 发表于 2020-5-21 23:32
你是说这个?
对的。。。。。。。。 禁止套娃:lol
页:
[1]
2