ソース書き換え
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGGBA-PARのコードを暗号化・復号化するソースコードなんだけど、
誰かコレをBASICのソースに書き換えてくれ…
漏れには無理だ…_| ̄|○
0002デフォルトの名無しさん
NGNG漏れには無理だ…_| ̄|○
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG否。>1の要件とは無関係に、
これからいろんなバックド(ry
0006デフォルトの名無しさん
NGNG~~~~
書き換えるスレになりました
0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNGなんでBASIC?
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNGただ、GUIぢゃ駄目なんだ。
0011デフォルトの名無しさん
NGNGアセンブラくらいつまんでみてもいいじゃないか?
0012デフォルトの名無しさん
NGNGアセンブラ→Cにしてくれたら、C→BASICにしてあげる。
0013おでん
NGNG//cryptsub1 address用
//in.edx:data,esi:crypt#
//out.eax:add/sub# for address
unsigned int crypt1(unsigned int data,unsigned int crypt)
{
// mov ebx,edx
// shl ebx,04
// add ebx,009f4fbbdh
unsigned int tmp= (data << 4) + 0x9f4fbbd ;
// mov eax,edx
// add eax,esi
// xor ebx,eax
tmp ^= (data + crypt) ;
// mov eax,edx
// shr eax,05
// add eax,09681884ah
// xor eax,ebx
unsigned int ret= data >> 5 + 0x09681884a ;
ret ^= tmp ;
return ret ;
}
0014デフォルトの名無しさん
NGNGアリガ�d
しかし、これだけじゃ使えない… orz
0015デフォルトの名無しさん
NGNG00161
NGNGとにかく、迷惑掛けてスマンかった。
「ソース書き換え」の用件は撤回するよ。
後は放置するなり、漏れを煽るなり、再利用するなし、好きにしてくれ。
0017デフォルトの名無しさん
NGNGもちろん、アセンブラのニモニックは覚えなきゃならないが。
0018デフォルトの名無しさん
NGNG、ェチー、ャコ・・ヘヘ熙タ、サ、陦」・ォ・ケ
0019デフォルトの名無しさん
NGNGお前の言いたいことはよくわかった。
とにかく今はゆっくりやすめ
0020デフォルトの名無しさん
NGNGただし,CPUが32ビットリトルエンディアンでないとまずい.
*/
unsigned long eax, ebx, ecx, edx, esi, *di;
unsigned long *decrypttable = {
0x0c6ef3720,0x028b7bd67,0x08a8043ae,0x0ec48c9f5,0x04e11503c,0x0afd9d683,0x011a25cca,0x0736ae311,
0x0d5336958,0x036fbef9f,0x098c475e6,0x0fa8cfc2d,0x05c558274,0x0be1e08bb,0x01fe68f02,0x081af1549,
0x0e3779b90,0x0454021d7,0x0a708a81e,0x008d12e65,0x06a99b4ac,0x0cc623af3,0x02e2ac13a,0x08ff34781,
0x0f1bbcdc8,0x05384540f,0x0b54cda56,0x01715609d,0x078dde6e4,0x0daa66d2b,0x03c6ef372,0x09e3779b9};
void crypt1(void);
void crypt2(void);
void encrypt(void){
di = &decrypttable[31];
encrypt_loop:
esi = *di;
crypt1();
ecx += eax;
crypt2();
edx += eax;
di--;
if (di > &decripttable[-1]) goto encrypt_loop;
}
0021デフォルトの名無しさん
NGNGdi = decrpyttable;
decrypt_loop;
esi = *di;
crypt2();
edx -= eax;
crypt1();
ecx -= eax;
di++;
if (di < &decripttable[32]) goto decrpyt_loop;
}
void crypt1(void){
ebx = edx;
ebx <<= 4;
ebx += 0x9f4fbbd;
eax = edx;
eax += esi;
ebx ^= eax;
eax = edx;
eax >>= 5;
eax += 0x9681884a;
eax ^= ebx;
}
0022デフォルトの名無しさん
NGNGebx = ecx;
ebx >>= 4;
ebx += 352027e9;
eax = ecx;
eax += esi;
ebx ^= eax;
eax = ecx;
eax >>= 5;
eax += 0xf3dee5a7;
}
■ このスレッドは過去ログ倉庫に格納されています