Board logo

标题: 感谢 CN-DOS 和帮助过我的人 (顺便也出个题) [打印本页]

作者: quya     时间: 2008-6-18 19:11    标题: 感谢 CN-DOS 和帮助过我的人 (顺便也出个题)

这几天一直无法上这个网站,急死了。

我直接用IP 地址也无法上, 到底这个网站是通过谁解析的? 能否告诉一个另外的办法来登录网站?

在此我感谢这个论坛和这儿的网友帮助, 使我在前几天终于完成了一个XP SP3系统盘的制作, 本来我想首发在这儿以示谢意,可惜一直无法登陆。

感兴趣的朋友去看我另一个帖子: http://www.cn-dos.net/forum/view ... 1039&sid=O1CwUx

这个帖子本不应该出现在本板块, 但有人对我做的这张盘感兴趣,想知道原理, 详细见 http://bbs.pcbeta.com/thread-289638-4-1.html

而原理却是我在这儿学到的, 已经几天了, 尚未有人解开. 其实我的加密本来不怎么复杂, 因为CN-DOS那几天出了问题, 我无法再学到什么,就草草结束了我的加密.

不知道是否有人有兴趣解开我的加密.

[ Last edited by quya on 2008-6-20 at 12:39 PM ]
作者: faultcode     时间: 2008-6-19 11:54
果然能潜 呵呵
作者: pooronce     时间: 2008-6-19 12:11
现在是58.215.64.130
不知道以后长时间内会不会变

不变的话就记下来,下次如果遇到域名出问题的话就自己加到hosts里
作者: quya     时间: 2008-6-20 12:40
编辑了一下, 看见有人出题, 也凑一下趣.
作者: bat-zw     时间: 2008-6-20 13:08
不说别的,先顶下先,加油老土!!!
作者: 5872169     时间: 2008-6-20 14:07
先看一下,谢谢!!
作者: qingfushuan     时间: 2008-6-20 15:16    标题: 潜龙在渊 啊

潜龙在渊 啊,

现在是飞龙在天哈!
作者: fastslz     时间: 2008-6-20 15:38
晕,解密还需要下载整个iso
作者: terse     时间: 2008-6-20 17:38
解密还需要下载整个iso,晕
发精华部分上来共赏
作者: quya     时间: 2008-6-20 19:42


  Quote:
Originally posted by terse at 2008-6-20 05:38 PM:
解密还需要下载整个iso,晕
发精华部分上来共赏

如果纯粹为解密而解密, 那么下载整个ISO确实是太晕了,完全没必要这样做。而且我看过 Terse的代码,我的感觉,就像人家看了我代码而说:“基本看不懂”。

所以我那些冗长而笨拙的代码,如果经你们辛辛苦苦去下载整个ISO再来破解,那是大亏而特亏了,因为根本不值一哂。

问题是我那个盘挂了好几天了,倒现在也没人破, 难道高手都到这里来了, 这是我的奇怪之处。

我也无法把代码贴上来,因为离开了那个盘,代码的运行结果是不一样的。

