當前位置:首頁 » 編程軟體 » 反編譯io游戲

反編譯io游戲

發布時間: 2023-08-27 20:12:10

1. flutter 反編譯

>You are building a fat APK that includes binaries for android-arm, android-arm64.

>If you are deploying the app to the Play Store, it's recommended to use app bundles or split the APK to rece the APK size.

>    To generate an app bundle, run:

>        flutter build appbundle --target-platform android-arm,android-arm64

>        Learn more on: https://developer.android.com/guide/app-bundle

>    To split the APKs per ABI, run:

>        flutter build apk --target-platform android-arm,android-arm64 --split-per-abi

>        Learn more on:  https://developer.android.com/studio/build/configure-apk-splits#configure-abi-split

>Initializing gradle...                                              2.3s

>Resolving dependencies...                                          14.2s

>Running Gradle task 'assembleRelease'...                                                  ע: E:\work_tool\flutter\.pub-cache\hosted\pub.flutter-io.cn\connectivity-0.4.4\android\src\main\java\io\flutter\plugins\connectivity\ConnectivityPlugin.javaʹ�û򸲸����ѹ�ʱ�� API��

>ע: �й���ϸ��Ϣ, ��ʹ�� -Xlint:deprecation ���±��롣

>ע: E:\work_tool\flutter\.pub-cache\hosted\pub.flutter-io.cn\url_launcher-5.1.3\android\src\main\java\io\flutter\plugins\urllauncher\WebViewActivity.javaʹ

>�û򸲸����ѹ�ʱ�� API��

>ע: �й���ϸ��Ϣ, ��ʹ�� -Xlint:deprecation ���±��롣

>Calling mockable JAR artifact transform to create file: C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\android.jar\\android.jar with input E:\work_tool\sdk\android-sdk-windows\platforms\android-28\android.jar

>Calling mockable JAR artifact transform to create file: C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\android.jar\\android.jar with input E:\work_tool\sdk\android-sdk-windows\platforms\android-27\android.jar

>Request to incrementing alive workforce from 0. Current workforce (dead or alive) 0

>thread-pool size=4

>ProGuard, version 6.0.3

>Reading input...

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\flutter.jar\\jetified-flutter.jar] (filtered)

>Reading program jar [F:\dartSpace\flutter\jiddspace\nfc\build\app\intermediates\flutter\release\libs.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\localbroadcastmanager-1.0.0.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\work-runtime-2.1.0.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\fragment-1.1.0.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\room-runtime-2.1.0.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\room-runtime-2.1.0.aar\\jars\libs\room-common-java8-2.1.0.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\viewpager-1.0.0.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\loader-1.0.0.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\activity-1.0.0.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\customview-1.0.0.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\core-1.1.0.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\versionedparcelable-1.1.0.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\moles-2\files-2.1\androidx.collection\collection\1.1.0\\collection-1.1.0.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\lifecycle-livedata-2.0.0.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\lifecycle-livedata-core-2.0.0.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\core-runtime-2.0.1.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\moles-2\files-2.1\androidx.room\room-common\2.1.0\\room-common-2.1.0.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\sqlite-framework-2.0.1.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\sqlite-2.0.1.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\lifecycle-service-2.0.0.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\lifecycle-runtime-2.1.0.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\lifecycle-viewmodel-2.1.0.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\transforms-1\files-1.1\savedstate-1.0.0.aar\\jars\classes.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\moles-2\files-2.1\androidx.lifecycle\lifecycle-common\2.1.0\\lifecycle-common-2.1.0.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\moles-2\files-2.1\androidx.arch.core\core-common\2.1.0\\core-common-2.1.0.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\moles-2\files-2.1\androidx.annotation\annotation\1.1.0\\annotation-1.1.0.jar] (filtered)

>Reading program jar [C:\Users\Administrator\.gradle\caches\moles-2\files-2.1\com.google.guava\listenablefuture\1.0\\listenablefuture-1.0.jar] (filtered)

>Reading program jar [F:\dartSpace\flutter\jiddspace\nfc\build\flutter_downloader\intermediates\intermediate-jars\release\classes.jar] (filtered)

>Reading program jar [F:\dartSpace\flutter\jiddspace\nfc\build\shared_preferences\intermediates\intermediate-jars\release\classes.jar] (filtered)

>Reading program jar [F:\dartSpace\flutter\jiddspace\nfc\build\url_launcher\intermediates\intermediate-jars\release\classes.jar] (filtered)

