AndroidApp.cpp 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. #include <dlfcn.h>
  2. #include <elf.h>
  3. #include <errno.h>
  4. #include <fcntl.h>
  5. #include <linux/auxvec.h>
  6. #include <pthread.h>
  7. #include <stdio.h>
  8. #include <stdlib.h>
  9. #include <string.h>
  10. #include <sys/stat.h>
  11. #include <sys/sysinfo.h>
  12. #include <sys/types.h>
  13. #include <cpu-features.h>
  14. #include "AndroidApp.h"
  15. extern "C" {
  16. #include "cpu-features.h"
  17. }
  18. //该CPP函数有栈保护
  19. MYSTATIC char PackageName_5CDEFE[0x80]; //005CDEFE AndroidApp_RegisterPackageName
  20. uint8 byte_5CFC44; //005CFC44
  21. uint8 byte_5CFC48; //005CFC48
  22. //cpuinfo_once cpuinfo_5CFC50; //005CFC50
  23. int dword_5CFC68; //005CFC68
  24. uint32_t dRAMKB_5CDF80;
  25. MYSTATIC JavaVM *JavaVM_5CDF84 = nullptr;
  26. MYSTATIC jobject context_5CDF88;
  27. //-------------------------------------------------------------------------------------------------------
  28. //0026A244 //^_^
  29. __attribute__((noinline))
  30. jint AndroidApp_SetupJNI(JNIEnv *env, jobject obj) {
  31. LOGE("%pAndroidApp_SetupJNI%x%x",env,*(int*)&obj,*((int*)&obj+2));
  32. return rand();
  33. }
  34. //-------------------------------------------------------------------------------------------------------
  35. //0026A260 //^_- 经过单元测试,功能正常
  36. __attribute__((noinline))
  37. JNIEnv *AndroidApp_GetJNI() {
  38. return nullptr;
  39. }
  40. //-------------------------------------------------------------------------------------------------------
  41. //0026A2B0 //^_^
  42. __attribute__((noinline))
  43. void AndroidApp_CheckJNI(JNIEnv *env) {
  44. }
  45. //-------------------------------------------------------------------------------------------------------
  46. //0026A2D8 //^_^
  47. __attribute__((noinline))
  48. jobject AndroidApp_GetContext() {
  49. return nullptr;
  50. }
  51. //-------------------------------------------------------------------------------------------------------
  52. //0026A2E4 //^_^ 经过单元测试,功能正常
  53. __attribute__((noinline))
  54. void AndroidApp_RegisterPackageName(const char *a1) {
  55. LOGE("%sAndroidApp_RegisterPackageName",a1);
  56. }
  57. //-------------------------------------------------------------------------------------------------------
  58. //0026A324 //^_^
  59. __attribute__((noinline))
  60. char *AndroidApp_GetPackageName() {
  61. return 0;
  62. }
  63. //-------------------------------------------------------------------------------------------------------
  64. //0026A330 //^_^
  65. __attribute__((noinline))
  66. jclass AndroidApp_FindJavaClass(char const *name) {
  67. return 0;
  68. }
  69. //-------------------------------------------------------------------------------------------------------
  70. //0026A38C //^_^
  71. __attribute__((noinline))
  72. jclass AndroidApp_FindFTTJavaClass(char const *name) {
  73. return 0;
  74. }
  75. //-------------------------------------------------------------------------------------------------------
  76. //0026A3E0 //^_^
  77. __attribute__((noinline))
  78. bool AndroidApp_IsCpuX86() {
  79. return 0;
  80. }
  81. //-------------------------------------------------------------------------------------------------------
  82. //0026A3FA //^_^
  83. __attribute__((noinline))
  84. uint32 AndroidApp_GetNEONAvailable() {
  85. uint32 result = 0;
  86. return result;
  87. }
  88. //-------------------------------------------------------------------------------------------------------
  89. //0026A418 //^_- 经过单元测试,功能正常
  90. __attribute__((noinline))
  91. int AndroidApp_GetTotalRAMInKB() {
  92. return 0;
  93. }
  94. //-------------------------------------------------------------------------------------------------------
  95. //0026A4B0 //^_^
  96. __attribute__((noinline))
  97. jobject AndroidApp_GetAdSupportInstance() {
  98. return 0;
  99. }
  100. //-------------------------------------------------------------------------------------------------------
  101. //0026A464 //^_^
  102. __attribute__((noinline))
  103. jobject AndroidApp_GetPushNotificationsInstance() {
  104. return 0;
  105. }
  106. //-------------------------------------------------------------------------------------------------------
  107. //0026A4FC //^_^
  108. __attribute__((noinline))
  109. jobject AndroidApp_GetGooglePlusManagerInstance() {
  110. return 0;
  111. }
  112. //-------------------------------------------------------------------------------------------------------
  113. //0026A6C4 //^_^
  114. __attribute__((noinline))
  115. jobject AndroidApp_GetAdjustTrackerInstance() {
  116. return 0;
  117. }
  118. //-------------------------------------------------------------------------------------------------------
  119. //0026A678 //^_^
  120. __attribute__((noinline))
  121. jobject AndroidApp_GetAnalyticsManagerInstance() {
  122. return 0;
  123. }
  124. //-------------------------------------------------------------------------------------------------------
  125. //0026A62C //^_^
  126. __attribute__((noinline))
  127. jobject AndroidApp_GetBannerAdManagerInstance() {
  128. return nullptr;
  129. }
  130. //-------------------------------------------------------------------------------------------------------
  131. //0026A62C //^_^
  132. __attribute__((noinline))
  133. jobject AndroidApp_GetFBAudienceManagerInstance() {
  134. return 0;
  135. }
  136. //-------------------------------------------------------------------------------------------------------
  137. //0026A594 //^_^
  138. __attribute__((noinline))
  139. jobject AndroidApp_GetFacebookManagerInstance() {
  140. return 0;
  141. }
  142. //-------------------------------------------------------------------------------------------------------
  143. //0026A5E0 //^_^
  144. __attribute__((noinline))
  145. jobject AndroidApp_GetHttpDownloadManagerInstance() {
  146. return 0;
  147. }
  148. //-------------------------------------------------------------------------------------------------------
  149. //0026A710 //^_^
  150. __attribute__((noinline))
  151. jobject AndroidApp_GetNativeDialogInstance() {
  152. return 0;
  153. }
  154. //-------------------------------------------------------------------------------------------------------
  155. //0026CEB4 //^_^
  156. __attribute__((noinline))
  157. int FTTMEM_PlatformFreeDiskSpace() {
  158. return 0;
  159. }
  160. //-------------------------------------------------------------------------------------------------------