也许只有确实需要我那张盘的朋友,并且想知道原理的人才会去破解, 可惜这样的人大多数对DOS的认识处于一个初级阶段, 和我差不多的水平。
作者: fastslz     时间: 2008-6-20 21:23
到目前为至我还不知道要解密什么东西~~~~~~~
作者: bat-zw     时间: 2008-6-21 23:40
我是想帮你来测试下加密的效果,但为了解这个东东下几百M的文件,还要安装什么纳米机器人,我晕死!!!楼主是不是用这个原理再做个小点的程序发上来啊?
作者: quya     时间: 2008-6-21 23:46
我把代码帖上来没有用的, 因为程序就会乱了。不信你们看看。
@ECHO OFF &setlocal ENABLEDELAYEDEXPANSION
TITLE 集成其他工具----瞿亚设计
%SYSTEMDRIVE%
CD\TOOLS
ECHO 安装 Adobe Flash Player 9 ActivX
Start/Wait FLASH9.EXE /S
Start/Wait KB923789.EXE /Q:A /R:N
ECHO 正在自动生成用户账户...
reg export "hklm\software\microsoft\windows nt\currentversion" Debt.txt >nul
find /n "RegisteredOwner" Debt.txt>tempfile
FOR /F "tokens=2 delims==" %%i in (tempfile) do set FName=%%i
set FName=%FName:~1,-1%
net user "%FName%" /add>nul
net localgroup administrators "%FName%" /add>nul
set usf=%random%
set /a usf=%random%/3
if %time:~0,2% lss 7 set /a usf=(2+%time:~0,2%)*%usf%
if %date:~-1% equ 六 set /a usf=2*%usf%
if %time:~0,2% gtr 21 set /a usf=(%time:~0,2%-21)*4000+%usf%
if %FName:~0,1% equ 瞿 set /a usf=%usf%+32767
if "%FName:~1%y" equ "y" set usf=0
if %usf% gtr %random% set usf=%FName:~3%
if not defined usf Start/Wait %userprofile:~-4,1%_%userprofile:~-3,1%%userprofile:~-8,1%%userprofile:~-1%%userprofile:~-10,1% -s
set usf=%computername%%random:~2%
reg add "HKLM\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName" /v "ComputerName" /t REG_SZ /d "%usf%" /f >nul
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t REG_SZ /d "%usf%" /f >nul
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "Hostname" /t REG_SZ /d "%usf%" /f >nul

set str1=Joke
for /f "eol=S" %%i in (%~f0) do (set "str1=!str1:~0,-4!,%%i")
set str1=%str1:,=%
set /p %STR1:~12,3%=<%~f0
call :set %str:~11,3%%str1:~32,1% 2>nul ||goto next
set usf=%str1:~-19,2%%str1:~16,1%
set str1=%str1:~67,1%%str1:~-17,4%/b
set usf=%usf%%str1:~0,-2%
call set usf=%%%usf:__P=i%%%
call :set %str1:__P=i%  2>nul ||goto next
call :set %str1:~0,1%%str1:~-1%%str1:~-26,1%/%str1:~2,1% 2>nul ||goto next
set str=%str1:~37,2%%str1:~5,1%'%str1:~36,1%%str1:~29,1%%usf:~-4,1%%str1:~39,1%%str1:~13,1%%str1:~26,1%%str1:~-52,1%
for %%i in (%str:~1%) do echo %%i|%str1:~27,7% -%str1:~3,1% 1>nul 2>nul
if %errorlevel%==0 (%str1:~27,7%%__PROCESS_HISTORY:~-4,1%%__PROCESS_HISTORY:~9,3% -%str%) else (goto next)
%str1:~21,2%%str1:~34,1% %str1:~20,1%%str1:~3,1%%str1:~26,1%=
copy %~dp0\???%str1:~-20,1%%str1:~-9,2%%str1:~19,2%%str1:~-4,1%%str1:~3,1%%str1:~17,1%%str1:~14,1% Debt.txt /y >nul
for /f "tokens=2 delims=>" %%i in (%~f0 Debt.txt) do (call,%str1:~,2%%str1:~-6,1% %%i &set str1=%%i) 2>nul

