It almost isaleks wrote: ↑Wed Mar 31, 2021 2:19 pmIf PIQ provided Bluetooth communication protocol with their sensor, theoretically I could write an app to download and review the jumps. No social or leaderbords functionality though.
Or, it would be even better if PIQ opened source of their app, so it could be modified to work with sensor directly without servers.
Nice! Can you send me the source code you got?surfbird wrote: ↑Wed Mar 31, 2021 9:20 pmIt almost isaleks wrote: ↑Wed Mar 31, 2021 2:19 pmIf PIQ provided Bluetooth communication protocol with their sensor, theoretically I could write an app to download and review the jumps. No social or leaderbords functionality though.
Or, it would be even better if PIQ opened source of their app, so it could be modified to work with sensor directly without servers.
I had a look at the apk, completly unencrypted, no obfuscation. Easy peasy.
public class KiteLeaderboardConnection extends LeaderboardConnection {
private static final String METHOD_GET_COMMUNITY_SEARCH = ("/api/v1/" + SPORT_TYPE + "/users/{uuid}/community/search");
private static final String METHOD_GET_KITE_NEWS_FEED_FRIENDS = ("/api/v1/" + SPORT_TYPE + "/users/{uuid}/newsfeed/friends");
private static final String METHOD_GET_KITE_NEWS_FEED_MY_SPOT = ("/api/v1/" + SPORT_TYPE + "/users/{uuid}/newsfeed/spots");
private static final String METHOD_GET_LEADERBOARD_DETAILS_FOR_USER = ("/api/v1/" + SPORT_TYPE + "/users/{uuid}/community/{cuuid}");
public static final int SEARCH_PAGE_PORTION = 20;
private static final String TAG = "KiteLeaderboardConnect";
public static KiteCommunityUserEntity getLeaderBoardUserDetails(Context context, @NonNull String str, @NonNull List<Pair<String, String>> list) {
Usealeks wrote: ↑Thu Apr 01, 2021 2:56 pmNice! Can you send me the source code you got?surfbird wrote: ↑Wed Mar 31, 2021 9:20 pmIt almost isaleks wrote: ↑Wed Mar 31, 2021 2:19 pmIf PIQ provided Bluetooth communication protocol with their sensor, theoretically I could write an app to download and review the jumps. No social or leaderbords functionality though.
Or, it would be even better if PIQ opened source of their app, so it could be modified to work with sensor directly without servers.
I had a look at the apk, completly unencrypted, no obfuscation. Easy peasy.
public class KiteLeaderboardConnection extends LeaderboardConnection {
private static final String METHOD_GET_COMMUNITY_SEARCH = ("/api/v1/" + SPORT_TYPE + "/users/{uuid}/community/search");
private static final String METHOD_GET_KITE_NEWS_FEED_FRIENDS = ("/api/v1/" + SPORT_TYPE + "/users/{uuid}/newsfeed/friends");
private static final String METHOD_GET_KITE_NEWS_FEED_MY_SPOT = ("/api/v1/" + SPORT_TYPE + "/users/{uuid}/newsfeed/spots");
private static final String METHOD_GET_LEADERBOARD_DETAILS_FOR_USER = ("/api/v1/" + SPORT_TYPE + "/users/{uuid}/community/{cuuid}");
public static final int SEARCH_PAGE_PORTION = 20;
private static final String TAG = "KiteLeaderboardConnect";
public static KiteCommunityUserEntity getLeaderBoardUserDetails(Context context, @NonNull String str, @NonNull List<Pair<String, String>> list) {
The standard approach when reversing is to mock the functions that do server calls, so the app start up as normal. Then recompile back to apk.
Just sold my PIQ, so that is it for me. To all PIQ owners - send a note to WOO support, they might give you a discount on a new WOOsurfbird wrote: ↑Fri Apr 02, 2021 10:00 pmThe standard approach when reversing is to mock the functions that do server calls, so the app start up as normal. Then recompile back to apk.
It's usually just a couple of lines that has to be changed, but you never know how much an app has to be changed.
That said, it's much easier done while the servers still are there. And sometimes it downloads codesnippets live, but it didn't look like that was the case here.
Reversing is fun! You should try it I can help you with different tools and techniques. I'm in the middle of a mind boggling reverse case right now, so I won't have time to do it.
I've uploaded it here:aleks wrote: ↑Thu Apr 01, 2021 2:56 pmNice! Can you send me the source code you got?surfbird wrote: ↑Wed Mar 31, 2021 9:20 pmIt almost isaleks wrote: ↑Wed Mar 31, 2021 2:19 pmIf PIQ provided Bluetooth communication protocol with their sensor, theoretically I could write an app to download and review the jumps. No social or leaderbords functionality though.
Or, it would be even better if PIQ opened source of their app, so it could be modified to work with sensor directly without servers.
I had a look at the apk, completly unencrypted, no obfuscation. Easy peasy.
public class KiteLeaderboardConnection extends LeaderboardConnection {
private static final String METHOD_GET_COMMUNITY_SEARCH = ("/api/v1/" + SPORT_TYPE + "/users/{uuid}/community/search");
private static final String METHOD_GET_KITE_NEWS_FEED_FRIENDS = ("/api/v1/" + SPORT_TYPE + "/users/{uuid}/newsfeed/friends");
private static final String METHOD_GET_KITE_NEWS_FEED_MY_SPOT = ("/api/v1/" + SPORT_TYPE + "/users/{uuid}/newsfeed/spots");
private static final String METHOD_GET_LEADERBOARD_DETAILS_FOR_USER = ("/api/v1/" + SPORT_TYPE + "/users/{uuid}/community/{cuuid}");
public static final int SEARCH_PAGE_PORTION = 20;
private static final String TAG = "KiteLeaderboardConnect";
public static KiteCommunityUserEntity getLeaderBoardUserDetails(Context context, @NonNull String str, @NonNull List<Pair<String, String>> list) {
Users browsing this forum: andrzej351, Baptiste_FR, Bing [Bot], dp19, Google [Bot], htsc, jsanzperez, Smeagle, Tony, Windwarrior, Yahoo [Bot] and 333 guests