Skip to content

Commit c1b8013

Browse files
committed
Merge branch 'master' of github.com:emd4600/Spore-ModAPI
# Conflicts: # Spore ModAPI/Spore ModAPI.vcxproj
2 parents 78d9778 + b709bac commit c1b8013

4 files changed

Lines changed: 216 additions & 1 deletion

File tree

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
#ifdef MODAPI_DLL_EXPORT
2+
#include "stdafx.h"
3+
4+
#include <Spore\OpenSSL.h>
5+
6+
namespace Addresses(OpenSSL)
7+
{
8+
DefineAddress(SSL_accept, SelectAddress(0x0117f590, 0x0117ce10));
9+
DefineAddress(SSL_clear, SelectAddress(0x0117ebe0, 0x0117c460));
10+
DefineAddress(SSL_connect, SelectAddress(0x0117f5d0, 0x0117ce50));
11+
DefineAddress(SSL_ctrl, SelectAddress(0x0117f0e0, 0x0117c960));
12+
DefineAddress(SSL_CTX_ctrl, SelectAddress(0x0117dca0, 0x0117b520));
13+
DefineAddress(SSL_CTX_free, SelectAddress(0x0117e1b0, 0x0117ba30));
14+
DefineAddress(SSL_CTX_new, SelectAddress(0x0117f200, 0x0117ca80));
15+
DefineAddress(SSL_CTX_set_cipher_list, SelectAddress(0x0117df20, 0x0117b7a0));
16+
DefineAddress(SSL_CTX_set_tmp_dh_callback, SelectAddress(0x0117ebc0, 0x0117c440));
17+
DefineAddress(SSL_CTX_set_verify, SelectAddress(0x0117e2b0, 0x0117bb30));
18+
DefineAddress(SSL_CTX_set_verify_depth, SelectAddress(0x0117e2d0, 0x0117bb50));
19+
DefineAddress(SSL_free, SelectAddress(0x0117ef30, 0x0117c7b0));
20+
DefineAddress(SSL_get1_session, SelectAddress(0x01183db0, 0x01181640));
21+
DefineAddress(SSL_get_error, SelectAddress(0x0117f470, 0x0117ccf0));
22+
DefineAddress(SSL_get_peer_certificate, SelectAddress(0x0117db60, 0x0117b3e0));
23+
DefineAddress(SSL_get_shutdown, SelectAddress(0x011b4600, 0x011b1e70));
24+
DefineAddress(SSL_library_init, SelectAddress(0x01185980, 0x01183210));
25+
DefineAddress(SSL_new, SelectAddress(0x0117ed00, 0x0117c580));
26+
DefineAddress(SSL_read, SelectAddress(0x0117dbb0, 0x0117b430));
27+
DefineAddress(SSL_SESSION_free, SelectAddress(0x01183ee0, 0x01181770));
28+
DefineAddress(SSL_SESSION_new, SelectAddress(0x01183df0, 0x01181680));
29+
DefineAddress(SSL_set_bio, SelectAddress(0x0117daf0, 0x0117b370));
30+
DefineAddress(SSL_set_session, SelectAddress(0x01183fa0, 0x01181830));
31+
DefineAddress(SSL_shutdown, SelectAddress(0x0117f090, 0x0117c910));
32+
DefineAddress(SSL_write, SelectAddress(0x0117dc40, 0x0117b4c0));
33+
DefineAddress(SSLv23_client_method, SelectAddress(0x01185240, 0x01182ad0));
34+
DefineAddress(SSLv23_method, SelectAddress(0x01185960, 0x011831f0));
35+
DefineAddress(SSLv23_server_method, SelectAddress(0x01185930, 0x011831c0));
36+
37+
DefineAddress(sk_SSL_CIPHER_free, SelectAddress(0x01180560, 0x0117ddd0));
38+
//DefineAddress(ssl23_read, SelectAddress(0x0, 0x011a0420)); // TODO?
39+
DefineAddress(ssl_cert_free, SelectAddress(0x01197300, 0x01194b90));
40+
DefineAddress(ssl_clear_bad_session, SelectAddress(0x01184680, 0x01181f10));
41+
DefineAddress(ssl_clear_cipher_ctx, SelectAddress(0x0117ea20, 0x0117c2a0));
42+
DefineAddress(ssl_get_new_session, SelectAddress(0x011841a0, 0x01181a30));
43+
DefineAddress(ssl_init_wbio_buffer, SelectAddress(0x0117eaa0, 0x0117c320));
44+
DefineAddress(ssl_load_ciphers, SelectAddress(0x01195610, 0x01192eb0));
45+
DefineAddress(ssl_sess_cert_free, SelectAddress(0x01197440, 0x01194cd0));
46+
DefineAddress(ssleay_rand_add, SelectAddress(0x01188050, 0x011858c0));
47+
//DefineAddress(ssleay_rand_seed, SelectAddress(0x0, 0x01185c10)); // TODO?
48+
49+
DefineAddress(OPENSSL_add_all_algorithms_noconf, SelectAddress(0x01185970, 0x01183200));
50+
DefineAddress(OpenSSL_add_all_ciphers, SelectAddress(0x011ab3d0, 0x011a8c70));
51+
DefineAddress(OpenSSL_add_all_digests, SelectAddress(0x011ab280, 0x011a8b20));
52+
DefineAddress(OPENSSL_cleanse, SelectAddress(0x01185fa0, 0x01183830));
53+
DefineAddress(OPENSSL_free, SelectAddress(0x01185d50, 0x011835e0));
54+
DefineAddress(OPENSSL_showfatal, SelectAddress(0x01183b80, 0x01181410));
55+
DefineAddress(OpenSSLDie, SelectAddress(0x01183ca0, 0x01181530));
56+
57+
//DefineAddress(BIO_callback_ctrl, SelectAddress(0x0, 0x01177330)); // TODO?
58+
DefineAddress(BIO_ctrl, SelectAddress(0x01179a00, 0x011772a0));
59+
DefineAddress(BIO_f_buffer, SelectAddress(0x01199100, 0x01196990));
60+
DefineAddress(BIO_free, SelectAddress(0x011796b0, 0x01176f50));
61+
DefineAddress(BIO_free_all, SelectAddress(0x01179bc0, 0x01177460));
62+
DefineAddress(BIO_gets, SelectAddress(0x01179960, 0x01177200));
63+
DefineAddress(BIO_int_ctrl, SelectAddress(0x01179c60, 0x01177500));
64+
DefineAddress(BIO_new, SelectAddress(0x01179c10, 0x011774b0));
65+
DefineAddress(BIO_new_file, SelectAddress(0x0117d9e0, 0x0117b260));
66+
DefineAddress(BIO_new_mem_buf, SelectAddress(0x01179ca0, 0x01177540));
67+
DefineAddress(BIO_pop, SelectAddress(0x01179b70, 0x01177410));
68+
DefineAddress(BIO_push, SelectAddress(0x01179b20, 0x011773c0));
69+
DefineAddress(BIO_puts, SelectAddress(0x011798c0, 0x01177160));
70+
DefineAddress(BIO_read, SelectAddress(0x01179760, 0x01177000));
71+
DefineAddress(BIO_write, SelectAddress(0x01179810, 0x011770b0));
72+
73+
DefineAddress(CRYPTO_add_lock, SelectAddress(0x01183d60, 0x011815f0));
74+
DefineAddress(CRYPTO_free_ex_data, SelectAddress(0x01186a70, 0x011842e0));
75+
DefineAddress(CRYPTO_get_dynlock_value, SelectAddress(0x011839c0, 0x01181250));
76+
DefineAddress(CRYPTO_lock, SelectAddress(0x01183cd0, 0x01181560));
77+
DefineAddress(CRYPTO_malloc, SelectAddress(0x01185ba0, 0x01183430));
78+
DefineAddress(CRYPTO_num_locks, SelectAddress(0x00a2f320, 0x0089cef0));
79+
DefineAddress(CRYPTO_set_dynlock_create_callback, SelectAddress(0x01183a40, 0x011812d0));
80+
DefineAddress(CRYPTO_set_dynlock_destroy_callback, SelectAddress(0x01183a60, 0x011812f0));
81+
DefineAddress(CRYPTO_set_dynlock_lock_callback, SelectAddress(0x01183a50, 0x011812e0));
82+
DefineAddress(CRYPTO_set_id_callback, SelectAddress(0x01183a80, 0x01181310));
83+
DefineAddress(CRYPTO_set_locking_callback, SelectAddress(0x01183a70, 0x01181300));
84+
DefineAddress(CRYPTO_set_mem_functions, SelectAddress(0x01185af0, 0x01183380));
85+
86+
DefineAddress(sk_X509_NAME_pop_free, SelectAddress(0x011807e0, 0x0117e050));
87+
DefineAddress(i2d_X509, SelectAddress(0x0117f700, 0x0117cf80));
88+
DefineAddress(X509_free, SelectAddress(0x0117f730, 0x0117cfb0));
89+
DefineAddress(X509_LOOKUP_file, SelectAddress(0x011b9f50, 0x011b7830));
90+
DefineAddress(X509_LOOKUP_hash_dir, SelectAddress(0x011b9990, 0x011b7270));
91+
DefineAddress(X509_LOOKUP_load_file, SelectAddress(0x01197b30, 0x011953c0));
92+
DefineAddress(X509_STORE_add_lookup, SelectAddress(0x01197d30, 0x011955c0));
93+
DefineAddress(X509_STORE_load_locations, SelectAddress(0x011999e0, 0x01197290));
94+
DefineAddress(X509_VERIFY_PARAM_free, SelectAddress(0x01196a80, 0x01194320));
95+
}
96+
97+
#endif // MODAPI_DLL_EXPORT