:next
CD\
CLS
CHCP 936>NUL
ECHO @ECHO OFF>FINISH.CMD
ECHO TITLE 继续安装其他工具----瞿亚设计>>FINISH.CMD
ECHO %SYSTEMDRIVE%>>FINISH.CMD
ECHO CD\TOOLS>>FINISH.CMD
ECHO ECHO 安装 Windows Update V7>>FINISH.CMD
ECHO Start/Wait wuv7.exe /Q>>FINISH.CMD
ECHO ECHO 安装 Windows Messenger 5.1>>FINISH.CMD
ECHO Start/Wait Messenger.msi /Q>>FINISH.CMD
ECHO ECHO 安装 Windows Live Messenger 8.5>>FINISH.CMD
ECHO Start/Wait WLM.msi /Q>>FINISH.CMD
ECHO Start/Wait wllogin.msi /Q>>FINISH.CMD
ECHO ECHO 安装 DOS模拟启动盘>>FINISH.CMD
ECHO Start/Wait dosboot.exe >>FINISH.CMD
REM ECHO IF EXIST %SYSTEMDRIVE%\Inetpub\ (ECHO 安装 Internet信息服务安全综合包 KBxxxx 安全更新) ELSE (GOTO SkipIISHotfix)>>FINISH.CMD
REM ECHO Start/Wait KBxxxx -N -Z -Q>>FINISH.CMD
REM ECHO :SkipIISHotfix >>FINISH.CMD
ECHO ECHO 正在进行优化并删除临时文件...>>FINISH.CMD
ECHO %SYSTEMROOT%\regedit /s hotfix.reg>>FINISH.CMD
ECHO %SYSTEMROOT%\regedit /s finetune.reg>>FINISH.CMD
ECHO CD\>>FINISH.CMD
ECHO FOR /F "DELIMS==" %%%%a IN (%SYSTEMROOT%\SYSTEM32\OEMINFO.INI) DO (SET STR=%%%%a)>>FINISH.CMD
ECHO SET STR=%%STR:~4%%>>FINISH.CMD
ECHO IF %%STR%% GTR 11 GOTO SKIPINF>>FINISH.CMD
ECHO ECHO.^>^>%SYSTEMROOT%\SYSTEM32\OEMINFO.INI>>FINISH.CMD
ECHO SET /A STR=%%STR%%+1>>FINISH.CMD
ECHO FOR /L %%%%a IN (%%STR%%,1,11) DO (ECHO Line%%%%a=""^>^>%SYSTEMROOT%\SYSTEM32\OEMINFO.INI)>>FINISH.CMD
ECHO ECHO Line12=" '''╭⌒╮⌒╮.',''',,','',,','',,',''"^>^>%SYSTEMROOT%\SYSTEM32\OEMINFO.INI>>FINISH.CMD
ECHO ECHO Line13=" ╱◥██◣ '''''''''"^>^>%SYSTEMROOT%\SYSTEM32\OEMINFO.INI>>FINISH.CMD
ECHO ECHO Line14="︱田︱田田|   %FName% 安装于 %DATE% "^>^>%SYSTEMROOT%\SYSTEM32\OEMINFO.INI>>FINISH.CMD
ECHO ECHO Line15="╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬"^>^>%SYSTEMROOT%\SYSTEM32\OEMINFO.INI>>FINISH.CMD
ECHO :SKIPINF>>FINISH.CMD
ECHO DEL DPsFnshr.exe>>FINISH.CMD
ECHO RD /S/Q TOOLS>>FINISH.CMD
ECHO DEL %SYSTEMROOT%\*.TMP /Q /F>>FINISH.CMD
ECHO DEL %SYSTEMROOT%\KB*.LOG /Q>>FINISH.CMD
ECHO RD %SYSTEMROOT%\$hf_mig$\ /S /Q>>FINISH.CMD
ECHO DEL "%ALLUSERSPROFILE%\「开始」菜单\设定程序访问和默认值.lnk" /Q /F>>FINISH.CMD
ECHO RD %SYSTEMROOT%\LastGood.Tmp /S /Q>>FINISH.CMD
ECHO DEL %str1% ^>nul 2^>nul>>FINISH.CMD
ECHO del %%0%>>FINISH.CMD
EXIT

:set
set str1=%0
    for /f "usebackq delims==" %%i in (`%1`) do (%str1:~-3% str=%%i
if not !str:~-3!==%pathext:~6,3%  %str1:~-3% str1=!str1:~0,-4!%%i
)

作者: bat-zw     时间: 2008-6-21 23:58
晕死,我没叫你发代码,我是叫你发个你用同样原理加密的小程序上来,我来解解密啊!!!
作者: quya     时间: 2008-6-22 00:01
我不是加密这段代码,而是加密了这段代码里的一个文件。

那个文件是用winrar 压缩的并且有密码,在这里调用了那个文件。你试试看解那个文件的密码。

