160个creak之008

前言

做了这么些,可以发现,每个creakme都可以暴力改跳转破,也可以找逻辑,写***在不破坏源程序的情况下来破。也算是一个进步。

一天一个creak me。

方法一、暴力**

这个是比较简单的了,查一下壳,没壳。直接拖到OD里,搜一下错误信息。

160个creak之008
来到错误提示所在程序位置,这里就是关键点。在段首下个断点。

往上找找,会看见两个跳转,靠下的一个无条件跳转能直接跳过这些错误提示,靠上的一个je跳转却会跳过下面那个跳转。修改上面的跳转,让她不跳转,然后让下面的跳转跳过错误信息不就可以了吗。

160个creak之008

160个creak之008

把上面的跳转nop掉,OK,成功了。

160个creak之008

方法二、逆向分析

还是继续上面,断在错误信息的段首,在看上面那个第一个跳转。

160个creak之008

上面的cmp比较了di,si,这里会修改标志寄存器,引起跳转。那di和什么有关,再往上看,上面有个vbaStrcmp函数。跟进去看看。

160个creak之008

网上可以查到该函数是个比较函数,

160个creak之008

那么比较的是那两个字符串呢,看右下角,我输入的“44444”和一个“SynTax”同时被压栈,比较的就是他们俩。

160个creak之008

所以呢,经过分析可知,这个key就是该字符串。

160个creak之008