160个creak之008
前言
做了这么些,可以发现,每个creakme都可以暴力改跳转破,也可以找逻辑,写***在不破坏源程序的情况下来破。也算是一个进步。
一天一个creak me。
方法一、暴力**
这个是比较简单的了,查一下壳,没壳。直接拖到OD里,搜一下错误信息。
来到错误提示所在程序位置,这里就是关键点。在段首下个断点。
往上找找,会看见两个跳转,靠下的一个无条件跳转能直接跳过这些错误提示,靠上的一个je跳转却会跳过下面那个跳转。修改上面的跳转,让她不跳转,然后让下面的跳转跳过错误信息不就可以了吗。
把上面的跳转nop掉,OK,成功了。
方法二、逆向分析
还是继续上面,断在错误信息的段首,在看上面那个第一个跳转。
上面的cmp比较了di,si,这里会修改标志寄存器,引起跳转。那di和什么有关,再往上看,上面有个vbaStrcmp函数。跟进去看看。
网上可以查到该函数是个比较函数,
那么比较的是那两个字符串呢,看右下角,我输入的“44444”和一个“SynTax”同时被压栈,比较的就是他们俩。
所以呢,经过分析可知,这个key就是该字符串。