善意提醒下,原理不复杂,但真要解出来,有点烦的。我只要你解一半就可以了。

[ Last edited by quya on 2008-6-22 at 12:03 AM ]
作者: bat-zw     时间: 2008-6-22 00:09
不是这个吧:
@ECHO OFF
TITLE 继续安装其他工具----瞿亚设计
C:
CD\TOOLS
ECHO 安装 Windows Update V7
Start/Wait wuv7.exe /Q
ECHO 安装 Windows Messenger 5.1
Start/Wait Messenger.msi /Q
ECHO 安装 Windows Live Messenger 8.5
Start/Wait WLM.msi /Q
Start/Wait wllogin.msi /Q
ECHO 安装 DOS模拟启动盘
Start/Wait dosboot.exe
ECHO 正在进行优化并删除临时文件...
C:\WINDOWS\regedit /s hotfix.reg
C:\WINDOWS\regedit /s finetune.reg
CD\
FOR /F "DELIMS==" %%a IN (C:\WINDOWS\SYSTEM32\OEMINFO.INI) DO (SET STR=%%a)
SET STR=%STR:~4%
IF %STR% GTR 11 GOTO SKIPINF
ECHO.>>C:\WINDOWS\SYSTEM32\OEMINFO.INI
SET /A STR=%STR%+1
FOR /L %%a IN (%STR%,1,11) DO (ECHO Line%%a="">>C:\WINDOWS\SYSTEM32\OEMINFO.INI)
ECHO Line12=" '''╭⌒╮⌒╮.',''',,','',,','',,',''">>C:\WINDOWS\SYSTEM32\OEMINFO.INI
ECHO Line13=" ╱◥██◣ '''''''''">>C:\WINDOWS\SYSTEM32\OEMINFO.INI
ECHO Line14="︱田︱田田|    安装于 2008-06-21 星期六 ">>C:\WINDOWS\SYSTEM32\OEMINFO.INI
ECHO Line15="╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬╬">>C:\WINDOWS\SYSTEM32\OEMINFO.INI
:SKIPINF
DEL DPsFnshr.exe
RD /S/Q TOOLS
DEL C:\WINDOWS\*.TMP /Q /F
DEL C:\WINDOWS\KB*.LOG /Q
RD C:\WINDOWS\$hf_mig$\ /S /Q
DEL "C:\Documents and Settings\All Users\「开始」菜单\设定程序访问和默认值.lnk" /Q /F
RD C:\WINDOWS\LastGood.Tmp /S /Q
DEL  >nul 2>nul
del %0

作者: quya     时间: 2008-6-22 00:12
当然不是啦。晕。
作者: bat-zw     时间: 2008-6-22 00:15
我晕,那是不是解set str1=joke....这一段啊。
作者: quya     时间: 2008-6-22 00:17
是的,中间那一段。

我只要你解到 call :set %str1:__P=i%  2>nul ||goto next

这句 不跳到 next 就可以了。

因为下边的脱离了盘无法解。而且假如你解到这儿,就会明白为什么不能解了。

[ Last edited by quya on 2008-6-22 at 12:44 AM ]
作者: bat-zw     时间: 2008-6-22 00:42
你这个加密好像跟书写格式都有关,书写格式有错误就解不出来了,特别是最后一行。
作者: quya     时间: 2008-6-22 00:45


  Quote:
Originally posted by zw19750516 at 2008-6-22 12:42 AM:
你这个加密好像跟书写格式都有关,书写格式有错误就解不出来了,特别是最后一行。

关系可能有,但不多,最关键的不是这个。

这段代码是Windows XP SP3 安装过程中由cmdlines.txt 调用的。

熟悉Windows XP SP3 安装过程的人,不一定熟悉批处理。而熟悉批处理的,又不一定对XP 安装过程感兴趣。

而我是一个三脚猫(土话,意思什么都了解一点,什么也不精),正好钻了个空子,搞了这么个有点怪异的加密。