>Reading program jar [F:\dartSpace\flutter\jiddspace\nfc\build\sqflite\intermediates\intermediate-jars\release\classes.jar] (filtered)

>Reading program jar [F:\dartSpace\flutter\jiddspace\nfc\build\connectivity\intermediates\intermediate-jars\release\classes.jar] (filtered)

>Reading program jar [F:\dartSpace\flutter\jiddspace\nfc\build\path_provider\intermediates\intermediate-jars\release\classes.jar] (filtered)

>Reading program jar [F:\dartSpace\flutter\jiddspace\nfc\build\package_info\intermediates\intermediate-jars\release\classes.jar] (filtered)

>Reading program directory [F:\dartSpace\flutter\jiddspace\nfc\build\app\intermediates\javac\release\compileReleaseJavaWithJavac\classes] (filtered)

>Reading program jar [F:\dartSpace\flutter\jiddspace\nfc\build\app\intermediates\transforms\mergeJavaRes\release\0.jar] (filtered)

>Reading library jar [C:\Users\Administrator\.gradle\caches\moles-2\files-2.1\androidx.annotation\annotation\1.0.0\\annotation-1.0.0.jar] (filtered)

>Reading library jar [E:\work_tool\sdk\android-sdk-windows\platforms\android-28\android.jar]

>Reading library jar [E:\work_tool\sdk\android-sdk-windows\build-tools\28.0.3\core-lambda-stubs.jar]

>Reading library jar [E:\work_tool\sdk\android-sdk-windows\platforms\android-28\optional\org.apache.http.legacy.jar]

>Reading library jar [E:\work_tool\sdk\android-sdk-windows\platforms\android-28\optional\android.test.mock.jar]

>Reading library jar [E:\work_tool\sdk\android-sdk-windows\platforms\android-28\optional\android.test.base.jar]

>Reading library jar [E:\work_tool\sdk\android-sdk-windows\platforms\android-28\optional\android.test.runner.jar]

>Initializing...

>Warning: io.flutter.embedding.android.FlutterView: can't find referenced method 'android.graphics.Insets getSystemGestureInsets()' in library class android.view.WindowInsets

>Warning: io.flutter.embedding.android.FlutterView: can't find referenced class android.graphics.Insets

>Warning: io.flutter.embedding.android.FlutterView: can't find referenced class android.graphics.Insets

>Warning: io.flutter.embedding.android.FlutterView: can't find referenced class android.graphics.Insets

>Warning: io.flutter.embedding.android.FlutterView: can't find referenced class android.graphics.Insets

>Warning: io.flutter.embedding.android.FlutterView: can't find referenced class android.graphics.Insets

>Warning: io.flutter.embedding.android.FlutterView: can't find referenced class android.graphics.Insets

>Warning: io.flutter.view.FlutterView: can't find referenced method 'android.graphics.Insets getSystemGestureInsets()' in library class android.view.WindowInsets

>Warning: io.flutter.view.FlutterView: can't find referenced class android.graphics.Insets

>Warning: io.flutter.view.FlutterView: can't find referenced class android.graphics.Insets

>Note: io.flutter.view.AccessibilityViewEmbedder$ReflectionAccessors: can't find dynamically referenced class android.util.LongArray

>Warning: io.flutter.view.FlutterView: can't find referenced class android.graphics.Insets

>Warning: io.flutter.view.FlutterView: can't find referenced class android.graphics.Insets

>Warning: io.flutter.view.FlutterView: can't find referenced class android.graphics.Insets

>Warning: io.flutter.view.FlutterView: can't find referenced class android.graphics.Insets

>Note: there were 1 unresolved dynamic references to classes or interfaces.

>      You should check if you need to specify additional program jars.

