24小时热门版块排行榜    

查看: 2818  |  回复: 26

anntoy

木虫 (著名写手)

【答案】应助回帖

引用回帖:
10楼: Originally posted by libralibra at 2012-07-07 19:25:28
这位兄弟厉害,都解密出来了
奇怪没算法你咋解的?...

运行程序呗,然后内存里dump出来
算法现在大致分析了一下,不过要还原成c代码还需要时间
11楼2012-07-07 20:37:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)

【答案】应助回帖

下面是解码的c代码,解码后是unicode格式,如果要转换成utf-8自己转吧
算法是个什么名字不知道,你可以自己看看是什么算法,编码过程还知道
CODE:
#include
#include
#include

int trans(int in)
{
        if(in >= '0' && in <= '9')
                return in + 4;
        if(in >= 'a' && in <= 'z')
                return in - 0x47;
        if(in >= 'A' && in <= 'Z')
                return in - 0x41;
        if(in == '+')
                return '>';
        if(in == '/')
                return '?';
        return -1;
}

int main()
{
        FILE * fpi, *fpo;
        int i, k, j, filelen, outlen = 0;
        char *inbuf,*outbuf, *h, *in;
        short *out, n;
        fpi = fopen("in","rb+");
        fpo = fopen("out","wb+");
        fseek(fpi,0,SEEK_END);
        filelen = ftell(fpi);
        inbuf = malloc(filelen);
        outbuf = malloc(filelen);
        fseek(fpi,0,SEEK_SET);
        fread(inbuf,1, filelen, fpi);
        in = inbuf;
        inbuf += 6;
        while(*inbuf) {
                for(i = 0, k = 0; i < 4 && *inbuf; inbuf++){
                        j = trans(*inbuf);
                        if(j == -1){
                                continue;
                        }
                        k = k << 6;
                        k |= j;
                        i++;
                }
                i = 3;
                h = (char *)&k;
                while(i--) {
                        outbuf[outlen++] = h[i];
                }
        }
        while(!outbuf[--outlen]);
        out = (short *)outbuf;
        outlen = (--outlen >> 1);
        n = out[outlen];
        out[outlen] = 0;
        while(*out) {
                *out++ -= n;
        }
        k = 0xfeff;
        fwrite((char *)&k,2,1,fpo);
        fwrite(outbuf,2,outlen,fpo);
        fclose(fpi);
        fclose(fpo);
        free(in);
        free(outbuf);
        return 0;
}

12楼2012-07-08 02:56:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wolflash

金虫 (小有名气)

wolflash: 回帖置顶 2012-07-09 17:16:40
引用回帖:
12楼: Originally posted by anntoy at 2012-07-08 02:56:28
下面是解码的c代码,解码后是unicode格式,如果要转换成utf-8自己转吧
算法是个什么名字不知道,你可以自己看看是什么算法,编码过程还知道

#include <stdio.h>
#include <stdlib.h>
#include &l ...

能否將unicode格式转换成utf-8 的C代碼也貼出?砉蚁肟纯矗x啦
如果不能骄傲的活着,我选择死亡!—《红色恋人》
13楼2012-07-09 17:09:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)

引用回帖:
13楼: Originally posted by wolflash at 2012-07-09 17:09:55
能否將unicode格式转换成utf-8 的C代碼也貼出?砉蚁肟纯矗x啦...

那个就得查表了,你直接用记事本打开,另存为,选择utf-8不就可以了,写什么程序呀
14楼2012-07-09 21:41:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wolflash

金虫 (小有名气)

引用回帖:
14楼: Originally posted by anntoy at 2012-07-09 21:41:10
那个就得查表了,你直接用记事本打开,另存为,选择utf-8不就可以了,写什么程序呀...

但是還是一堆的中文字,很奇怪,轉不了
如果不能骄傲的活着,我选择死亡!—《红色恋人》
15楼2012-07-09 22:14:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)

引用回帖:
15楼: Originally posted by wolflash at 2012-07-09 22:14:44
但是還是一堆的中文字,很奇怪,轉不了...

呃……刚看了这个转码还是比较简单的,我写写看啊
16楼2012-07-09 22:16:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wolflash

金虫 (小有名气)

引用回帖:
16楼: Originally posted by anntoy at 2012-07-09 22:16:36
呃……刚看了这个转码还是比较简单的,我写写看啊...

呵呵,前面的C源碼我是用VC6.0 運行,將123123.TH文件改成 in 然後得到 out ,這個out 用記事本打開,另存一下,結果沒有還是一堆中文。我這樣操作有沒有問題?
如果不能骄傲的活着,我选择死亡!—《红色恋人》
17楼2012-07-09 22:29:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wolflash

金虫 (小有名气)

引用回帖:
16楼: Originally posted by anntoy at 2012-07-09 22:16:36
呃……刚看了这个转码还是比较简单的,我写写看啊...

06年學過C++,那時考試都得優秀的,這麼多年,忘得差不多了。
如果不能骄傲的活着,我选择死亡!—《红色恋人》
18楼2012-07-09 22:37:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)

引用回帖:
18楼: Originally posted by wolflash at 2012-07-09 22:37:55
06年學過C++,那時考試都得優秀的,這麼多年,忘得差不多了。...

这个是转码的代码,用那个改的
CODE:
#include
#include
#include

int main()
{
        FILE * fpi, *fpo;
        int filelen, outlen = 0;
        unsigned short *inbuf, *in, i;
        char *outbuf;
        fpi = fopen("in","rb+");
        fpo = fopen("out","wb+");
        fseek(fpi,0,SEEK_END);
        filelen = ftell(fpi);
        inbuf = malloc(filelen);
        outbuf = malloc(filelen);
        fseek(fpi,0,SEEK_SET);
        fread(inbuf,1, filelen, fpi);
        in = inbuf;
        inbuf++;
        outbuf[outlen++] = (char)0xef;
        outbuf[outlen++] = (char)0xbb;
        outbuf[outlen++] = (char)0xbf;
        while(i = *inbuf++) {
                if(i < 0x80) {
                        outbuf[outlen++] = (char)i;
                } else if(i >= 0x80 && i < 0x800) {
                        outbuf[outlen++] = 0xc0 | (char)(i>>6);
                        outbuf[outlen++] = 0x80 | (char)(i & 0x3f);
                } else if(i >= 0x800) {
                        outbuf[outlen++] = 0xe0 | (char)(i>>12);
                        outbuf[outlen++] = 0x80 | (char)((i & (0x3f<<6))>>6);
                        outbuf[outlen++] = 0x80 | (char)(i & 0x3f);
                }
        }
        fwrite(outbuf,1,outlen,fpo);
        fclose(fpi);
        fclose(fpo);
        free(in);
        free(outbuf);
        return 0;
}

» 本帖已获得的红花(最新10朵)

19楼2012-07-09 22:56:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

anntoy

木虫 (著名写手)

引用回帖:
15楼: Originally posted by wolflash at 2012-07-09 22:14:44
但是還是一堆的中文字,很奇怪,轉不了...

打开之后确实有一部分中文,应该是这种的
CODE:





  
  
  
  
  
   
   
   
   
   
  

  
   
   
   
  

  

20楼2012-07-09 22:57:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wolflash 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 申请科研项目纯靠实力能成功吗? 200+5 David1982 2026-10-13 8/400 2026-10-14 21:38 by lhw_GPA4.0
[硕博家园] 中科院海洋所招收海洋材料相关领域博士研究生及研究助理 +3 sujiner 2026-10-08 4/200 2026-10-14 20:40 by qicaiyun
[职场人生] 40+中年人失业后,还能找到好工作吗? +3 xqy2009 2026-10-13 3/150 2026-10-14 20:17 by 43358052
[有机交流] OpenAI又攻克数学难题了,离AI做有机合成还有多远? +8 wangyl_123 2026-10-10 13/650 2026-10-14 15:12 by zuesli
[硕博家园] 极限拉扯,如何抉择 +10 Isak0320 2026-10-12 14/700 2026-10-14 11:39 by thegarfield
[基金申请] 入职后第一次管课题组的专利缴费,对账才发现官费比别人多掏了一倍 +6 13108017953 2026-10-08 6/300 2026-10-12 20:07 by w3w3y3
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:34 by XQNyDCa1Tk5n
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:26 by XQNyDCa1Tk5n
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:15 by XQNyDCa1Tk5n
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 22:11 by XQNyDCa1Tk5n
[教师之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:06 by XQNyDCa1Tk5n
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 14:05 by VOMexwnDzOFZ
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:51 by VOMexwnDzOFZ
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:45 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:54 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:34 by VOMexwnDzOFZ
[考博] 招收博士生一名 +3 mandolin 2026-10-10 3/150 2026-10-11 10:21 by 不是山谷!
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 qR2AdCWTVtkw 2026-10-09 4/200 2026-10-11 03:14 by M0zrYVSAnxpE
[有机交流] 各位大佬,路线设计求助 +6 zapen 2026-10-08 8/400 2026-10-10 15:59 by zapen
[有机交流] 我应该选哪条合成路线让实验成功率高一些? +5 jing816y 2026-10-08 9/450 2026-10-10 09:05 by zapen
信息提示
请填处理意见