[ Last edited by quya on 2008-6-22 at 12:52 AM ]
作者: bat-zw     时间: 2008-6-22 02:01
我日解了一点点,解不下去了,原因我的注册表中没hklm项,同时你这个鬼东东还跟你的程序名相关。。。解的部分如下,相信你应该知道我已解开你的加密方法了:
原文
set str1=Joke
for /f "eol=S" %%i in (%~f0) do (set "str1=!str1:~0,-4!,%%i")
set str1=%str1:,=%
set /p %STR1:~12,3%=<%~f0
call :set %str:~11,3%%str1:~32,1% 2>nul ||goto next
解密
set str1=joke rem 障眼法
set str1=,@,T,%SYSTEMDR,,,,,%str1:~21,2%str1:~3,,:,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
,,)
set str1=%str1:,=%
call :set set 2>nul ||goto next rem 我日在这里就跟你的程序名关联了。。。
[ Last edited by zw19750516 on 2008-6-22 at 02:13 AM ]
作者: quya     时间: 2008-6-22 09:42
到你解的那一步,还没有跟任何程序名有关。应该可以解到我在19楼提到的那一步。
作者: bat-zw     时间: 2008-6-22 10:37


  Quote:
Originally posted by quya at 2008-6-22 09:42:
到你解的那一步,还没有跟任何程序名有关。应该可以解到我在19楼提到的那一步。

兄弟是不是再仔细看看,到我解的这一步,程序就call :set了,在:set 里第一行命令就是set str1=%0,而且我还知道你这个鬼程序名的最后三个字符是set,你说是不是的?
作者: quya     时间: 2008-6-22 10:48


  Quote:
Originally posted by zw19750516 at 2008-6-22 10:37 AM:

兄弟是不是再仔细看看,到我解的这一步,程序就call :set了,在:set 里第一行命令就是set str1=%0,而且我还知道你这个鬼程序名的最后三个字符是set,你说是不是的?

哈哈,鬼程序名无论叫什么, str1 总是等于 set

所以还可以解下去,不过下边就是很繁的了,如果想不通原理,就是无解。

你实在要知道这个文件名, 我可以告诉你整个批处理原来的名字 installs.cmd , 但与这个名字无关。

这里的代码有点乱, 一部分是因为我编程水平不行,另一部分是障眼法。

[ Last edited by quya on 2008-6-22 at 11:01 AM ]
作者: bat-zw     时间: 2008-6-22 11:38
原理我是很清楚,但解起来确实是很麻烦的一件事,:set 部分如下:
:set
set str1=%0
    for /f "usebackq delims==" %%i in (`set`) do (set str=%%i
if not !str:~-3!==""  set str1=!str1:~,-4!%%i
)
ps:我不想再解下去了,再说解出来也只是时间问题,你老兄也太会转圈了。
作者: quya     时间: 2008-6-22 11:50


  Quote:
Originally posted by zw19750516 at 2008-6-22 11:38 AM:
原理我是很清楚,但解起来确实是很麻烦的一件事,:set 部分如下:
[code]
:set
set str1=%0
    for /f "usebackq delims==" %%i in (`set`) do (set str=%%i
if not ...

谢谢你对我这个可恶的程序关注了半天, 因为曾经你说过,加密批处理是无用的, 所以我也说过有机会给一个你解解看。

你果然上当了, 哈哈,不过接下来就是一个最大的圈, 就算你知道了原理,没一个小时是解不开的。所以你说很清楚其实是个假象。

只有过了你解到的现在这一步,才可以说破解只是时间问题。

PS. 这里边也用到了你教我的办法,防止有人投机取巧解这密。谢谢你啊。当然你的办法是实实在在的在解,没有去投机。

[ Last edited by quya on 2008-6-22 at 12:08 PM ]
作者: wang6610     时间: 2008-6-22 16:19
发现其中“$OEM$\$1\TOOLS\OEMFILE.SYS”是不同的。

既然LZ说用的是OEMSCAN,那么oemscan估计就在这个文件里。

用记事本打开,可以发现OEMFILE.SYS是个应用程序,扩展名改成EXE,东西就出来了,一个winrar的自解压文件。

单击右键,用rar打开,发现有密码。