关于如何修改 Cr_Themida.exe 的logo
本人也只是看了看雪论坛 ww990 的提示才发现如何修改。在此先谢谢。
此段好像是图像解码:
0059B794 60 PUSHAD
0059B795 B8 38463978 MOV EAX,78394638
0059B79A BB 36478934 MOV EBX,34894736
0059B79F 8D3D 64646700 LEA EDI,DWORD PTR DS:[676464]
0059B7A5 |. 33C9 XOR ECX,ECX
0059B7A7 |. BA A0860100 MOV EDX,186A0
0059B7AC |. EB 0A JMP SHORT Cr_Themi.0059B7B8
0059B7AE |> 291F /SUB DWORD PTR DS:[EDI],EBX
0059B7B0 |. 3107 |XOR DWORD PTR DS:[EDI],EAX
0059B7B2 |. 83C1 04 |ADD ECX,4
0059B7B5 |. 83C7 04 |ADD EDI,4
0059B7B8 |> 3BCA CMP ECX,EDX
0059B7BA |.^ 72 F2 \JB SHORT Cr_Themi.0059B7AE
0059B7BC |. 61 POPAD
0059B7BD \. C3 RETN
解码后图像保存的地方好像是:
00676464 42 4D D6 7C 01 00 00 00 00 00 36 04 00 00 28 00 BM贮.....6..(.
00676474 00 00 0A 02 00 00 B8 00 00 00 01 00 08 00 00 00 .....?......
00676484 00 00 A0 78 01 00 C4 0E 00 00 C4 0E 00 00 00 00 .._x.?..?....
00676494 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80 ............?.?
加密前的图像数据好像也是00676464
就是还没有找到破解点,郁闷中.....
现在用 flyODBG 载入 Cr_Themida.exe 然后Ctrl+g 到 0059B794 下断 然后运行
之后选择一个EXE 加壳 等待他搞到一般左右就是会断在
0059B794 代码如上面 这里我们在贴出来下。。
0059B794 /$ 60 PUSHAD //断在这 。
0059B795 |. B8 38463978 MOV EAX, 78394638
0059B79A |. BB 36478934 MOV EBX, 34894736
0059B79F |. 8D3D 64646700 LEA EDI, DWORD PTR DS:[676464] //图片保存地址。
0059B7A5 |. 33C9 XOR ECX, ECX
0059B7A7 |. BA A0860100 MOV EDX, 186A0 // 图片数据长度。。
0059B7AC |. EB 0A JMP SHORT Cr_Themi.0059B7B8
0059B7AE |> 291F /SUB DWORD PTR DS:[EDI], EBX //这个加34894736
0059B7B0 |. 3107 |XOR DWORD PTR DS:[EDI], EAX //这个是XOR 78394638
0059B7B2 |. 83C1 04 |ADD ECX, 4
0059B7B5 |. 83C7 04 |ADD EDI, 4
0059B7B8 |> 3BCA CMP ECX, EDX
0059B7BA |.^ 72 F2 \JB SHORT Cr_Themi.0059B7AE
0059B7BC |. 61 POPAD //解密完成。。。。
0059B7BD \. C3 RETN //其实加密的就在下面。。。。
0059B7BE /$ 60 PUSHAD //这里是用完之后加密回去的代码。。不管他。
0059B7BF |. B8 38463978 MOV EAX, 78394638
0059B7C4 |. BB 36478934 MOV EBX, 34894736
0059B7C9 |. 8D3D 64646700 LEA EDI, DWORD PTR DS:[676464]
0059B7CF |. 33C9 XOR ECX, ECX
0059B7D1 |. BA A0860100 MOV EDX, 186A0
0059B7D6 |. EB 0A JMP SHORT Cr_Themi.0059B7E2
0059B7D8 |> 3107 /XOR DWORD PTR DS:[EDI], EAX
0059B7DA |. 011F |ADD DWORD PTR DS:[EDI], EBX
0059B7DC |. 83C1 04 |ADD ECX, 4
0059B7DF |. 83C7 04 |ADD EDI, 4
0059B7E2 |> 3BCA CMP ECX, EDX
0059B7E4 |.^ 72 F2 \JB SHORT Cr_Themi.0059B7D8
0059B7E6 |. 61 POPAD
0059B7E7 \. C3 RETN
当代码到了0059B7BC 之后停下来看看
00676464 42 4D D6 7C 01 00 00 00 00 00 36 04 00 00 28 00 BM贮.....6..(.
00676474 00 00 0A 02 00 00 B8 00 00 00 01 00 08 00 00 00 .....?......
00676484 00 00 A0 78 01 00 C4 0E 00 00 C4 0E 00 00 00 00 .._x.?..?....
00676494 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80 ............?.?
ww990 兄弟说得很清楚了。。 经过观察 我就可把这个从676464 开始 数据大小为97496 的取出来 保存为 BMP 文件
然后自己编辑成自己喜欢的。。。 再用2进制复制 粘回去。。。 然后在 0059B7BE 下断。。
这是加密会去的。。然就F4 到0059B7E6
0059B7BE /$ 60 PUSHAD //这里是用完之后加密回去的代码。。不管他。
0059B7BF |. B8 38463978 MOV EAX, 78394638
0059B7C4 |. BB 36478934 MOV EBX, 34894736
0059B7C9 |. 8D3D 64646700 LEA EDI, DWORD PTR DS:[676464]
0059B7CF |. 33C9 XOR ECX, ECX
0059B7D1 |. BA A0860100 MOV EDX, 186A0
0059B7D6 |. EB 0A JMP SHORT Cr_Themi.0059B7E2
0059B7D8 |> 3107 /XOR DWORD PTR DS:[EDI], EAX
0059B7DA |. 011F |ADD DWORD PTR DS:[EDI], EBX
0059B7DC |. 83C1 04 |ADD ECX, 4
0059B7DF |. 83C7 04 |ADD EDI, 4
0059B7E2 |> 3BCA CMP ECX, EDX
0059B7E4 |.^ 72 F2 \JB SHORT Cr_Themi.0059B7D8
0059B7E6 |. 61 POPAD
0059B7E7 \. C3 RETN
到了 0059B7E6 之后就可以保存我们就修改的部分从676464 开始 数据大小为97496 到新文件。。。 这就完成了。。。
附上隐藏logo 的办法。。。
0059B794 /$ 60 PUSHAD //断在这 。
0059B795 |. B8 38463978 MOV EAX, 78394638
0059B79A |. BB 36478934 MOV EBX, 34894736
0059B79F |. 8D3D 64646700 LEA EDI, DWORD PTR DS:[676464] //图片保存地址。
0059B7A5 |. 33C9 XOR ECX, ECX
0059B7A7 |. BA A0860100 MOV EDX, 186A0 // 图片数据长度。。
0059B7AC |. EB 0A JMP SHORT Cr_Themi.0059B7B8
0059B7AE |> 291F /SUB DWORD PTR DS:[EDI], EBX //这个加34894736
0059B7B0 |. 3107 |XOR DWORD PTR DS:[EDI], EAX //这个是XOR 78394638
0059B7B2 |. 83C1 04 |ADD ECX, 4
0059B7B5 |. 83C7 04 |ADD EDI, 4
0059B7B8 |> 3BCA CMP ECX, EDX
0059B7BA |.^ 72 F2 \JB SHORT Cr_Themi.0059B7AE
0059B7BC |. 61 POPAD //解密完成。。。。
0059B7BD \. C3 RETN //其实加密的就在下面。。。。
在0059B7BD 下断 然后修改
00676464 42 4D D6 7C 01 00 00 00 00 00 36 04 00 00 28 00 BM贮.....6..(.
00676474 00 00 0A 02 00 00 B8 00 00 00 01 00 08 00 00 00 .....?......
00676484 00 00 A0 78 01 00 C4 0E 00 00 C4 0E 00 00 00 00 .._x.?..?....
00676494 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 80 ............?.?
006764A4 00 00 00 80 80 00 80 00 00 00 80 00 80 00 80 80 ...?.?..???
006764B4 00 00 C0 C0 C0 00 C0 DC C0 00 F0 CA A6 00 00 20 ..览?儡?鹗?.
006764C4 40 00 00 20 60 00 00 20 80 00 00 20 A0 00 00 20 @.. `.. ?. ?.
006764D4 C0 00 00 20 E0 00 00 40 00 00 00 40 20 00 00 40 ?. ?.@...@ ..@
006764E4 40 00 00 40 60 00 00 40 80 00 00 40 A0 00 00 40 @..@`..@?.@?.@
006764F4 C0 00 00 40 E0 00 00 60 00 00 00 60 20 00 00 60 ?.@?.`...` ..`
00676504 40 00 00 60 60 00 00 60 80 00 00 60 A0 00 00 60 @..``..`?.`?.`
00676514 C0 00 00 60 E0 00 00 80 00 00 00 80 20 00 ?.`?.?..?..?
修改为:
00676464 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00676474 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00676484 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00676494 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
006764A4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
006764B4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
006764C4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
006764D4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
006764E4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
006764F4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00676504 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00676514 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..............
然后让他加密回去。。。在 0059B7E7 \. C3 RETN 下断
然后就把它保存到一个新的EXE ... 这样就可以达到 隐藏logo 的目的。。。
[课程]Android-CTF解题方法汇总!