-
-
[原创][分享]不用分析算法 直接用ida和od就能破解
-
发表于: 2021-11-2 01:28 6117
-
题目在附件里
第一次输入的密码非常好办,没有必要用od了,直接暴力破解就行了 !
用python编写脚本就能得到:123321
第二部分才是真正有意思的地方,如果直接用脚本破解不好分析,跟进分析函数发现 这个程序的flag应该是在一个rtf文档里面,用od打开文件 再用ida打开文件,两个同时分析:
从ida中可以发现,输入第二次密码的部分的内存区域位于004017CC附近,在od中定位到相应的位置:
定位成功!
然后在返回ida中查看末尾代码:
发现只有当_strcmpi函数的返回值为0,sub_40100F函数的返回值为1的时候,程序才不会报错,正确执行完(这就是需要从od中修改的东西了!)
在od中定位到两个关键函数:
在两个关键函数之间发现了一条jnz short指令 ,跳出了程序的关键位置,所以第一个函数不用跟进分析了,返回值一般是放在eax里面,直接把jnz指令用nop空指令替换掉就行啦,这样就能成功进入sub_40100F函数
这个sub_40100F函数就要跟进分析了:
在跟进分析过程中 ida和od同时打开就不会出现跳转错误的情况了:
定位成功:
之前的分析已经提到过sub_40100F函数的返回值需要为1,要想返回值为1,就要执行完closehandle函数
所以直接把text——jnz指令替换为jmp指令就可以了
直接f9运行程序,第一次输入暴力破解得到了123321,第二次随便输入6个数字就会生成一个rtf文件 打开就是flag:Flag{N0_M0re_Free_Bugs}
赞赏
他的文章
谁下载
无
看原图
赞赏
雪币:
留言: