返回信息流附件(871.3KB) openssl
谢谢啊 ,用UE打开是乱码
这是一条镜像帖。来源:北邮人论坛 / soft-design / #23149同步于 2007/12/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
求达人指点一下这个文件能用什么软件打开??
abo168
2007/12/17镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
*nix下面的elf格式文件,可用ida逆向分析。
hexray后得到的C源码如下:
仅是main这个函数的:
---------------------------------------------
void __cdecl main(signed int a1, char **a2)
{
int ST20_4_0; // ST20_4@0
int ST24_4_0; // ST24_4@0
int ST28_4_0; // ST28_4@0
int ST2C_4_0; // ST2C_4@0
unsigned __int8 v6; // cf@5
char v7; // zf@5
signed int v8; // ecx@5
char *v9; // edi@5
char *v10; // esi@5
int v11; // eax@2
char *v12; // eax@5
char *v13; // eax@12
char *v14; // eax@15
int v15; // eax@16
int v16; // eax@18
int v17; // eax@21
unsigned int v18; // kr00_4@28
int v19; // eax@32
char *v20; // [sp+468h] [bp-20h]@1
int status; // [sp+474h] [bp-14h]@1
int v22; // [sp+47Ch] [bp-Ch]@1
int v23; // [sp+458h] [bp-30h]@1
int v24; // [sp+45Ch] [bp-2Ch]@1
int v25; // [sp-10h] [bp-498h]@5
char *v26; // [sp+0h] [bp-488h]@5
char *v27; // [sp+Ch] [bp-47Ch]@5
char *v28; // [sp+8h] [bp-480h]@5
signed int v29; // [sp+4h] [bp-484h]@5
char *v30; // [sp+478h] [bp-10h]@12
char v31; // [sp+18h] [bp-470h]@16
int v32; // [sp+470h] [bp-18h]@16
int v33; // [sp+430h] [bp-58h]@18
int *v34; // [sp+428h] [bp-60h]@18
char v35; // [sp+424h] [bp-64h]@18
int v36; // [sp+460h] [bp-28h]@18
char v37; // [sp+24h] [bp-464h]@23
int n; // [sp+46Ch] [bp-1Ch]@23
char *s; // [sp+464h] [bp-24h]@25
int v40; // [sp+20h] [bp-468h]@31
int v41; // [sp+1Ch] [bp-46Ch]@31
v20 = 0;
status = 0;
v22 = 0;
v23 = 0;
v24 = 0;
if ( !bio_err )
{
v11 = BIO_s_file();
bio_err = BIO_new(v11);
if ( bio_err )
BIO_ctrl(bio_err, 106, 16, stderr);
}
if ( getenv("OPENSSL_DEBUG_MEMORY") )
{
v12 = getenv("OPENSSL_DEBUG_MEMORY");
v6 = __MKCADD__(16, &v25);
v7 = &v26 == 0;
v27 = v12;
v28 = "off";
v29 = 4;
v10 = v12;
v9 = "off";
v8 = 4;
do
{
if ( !v8 )
break;
v6 = *v10 < (unsigned __int8)*v9;
v7 = *v10++ == *v9++;
--v8;
}
while ( v7 );
if ( (char)(!(v6 | v7) - v6) == 0 )
{
CRYPTO_set_mem_debug_functions(0, 0, 0, 0, 0);
}
else
{
CRYPTO_set_mem_debug_functions(
CRYPTO_dbg_malloc,
CRYPTO_dbg_realloc,
CRYPTO_dbg_free,
CRYPTO_dbg_set_options,
CRYPTO_dbg_get_options);
CRYPTO_set_mem_debug_options(3);
}
}
CRYPTO_mem_ctrl(1);
CRYPTO_set_locking_callback(lock_dbg_cb);
signal(13, (__sighandler_t)1);
OPENSSL_add_all_algorithms_noconf();
ERR_load_crypto_strings();
ENGINE_load_builtin_engines();
setup_ui_method();
v13 = getenv("OPENSSL_CONF");
v30 = v13;
if ( !v13 )
v30 = getenv("SSLEAY_CONF");
if ( !v30 )
{
v14 = (char *)make_config_name();
v20 = v14;
v30 = v14;
}
default_config_file = (int)v30;
config = NCONF_new(0);
v15 = NCONF_load(config, v30, &v31);
v32 = v15;
if ( !v15 )
{
NCONF_free(config);
config = 0;
ERR_clear_error();
}
v22 = prog_init();
program_name(*a2, (int)&v33, 40);
v34 = &v33;
v16 = lh_retrieve(v22, &v35);
v36 = v16;
if ( v16 )
{
*a2 = (char *)&v33;
status = (*(int (__cdecl **)(signed int, char **))(v36 + 8))(a1, a2);
goto LABEL_38;
}
if ( a1 == 1 )
{
while ( 1 )
{
status = 0;
v30 = &v37;
n = 1024;
v32 = 0;
while ( 1 )
{
*v30 = 0;
++v32;
if ( v32 == 1 )
s = "OpenSSL> ";
else
s = ">";
fputs(s, stdout);
fflush(stdout);
fgets(v30, n, stdin);
if ( !*v30 )
goto LABEL_38;
v26 = v30;
v18 = strlen(v30);
v32 = v18 - 1;
if ( (signed int)(v18 - 1) <= 1 )
break;
if ( v30[v32 - 2] != 92 )
break;
v32 -= 2;
v30 += v32;
n -= v32;
}
if ( !chopup_args(&v23, &v37, &v40, &v41) )
break;
v19 = do_cmd(v22, v40, v41);
status = v19;
if ( v19 < 0 )
{
status = 0;
goto LABEL_38;
}
if ( status )
BIO_printf(bio_err, "error in %s\n");
BIO_ctrl(bio_err, 11, 0, 0);
}
((int (__cdecl *)(int, char *))BIO_printf)(bio_err, "bad exit\n");
status = 1;
}
else
{
--a1;
++a2;
v17 = do_cmd(v22, a1, a2);
status = v17;
if ( v17 < 0 )
status = 0;
}
LABEL_38:
if ( v20 )
CRYPTO_free(v20);
if ( config )
{
NCONF_free(config);
config = 0;
}
if ( v22 )
lh_free(v22);
if ( v23 )
CRYPTO_free(v23);
CONF_modules_unload(1);
destroy_ui_method();
EVP_cleanup(ST20_4_0, ST24_4_0, ST28_4_0, ST2C_4_0);
ENGINE_cleanup();
CRYPTO_cleanup_all_ex_data();
ERR_remove_state(0);
ERR_free_strings();
CRYPTO_mem_leaks(bio_err);
if ( bio_err )
{
BIO_free(bio_err);
bio_err = 0;
}
exit(status);
}
---------------------------------------------------------------------------
【 在 abo168 (昵称) 的大作中提到: 】
: [upload=1][/upload]
: 谢谢啊 ,用UE打开是乱码