破解hexrays时间限制
今天把IDA重新装了一下,再次需要装这个插件,于是就学习一下怎么破解,以后估计可以自己动手,前人有人写了,我只是按部就班 把我遇到的情况写下来 以后忘记了好看看 先OD载入IDA,然后bp CreateWindowExA
然后去查看hexrays (貌似要打开一个文件你才能够看到插件的那项)
此时会断下,于是ALT+F9
023C30CB |. 6A 00 push 0 ; /lParam = NULL 023C30CD |. 6A 00 push 0 ; |hInst = NULL 023C30CF |. 6A 00 push 0 ; |hMenu = NULL 023C30D1 |. 50 push eax ; |hParent
023C30D2 |. 894424 38 mov dword ptr [esp+38], eax ; |
023C30D6 |. A1 B4074302 mov eax, dword ptr [24307B4] ; |
023C30DB |. 50 push eax ; |Height => 138 (312.) 023C30DC |. 51 push ecx ; |Width => 250 (592.) 023C30DD |. 53 push ebx ; |Y
push ebp ; |X 023C30DE |. 55
023C30DF |. 8B2D 10163302 mov ebp, dword ptr [<&USER32.CreateW>; |user32.CreateWindowExA
023C30E5 |. 68 00008080 push 80800000 ; |Style = WS_POPUP|WS_BORDER
023C30EA |. 68 88FC4002 push 0240FC88 ; |about window 023C30EF |. 68 B8FC4002 push 0240FCB8 ; |hex-rays splash 023C30F4 |. 6A 00 push 0 ; |ExtStyle = 0 023C30F6 |. FFD5 call ebp ; \CreateWindowExA 023C30F8 |. 8D5424 30 lea edx, dword ptr [esp+30] ; (initial cpu selection) 就到了hexrays的领空,然后找一些hexrays里面的数据好确定一些虚拟内存地址和文件偏移的关系,一会好推算.
往上拖很容易看到这两行,太醒目了
023C2E87 . 68
70E14202 push 0242E170 ; f1bb5ea286819591579a2018b6edf166
023C2E8C . 68 E0E04202 push 0242E0E0 ; 57-bf73-7be4-3f 然后去查看内存
地址=0242E000
大小=00007000 (28672.)
属主=hexrays 02330000
区段=.data
包含=数据
然后用16进制的编辑器打开hexrays.plw搜索57-BF73-7BE4-3F(有的编辑器这里请区分大小写,OD的注释这里是写小写,实际上他是大写的)然后容易知道文件偏移是0xfcce0,这样子就知道对应关系了
(我这里用WinHex找可以搜索成功,不过用UE的话不知道为什么就不行了 这里搜索f1bb5ea286819591579a2018b6edf166也可以,原理都一样)
知道关系以后直接找内存中存放日期的地方,如果要显示日期,一般都要使用类似于wsprintf
的函数吧,
于是我很容易了这个,(在前几个很容易看到)
Address=0233A533
Disassembly=push 0240BC60 Text String=%d %b %y
点进去就看到了...如果这里还不确定的话,下面license和support就能确定了,这里可能有包
含日期的信息
0233A510 /$ A1 D8E04202 mov eax, dword ptr [242E0D8] 0233A515 |. 83EC 58 sub esp, 58
0233A518 |. 85C0 test eax, eax
short 0233A521 0233A51A |. 75 05 jnz
0233A51C |. A1 DCE04202 mov eax, dword ptr [242E0DC] 0233A521 |> 99 cdq
0233A522 |. 890424 mov dword ptr [esp], eax
0233A525 |. 8D0424 lea eax, dword ptr [esp]
0233A528 |. 50 push eax
0233A529 |. 895424 08 mov dword ptr [esp+8], edx
0233A52D |. E8 68780A00 call 023E1D9A
0233A532 |. 50 push eax
0233A533 |. 68 60BC4002 push 0240BC60 ; %d %b %y 0233A538 |. 8D4C24 14 lea ecx, dword ptr [esp+14]
0233A53C |. 6A 50 push 50
0233A53E |. 51 push ecx
0233A53F |. E8 7F750A00 call 023E1AC3
这么说关于日期的信息就存在242E0DC这里了,按照之前得出的关系他的文件偏移是0xfccdc
测试一下,发现这里存放的是1970.1.1之后的秒数,除以86400以后就是天数,然后要改多少
就看你啦
O(?_?)O哈哈~