>      (http://proguard.sourceforge.net/manual/troubleshooting.html#dynamicalclass)

>Warning: Exception while processing task java.io.IOException: Please correct the above warnings first.

>Thread(Tasks limiter_1): destruction

>Warning: there were 12 unresolved references to classes or interfaces.

>        You may need to add missing library jars or update their versions.

>        If your code works fine without the missing classes, you can suppress

>        the warnings with '-dontwarn' options.

>        (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)

>Warning: there were 2 unresolved references to library class members.

>        You probably need to update the library versions.

>        (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedlibraryclassmember)

>

>FAILURE: Build failed with an exception.

>

>* What went wrong:

>Execution failed for task ':app:'.

>> Job failed, see logs for details

>

>* Try:

>Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

>

>* Get more help at https://help.gradle.org

>

>BUILD FAILED in 4m 23s

>Running Gradle task 'assembleRelease'...

>Running Gradle task 'assembleRelease'... Done                    264.4s (!)

>*******************************************************************************************

>The Gradle failure may have been because of AndroidX incompatibilities in this Flutter app.

>See https://goo.gl/CP92wY for more information on the problem and how to fix it.

>*******************************************************************************************

>Gradle task assembleRelease failed with exit code 1

2. luac文件怎麼進行反編譯

lua源文件--obfuscate-->lua源文件(混淆後)--compile-->luac文件(帶調試用的變數名和行號)--strip-->luac文件(不帶調試信息)

lua/luac--加密/打包-->數據文件


數據文件--解包/解密-->lua/luac-->lua虛擬機


1. 跟蹤,脫殼,解包,解密,獲得 luac


追 luaL_loadbuffer luaL_loadfile lua_load 應該可以找到 解密函數。

hook 這3個函數,導出解密後的數據,直接就是 luac 文件。如果沒編譯甚至是 lua源文件。


hook luaV_execute 可以拿到 Proto* ,想辦法用 luaU_mp 導出。luaD_precall 應該沒必要搞。


2. 非標准 luac 處理


我們有兩種方案來處理得到的 luac


1. 得到一個能夠執行上述非標 luac 的 lua 版本

搞清楚編譯方式,改 lua 源文件,編譯出一個,這樣做什麼都可以,還能編譯出對應的 luadec 。

如果能找到 lua51.dll 之類的就直接調用吧。但是,只能用於導出 luac 對比文件格式,或者執行找到的幾個關鍵函數。

2. 將非標 luac 轉換成標准格式 luac,正所謂:山不來就我,我便去就山

非標准 luac 是怎麼做的:


1. bad header 改文件頭

#define LUA_SIGNATURE "33Lua" // lua.h

2. bad header 改數據類型

// luaconf.h

#define LUA_NUMBER_DOUBLE

#define LUA_NUMBER double

LUA_NUMBER to float

LUA_NUMBER_SCAN to "%f"

LUA_NUMBER_FMT to "%.7g"

l_mathop(x) to (x##f)

lua_str2number to use strtof


3. bad code OpCode 重定義

// 改有 "ORDER OP" 的地方

/* grep "ORDER OP" if you change these enums */

enum OpCode; // lopcodes.h

const lu_byte luaP_opmodes[]; // lopcodes.c

const char *const luaP_opnames[]; // lopcodes.c


生成一個被破解程序可以執行的 luac 文件用於對比,分析格式

想辦法執行下面的代碼,編譯 allopcodes.lua 並導出, 與標准 lua 編譯相同源文件生成的進行對比。


1. 在 C 內導出

lua_State* L = luaL_newstate();

luaL_loadbuffer or luaL_loadstring or luaL_loadfile

Closure* c=(Closure*)lua_topointer(L, -1);

Proto* f = c->l.p;//Closure如果改了偏移會不同

luaU_mp(L, f, writer, D, 0);//非導出函數

lua_close(L);


2. 用 lua 導出到文件或者string

lua_State* L = luaL_newstate();

luaopen_string(L);

luaopen_io(L);

luaL_dostring or luaL_dofile

char* str = lua_tostring(L, -1);

lua_close(L);

-- luaopen_string 此庫必須打開

allopcodes() allopcodes.lua文件內容 end

chunk = string.mp(allopcodes)

if luaopen_io then --如果 io 可用,則可以直接寫文件

file:write(chunk)

else

output(chunk,to_any_where) --想辦法把 chunk 搞出來

return chunk

end

熱點內容
怎麼建sql資料庫 發布:2024-11-20 17:28:29 瀏覽:634
萬網ftp上傳工具 發布:2024-11-20 17:28:27 瀏覽:293
開關IC找美光存儲有名 發布:2024-11-20 17:27:03 瀏覽:232
編程正實數 發布:2024-11-20 17:22:12 瀏覽:242
電腦經常彈腳本錯誤 發布:2024-11-20 17:21:03 瀏覽:507
雲伺服器購買人怎麼查 發布:2024-11-20 17:09:36 瀏覽:399
目前安卓手機用什麼軟體 發布:2024-11-20 17:08:56 瀏覽:908
12個符號組成密碼多少個 發布:2024-11-20 17:08:56 瀏覽:296
災難資料庫 發布:2024-11-20 17:08:55 瀏覽:210
釣魚發燒友腳本機價格 發布:2024-11-20 16:59:41 瀏覽:123