Spore ModAPI/Spore ModAPI.vcxproj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,8 @@
327327
<ClInclude Include="Spore\App\IDGenerator.h" />
328328
<ClInclude Include="Spore\App\JobManager.h" />
329329
<ClInclude Include="Spore\App\Thumbnail_cImportExport.h" />
330-
<ClInclude Include="Spore\Graphics\LayerSequence.h" />
330+
<ClInclude Include="Spore\Graphics\LayerSequence.h" />
331+
<ClInclude Include="Spore\OpenSSL.h" />
331332
<ClInclude Include="Spore\Resource\FakeRecord.h" />
332333
<ClInclude Include="Spore\Simulator\cBaseSimulatorInputStrategy.h" />
333334
<ClInclude Include="Spore\Simulator\cObstacle.h" />
@@ -931,6 +932,7 @@
931932
<ClInclude Include="Spore\UTFWin\WinTreeView.h" />
932933
</ItemGroup>
933934
<ItemGroup>
935+
<ClCompile Include="SourceCode\DLL\AddressesOpenSSL.cpp" />
934936
<ClCompile Include="SourceCode\Allocator.cpp" />
935937
<ClCompile Include="SourceCode\Anim\Animations.cpp" />
936938
<ClCompile Include="SourceCode\App\App.cpp" />

