Board logo

标题: 我把CCracker.exe解回bat檔後想了解其原理但是遇到困難 ... [打印本页]

作者: n6333373     时间: 2010-2-5 22:38    标题: 我把CCracker.exe解回bat檔後想了解其原理但是遇到困難 ...

CCracker.exe 是個由香港人所寫的 xp 驗證破解程序,原bat代碼如下:

@echo e 100 4D 5A 80 00 01 00 00 00 04 00 10 00 FF FF 00 00 >>tmp11
@echo e 110 40 01 00 00 00 00 00 00 40 00 00 00 00 00 00 00 >>tmp11
@echo e 120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>tmp11
... 中間還有一堆這種東西,因為字數過多省略
@echo e 84B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>tmp11
@echo e 84C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>tmp11
@echo e 84D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>tmp11
@echo e 84E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>tmp11
@echo e 84F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >>tmp11
@echo rcx>>tmp11
@echo 8400>>tmp11
@echo n tmp1>>tmp11
@echo w>>tmp11
@echo q>>tmp11
@debug<tmp11>nul
@Copy /b /y tmp1 CCracker1.5.exe
@start CCracker1.5.exe
@del tmp*

一開始上面一大串完全不知道在寫啥,只知道存進了 tmp11 這個文件,
而我又注意到了 ... @Copy /b /y tmp1 CCracker1.5.exe 其中的 "/b" 這個参數。
tmp11 被轉為二進位後,複製成了 CCracker.exe 執行。

有方法可以知道上面一大串的 @echo e .......... 本來是什麼嗎 ...
作者: slore     时间: 2010-2-6 13:19
给CCracker1.5.exe的开头增加33KB
内容是你echo的那部分
作者: n6333373     时间: 2010-2-6 14:03
原來如此,您指的"真正有用的原始碼"是:

@echo e 100 4D 5A 80 00 01 00 00 00 04 00 10 00 FF FF 00 00 >>tmp11
@echo e 110 40 01 00 00 00 00 00 00 40 00 00 00 00 00 00 00 >>tmp11
@echo rcx>>tmp11
@echo 8400>>tmp11
@echo n tmp1>>tmp11
@echo w>>tmp11
@echo q>>tmp11
@debug<tmp11>nul
@Copy /b /y tmp1 CCracker1.5.exe
@start CCracker1.5.exe
@del tmp*

這些嗎
作者: slore     时间: 2010-2-7 09:30
@echo e 100 4D 5A 80 00 01 00 00 00 04 00 10 00 FF FF 00 00 >>tmp11
@echo e 110 40 01 00 00 00 00 00 00 40 00 00 00 00 00 00 00 >>tmp11


你这才32字节。。。要33KB呢。

全部echo的语句即便全是0也是有用的。
作者: sl543001     时间: 2010-2-7 11:26
这个代码是用DUBUG把16进制数据转换成2进制程序,
你用16进制编辑器打开那个程序看到的就是
4D 5A 80 00 01 00 00 00 04 00 10 00 FF FF 00 00
两者是对等关系,其实DUBUG就是简易16进制编辑器