想通过ida逆向破除一个程序的时间限制,改限制比较简单,限定了一个固定的失效时间,比如2015年1月1日,只要改系统时间就能继续使用
通过用ida将程序反汇编成类似c的伪代码如下
反编译得到用c表示的伪代码
v35 = -1;
if ( v31 + 100 * v32 + 10000 * v30 > v34 )
v35 = 0;
return v35;
需要跳过该if判断
对应的汇编语句如下,因为对汇编不是非常熟悉,所以语句的范围稍微选得大一些
.text:000000000000236A add eax, edx
.text:000000000000236C mov rdx, [rbp+120h+arg_8]
.text:0000000000002373 add eax, [rdx]
.text:0000000000002375 mov [rbp+120h+var_18], eax
.text:000000000000237B mov [rbp+120h+var_14], 0FFFFFFFFh
.text:0000000000002385 mov eax, [rbp+120h+var_1C]
.text:000000000000238B mov edx, [rbp+120h+var_18]
.text:0000000000002391