Spore ModAPI/Spore ModAPI.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2235,6 +2235,9 @@
22352235
<ClInclude Include="Spore\Simulator\SubSystem\ObstacleManager.h">
22362236
<Filter>Header Files</Filter>
22372237
</ClInclude>
2238+
<ClInclude Include="Spore\OpenSSL.h">
2239+
<Filter>Header Files</Filter>
2240+
</ClInclude>
22382241
<ClInclude Include="Spore\Simulator\cNpcTribeController.h">
22392242
<Filter>Header Files</Filter>
22402243
</ClInclude>
@@ -2729,6 +2732,9 @@
27292732
<ClCompile Include="SourceCode\Simulator\SimulatorCell.cpp">
27302733
<Filter>Source Files</Filter>
27312734
</ClCompile>
2735+
<ClCompile Include="SourceCode\DLL\AddressesOpenSSL.cpp">
2736+
<Filter>Source Files</Filter>
2737+
</ClCompile>
27322738
</ItemGroup>
27332739
<ItemGroup>
27342740
<Natvis Include="EASTL.natvis" />

Spore ModAPI/Spore/OpenSSL.h

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
/****************************************************************************
2+
* Copyright (C) 2024 Rosalie Wanders
3+
*
4+
* This file is part of Spore ModAPI.
5+
*
6+
* Spore ModAPI is free software: you can redistribute it and/or modify
7+
* it under the terms of the GNU General Public License as published by
8+
* the Free Software Foundation, either version 3 of the License, or
9+
* (at your option) any later version.
10+
*
11+
* This program is distributed in the hope that it will be useful,
12+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14+
* GNU General Public License for more details.
15+
*
16+
* You should have received a copy of the GNU General Public License
17+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
18+
****************************************************************************/
19+
20+
#pragma once
21+
22+
#include <Spore\Internal.h>
23+
24+
namespace Addresses(OpenSSL)
25+
{
26+
DeclareAddress(SSL_accept);
27+
DeclareAddress(SSL_clear);
28+
DeclareAddress(SSL_connect);
29+
DeclareAddress(SSL_ctrl);
30+
DeclareAddress(SSL_CTX_ctrl);
31+
DeclareAddress(SSL_CTX_free);
32+
DeclareAddress(SSL_CTX_new);
33+
DeclareAddress(SSL_CTX_set_cipher_list);
34+
DeclareAddress(SSL_CTX_set_tmp_dh_callback);
35+
DeclareAddress(SSL_CTX_set_verify);
36+
DeclareAddress(SSL_CTX_set_verify_depth);
37+
DeclareAddress(SSL_free);
38+
DeclareAddress(SSL_get1_session);
39+
DeclareAddress(SSL_get_error);
40+
DeclareAddress(SSL_get_peer_certificate);
41+
DeclareAddress(SSL_get_shutdown);
42+
DeclareAddress(SSL_library_init);
43+
DeclareAddress(SSL_new);
44+
DeclareAddress(SSL_read);
45+
DeclareAddress(SSL_SESSION_free);
46+
DeclareAddress(SSL_SESSION_new);
47+
DeclareAddress(SSL_set_bio);
48+
DeclareAddress(SSL_set_session);
49+
DeclareAddress(SSL_shutdown);
50+
DeclareAddress(SSL_write);
51+
DeclareAddress(SSLv23_client_method);
52+
DeclareAddress(SSLv23_method);
53+
DeclareAddress(SSLv23_server_method);
54+
55+
DeclareAddress(sk_SSL_CIPHER_free);
56+
DeclareAddress(ssl_cert_free);
57+
DeclareAddress(ssl_clear_bad_session);
58+
DeclareAddress(ssl_clear_cipher_ctx);
59+
DeclareAddress(ssl_get_new_session);
60+
DeclareAddress(ssl_init_wbio_buffer);
61+
DeclareAddress(ssl_load_ciphers);
62+
DeclareAddress(ssl_sess_cert_free);
63+
DeclareAddress(ssleay_rand_add);
64+
65+
DeclareAddress(OPENSSL_add_all_algorithms_noconf);
66+
DeclareAddress(OpenSSL_add_all_ciphers);
67+
DeclareAddress(OpenSSL_add_all_digests);
68+
DeclareAddress(OPENSSL_cleanse);
69+
DeclareAddress(OPENSSL_free);
70+
DeclareAddress(OPENSSL_showfatal);
71+
DeclareAddress(OpenSSLDie);
72+
73+
DeclareAddress(BIO_ctrl);
74+
DeclareAddress(BIO_f_buffer);
75+
DeclareAddress(BIO_free);
76+
DeclareAddress(BIO_free_all);
77+
DeclareAddress(BIO_gets);
78+
DeclareAddress(BIO_int_ctrl);
79+
DeclareAddress(BIO_new);
80+
DeclareAddress(BIO_new_file);
81+
DeclareAddress(BIO_new_mem_buf);
82+
DeclareAddress(BIO_pop);
83+
DeclareAddress(BIO_push);
84+
DeclareAddress(BIO_puts);
85+
DeclareAddress(BIO_read);
86+
DeclareAddress(BIO_write);
87+
88+
DeclareAddress(CRYPTO_add_lock);
89+
DeclareAddress(CRYPTO_free_ex_data);
90+
DeclareAddress(CRYPTO_get_dynlock_value);
91+
DeclareAddress(CRYPTO_lock);
92+
DeclareAddress(CRYPTO_malloc);
93+
DeclareAddress(CRYPTO_num_locks);
94+
DeclareAddress(CRYPTO_set_dynlock_create_callback);
95+
DeclareAddress(CRYPTO_set_dynlock_destroy_callback);
96+
DeclareAddress(CRYPTO_set_dynlock_lock_callback);
97+
DeclareAddress(CRYPTO_set_id_callback);
98+
DeclareAddress(CRYPTO_set_locking_callback);
99+
DeclareAddress(CRYPTO_set_mem_functions);
100+
101+
DeclareAddress(sk_X509_NAME_pop_free);
102+
DeclareAddress(i2d_X509);
103+
DeclareAddress(X509_free);
104+
DeclareAddress(X509_LOOKUP_file);
105+
DeclareAddress(X509_LOOKUP_hash_dir);
106+
DeclareAddress(X509_LOOKUP_load_file);
107+
DeclareAddress(X509_STORE_add_lookup);
108+
DeclareAddress(X509_STORE_load_locations);
109+
DeclareAddress(X509_VERIFY_PARAM_free);
110+
}

0 commit comments

Comments
 (0)